Skip to content
Transparency

Data sources & methodology

A hybrid model: stable base + live statistics

Atlas combines two layers. Reference facts that rarely change are bundled for speed and reliability, while dynamic statistics are fetched live from authoritative, key-free public APIs. No API keys are ever exposed in the browser.

  • Country facts (bundled) — the open mledoze/countries dataset (MIT), the same source that powered the REST Countries API. Names, capitals, regions, coordinates, borders, languages, currencies, calling codes, TLDs and time zones.
  • Economy, health & development (live) — the World Bank Open Data API. GDP, GDP per capita, GDP growth, inflation, life expectancy, population growth, urban share, internet users and CO₂ per capita — each labelled with the exact year it applies to, with historical trend charts.
  • Exchange rates (live) — real-time rates from open.er-api.com, refreshed roughly daily.
  • Flag images — served from flagcdn.com, keyed by ISO 3166-1 alpha-2 code.
  • Maps — external links open OpenStreetMap at the country's coordinates.

How “live” actually works

Live figures are requested through the app's own server-side routes (/api/indicators/[code] and /api/fx), which fetch from the World Bank and exchange-rate APIs, cache the response, and batch many indicators into one request. If a source is slow or down, the page still renders every other section and shows a friendly notice instead of crashing.

What we never fake

We only display statistics an authoritative source actually returns. If a country is missing a value, we show “Data unavailable” — never a zero, an estimate, or a guess. Nothing on this site is fabricated.

Coverage & methodology notes

  • 250 countries and territories are included in the base dataset.
  • 250 have a bundled population figure; 240 have an area figure.
  • Population density is computed as population ÷ area, shown only when both exist.
  • “X times larger / more dense” insights are calculated live from the data, not hardcoded.
  • Local time is derived from each country's primary UTC offset and updates every second in your browser.