Docs/Skills/Population Data Skill

Population Data Skill

Global population statistics by country

OperationalCredits 2 per callp50 180msFinance

Overview

A collector pulls five World Bank indicators daily: total population (SP.POP.TOTL), annual growth (SP.POP.GROW), urban population share (SP.URB.TOTL.IN.ZS), population density (EN.POP.DNST) and life expectancy at birth (SP.DYN.LE00.IN). It stores one record per country per year from 1960 and keeps the newest year as the latest record.

`country` accepts ISO 3166 alpha-2 or alpha-3 codes; two-letter codes are mapped to three-letter ones before lookup, and Kosovo is handled as XK. Without `year` you get the newest stored year. `year` (paid) must be between 1960 and the current year, otherwise the request is rejected with a 400, and a year with no record returns a 404.

The response always wraps the figures in a `historical` array with one entry, and `count` is 1. `population` is the raw count and `populationFormatted` its readable form. `growthRate` is the year-on-year change in percent and can be negative. `density` is people per square kilometre of land and `urbanPercent` is the urban share in percent, both rounded to two decimals. Indicators publish on different schedules, so the newest year often has a population count before density or life expectancy are released; those fields are null until the World Bank fills them, and a reported zero is kept as zero rather than treated as missing.

`worldRank` ranks the country by `population` among the countries and territories that report a population that year (about 217); World Bank regional, income and lending aggregates are excluded. Ranking is per year, so a historical lookup returns the rank for that year. Ties share a rank and the next rank is skipped. `rankedCountries` is the number ranked, and `worldPercent` is the population divided by the World Bank world total (`WLD`) for the year, as a percentage to four decimals; the world total also counts Taiwan, which the World Bank does not list separately, so the shares of all ranked countries add up to slightly under 100. All three are null when the year has no ranking or the code is not a ranked country.

Live Test Population Data Skill Skill →

The tool

Once your client is connected to the VerveKit server, this appears in its tool list as PopulationDataSkill. It is read-only and open-world — it fetches and never mutates anything on your side — so most clients call it without asking you to confirm.

Tool call
{
  "name": "PopulationDataSkill",
  "arguments": {
    "country": "US"
  }
}

You do not name the tool yourself; the model picks it. Asking about US in the terms this skill covers is enough for it to reach for PopulationDataSkill on its own — naming it explicitly also works, and is the way to force the call.

Connecting

One server URL covers every skill in the catalog, including this one. Authorization is OAuth: the client opens a browser once, and there is no key to paste into a config file.

{
  "mcpServers": {
    "vervekit": {
      "url": "https://api.vervekit.com/v1/mcp"
    }
  }
}

Per-client setup — Claude, Cursor, VS Code, ChatGPT — is on the MCP setup page.

Arguments

These are the properties on the tool's inputSchema, so a well-behaved client validates them before the call is made. Premium arguments are accepted on every plan but only take effect on plans that include them.

ArgumentTypeDescription
countryRequiredstringISO 2 or 3-letter country code (e.g., US, USA, GB, GBR)
length 2–3
yearOptionalPremiumintegerSpecific year to retrieve data for (1960-present). Returns latest if not specified.
range 1960–2030

What the model gets back

The result carries a structuredContent object matching the tool's declared outputSchema, so a client reads fields without parsing prose. status is "ok" and error is null on success; a null field means the value was not available for that input, not that the call failed.

Result
{
  "status": "ok",
  "error": null,
  "data": {
    "country": "US",
    "countryName": "United States",
    "year": 2025,
    "count": 1,
    "historical": [
      {
        "year": 2025,
        "population": 341784857,
        "populationFormatted": "341.78 million",
        "growthRate": 0.52,
        "urbanPercent": 80.19
      }
    ]
  }
}

Response fields

Paths are relative to data. Premium fields are absent rather than zeroed on plans that do not include them, so check for presence instead of comparing to 0.

FieldTypeExampleDescription
countrystringUSISO 2-letter country code for the country
countryNamestringUnited StatesFull name of the country in English
yearnumber2025Year of the population data retrieved
countnumber1Number of historical records returned
historicalarray[1]Population figures for the requested year (one entry)
historical.0.yearnumber2025Year the figures in this entry describe
historical.0.populationPremiumnumber341784857Total population count for the country
historical.0.populationFormattedPremiumstring341.78 millionPopulation count in human-readable format
historical.0.growthRatePremiumnumber0.52Annual population growth rate as percentage
historical.0.urbanPercentPremiumnumber80.19Percentage of population living in urban areas

Failure modes

Errors come back as tool errors carrying a sentence the model can act on, not a bare status code. Error handling covers the full list.

StatusWhat it means
400 / 422The arguments did not validate. The message names the offending one.
401The OAuth session is invalid or expired — reconnect the server.
403Blocked by a key restriction or an IP allow-list. Never a bad identity.
404This skill is not part of VerveKit. Check the catalog.
429Out of credits, or a brief rate limit. The message tells them apart.

A call costs 2 credits each time the tool actually runs; a model that reasons about the tool without calling it costs nothing.

Use cases

Market Expansion Sizing
When evaluating entry into emerging markets, retail planners pull total population and urban percentage to gauge addressable customer density.
Demographic Trend Modeling
Academic research tools query historical growth rates and life expectancy across decades to model regional aging patterns.
Broadband Network Planning
Telecom planners cross-reference population density and urban shares to prioritize where to deploy new broadband fiber networks.
Sovereign ESG Scoring
To assess national health and development indicators, sovereign ESG platforms fetch country life expectancy and population growth figures.

Other ways to use Population Data Skill

Set up Population Data Skill on VerveKit, or reach the same source a different way. Your VerveKit account and credits work on all of them — one key, one balance.

Call it as a REST APIOne HTTPS endpoint and an x-api-key header, with SDKs for Node, Python and .NET.APIVerve →Reference →
Google Sheets or ExcelA =VERVE() formula fills a column — no script, no export, recalculates in place.VerveSheets →Reference →
Ground an agent on itA cited, machine-checkable fact your model can't produce on its own.VerveContext →Reference →

More in Finance:

Was this page helpful?