worlddata APIworlddata.info ↗
Access country statistics from worlddata.info: population, economy, education, quality of life, life expectancy, languages, refugees, and more via 18 endpoints.
What is the worlddata API?
The worlddata.info API exposes 18 endpoints covering country-level statistics across population, economy, education, health, and demographics. You can pull ranked global lists — for example get_quality_of_life returns composite scores plus sub-scores for stability, rights, health, safety, climate, costs, and popularity — or drill into a single country using get_country_overview, which organises languages, religions, transport, land use, and political indicators into named sections.
curl -X GET 'https://api.parse.bot/scraper/e59330b6-d0ac-495e-a6cc-98d959184a75/get_population_growth_worldwide?period=2015-2024' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace worlddata-info-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""WorldData.info API — country statistics, demographics, economy, languages, religions.
Get your API key from: https://parse.bot/settings
"""
from parse_apis.worlddata_info_api import WorldData, CountryNotFound
client = WorldData()
# List languages by native speakers worldwide
for lang in client.languages.list(limit=5):
print(f"{lang.name}: {lang.worldwide_total} speakers in {lang.spoken}")
# Search the site for climate-related pages
result = client.searchresults.search(query="climate", limit=1).first()
if result:
print(f"Search hit: {result.title} — {result.url}")
# Construct a country and fetch its overview
germany = client.country(path="europe/germany")
overview = germany.overview()
print(f"Germany overview: {overview.country_path}, {len(overview.sections)} sections")
# Fetch economy for the same country
econ = germany.economy()
print(f"Germany economy: {econ.country_path}, {len(econ.data)} sections")
# Compare two countries side-by-side
comparison = client.countries.compare(country1="USA", country2="DEU")
print(f"Comparing {comparison.country1} vs {comparison.country2}: {len(comparison.data)} sections")
# Handle a non-existent country path
try:
bad = client.country(path="europe/nowhere")
bad.overview()
except CountryNotFound as exc:
print(f"Country not found: {exc.country_path}")
print("exercised: languages.list / searchresults.search / country.overview / country.economy / countries.compare / CountryNotFound")
Ranked list of countries by average annual population growth rate for a given period. Each record includes country name, average yearly growth percentage, and total growth over the period. Defaults to 2015-2024 when no period is specified.
| Param | Type | Description |
|---|---|---|
| period | string | Time period in 'YYYY-YYYY' format. |
{
"type": "object",
"fields": {
"data": "array of country growth records",
"period": "string, the requested period"
},
"sample": {
"data": {
"data": [
{
"Country/Region": "Equatorial Guinea",
"Ø Growth/year": "5.50%",
"Growth 2015-2024": "40.50%",
"Country/Region_url": "https://www.worlddata.info/africa/equatorial-guinea/populationgrowth.php"
}
],
"period": "2015-2024"
},
"status": "success"
}
}About the worlddata API
Country and Global Rankings
Several endpoints return worldwide ranked lists with no required parameters. get_population_density_worldwide returns each country's area, population, and inhabitants-per-km² density. get_life_expectancy_worldwide adds male and female life expectancy alongside birth and death rates. get_iq_by_country pairs average IQ scores with average income, education expenditure per inhabitant, and average daily maximum temperature. get_education_by_country ranks countries from elementary through doctoral attainment with an overall score. get_average_body_height covers average height, weight, and BMI by country.
Country-Specific Endpoints
Three endpoints accept a country_path parameter in continent/country format (e.g. europe/germany, asia/japan, america/usa). get_country_overview returns named sections covering economy, transport, land use, and political indicators. get_country_population_history gives year-by-year birth and death rates compared to world averages, and may include sub-national regional breakdowns. get_country_economy returns sections for top companies, imports, exports, and budget figures. The compare_countries endpoint accepts two ISO 3166-1 alpha-3 codes and returns a side-by-side breakdown across population, economy, infrastructure, healthcare, education, and climate.
Regional and Classification Data
get_countries_by_region accepts one of five region values (europe, asia, africa, america, oceania) and returns sub-region groupings with country listings and most-spoken languages. get_country_codes returns all standard identifiers for every country: ISO alpha-2, alpha-3, numeric, IOC, FIPS 10, license plate, and internet TLD. get_population_growth_worldwide accepts an optional period string in YYYY-YYYY format and defaults to 2015–2024, returning average annual growth rate and total growth over the period.
Language, Religion, and Refugee Data
get_languages_worldwide ranks languages by native speaker count and includes how many countries each is spoken in and used as an official language. get_religions_worldwide ranks religions by worldwide follower percentage with regional distribution. get_refugees_data returns top countries of origin and top destination countries with asylum application counts, split into named sections.
The worlddata API is a managed, monitored endpoint for worlddata.info — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when worlddata.info changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official worlddata.info API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a country comparison tool using
compare_countriesto display side-by-side stats on economy, healthcare, and education. - Populate a demographic dashboard with ranked population density, life expectancy, and birth/death rate data from global ranking endpoints.
- Track historical population trends for individual countries using
get_country_population_historywith year-by-year birth and death rate context. - Generate language diversity reports using
get_languages_worldwideto show native speaker counts and official language adoption. - Create a quality-of-life index explorer using
get_quality_of_lifesub-scores for stability, safety, costs, and climate. - Build a refugee origin-destination flow map using asylum application counts from
get_refugees_data. - Cross-reference country identifiers across ISO, IOC, FIPS, and TLD standards using
get_country_codesfor data normalisation pipelines.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does worlddata.info have an official developer API?+
What does `get_country_overview` actually return, and how granular is it?+
get_country_overview returns a sections object where each key is a named category — languages, religions, economy, transport, land use, political indicators — and each value is an array of row-level data. The granularity follows whatever sections worlddata.info organises for that country, so the exact set of sections can vary between countries.Can I retrieve time-series economic data like GDP or inflation by year for a country?+
get_country_economy returns structured sections for top companies, imports, exports, and budget data as point-in-time figures rather than annual time series. get_country_population_history does provide year-by-year data, but only for population metrics. You can fork this API on Parse and revise it to add a dedicated time-series economic endpoint if worlddata.info exposes that data on its country pages.Does `get_population_growth_worldwide` support arbitrary date ranges?+
period string in YYYY-YYYY format. When no period is specified it defaults to 2015–2024. The available periods depend on the data worlddata.info publishes, so very old or future ranges may return empty or partial results.Is climate or weather data available for individual countries?+
get_quality_of_life and as a section in compare_countries, but there is no dedicated endpoint returning climate statistics — temperature ranges, precipitation, or seasonal breakdowns — for individual countries. You can fork this API on Parse and revise it to add a country climate endpoint if that data is available on worlddata.info country pages.