Research

Top N countries by GDP per capita or population for a year

Ranks Maddison Project Database countries by a variable in descending order for one year. Answers questions like which 10 countries had the highest GDP per capita in 1913? without requiring the caller to pull the full panel and sort locally. Variable must be one of gdppc (GDP per capita in 2011 international dollars, PPP) or pop (population in thousands). Published under CC BY 4.0 by Bolt and van Zanden at the University of Groningen.

get/api/v1/research/maddison/top

Query parameters

variablestring

Variable to rank by. Accepted: gdppc or pop.

Variable to rank by. Accepted: gdppc or pop.

yearinteger required

Year to rank by. Must be within the workbook range (1 AD through 2022).

Year to rank by. Must be within the workbook range (1 AD through 2022).

limitinteger

Maximum rows to return (1 to 50). Defaults to 10.

Maximum rows to return (1 to 50). Defaults to 10.

Response

Descending ranking of countries with their iso3, country, region, and variable value.

Example response

{
  "data": {
    "variable": "gdppc",
    "unit": "2011 international dollars (PPP)",
    "year": 2022,
    "limit": 10,
    "ranking": [
      {
        "rank": 1,
        "iso3": "USA",
        "country": "United States",
        "region": "Western Offshoots",
        "region_slug": "western-offshoots",
        "value": 61120.25
      }
    ],
    "count": 10
  },
  "meta": {
    "endpoint": "/api/v1/fred/us/cpi",
    "data_time": "2026-04-16T14:30:00Z",
    "response_time": "2026-04-16T14:30:12Z",
    "provider": "Sugra API v1.0.1",
    "data_age_days": 8.532,
    "source": "sugra_crypto",
    "attribution": "Short interest and Reg SHO daily short volume data is owned by and sourced from FINRA (Financial Industry Regulatory Authority).",
    "fallback_chain": [
      "sugra_crypto",
      "sugra_finance"
    ],
    "period": "2026-Q1",
    "notes": "the UKMTO report behind these counts is dated 2026-08-21 and is 11 days old"
  }
}

Changes

Changed in 2 of the 22 revisions of this API.15

    • added the optional property meta/data_age_days to the response with the 200 status

      response-optional-property-added

    • added the optional property meta/notes to the response with the 200 status

      response-optional-property-added

    • added the optional property meta/period to the response with the 200 status

      response-optional-property-added

    • added the optional property code to the response with the 401 status

      response-optional-property-added

    • added the optional property code to the response with the 429 status

      response-optional-property-added

    • added the optional property code to the response with the 503 status

      response-optional-property-added

    • added the optional property hint to the response with the 401 status

      response-optional-property-added

    • added the optional property hint to the response with the 429 status

      response-optional-property-added

    • added the optional property hint to the response with the 503 status

      response-optional-property-added

    • added the optional property plan to the response with the 401 status

      response-optional-property-added

    • added the optional property plan to the response with the 429 status

      response-optional-property-added

    • added the optional property plan to the response with the 503 status

      response-optional-property-added

    • added the optional property reason to the response with the 401 status

      response-optional-property-added

    • added the optional property reason to the response with the 429 status

      response-optional-property-added

    • added the optional property reason to the response with the 503 status

      response-optional-property-added