Our World In Data (OWID) Global Indicators & Insights API avatar

Our World In Data (OWID) Global Indicators & Insights API

Pricing

$8.00 / 1,000 results

Go to Apify Store
Our World In Data (OWID) Global Indicators & Insights API

Our World In Data (OWID) Global Indicators & Insights API

Fast, stateless API proxy for Our World In Data. Access 30+ curated global topics, climate, economy, health time-series data, and insights in JSON/CSV.

Pricing

$8.00 / 1,000 results

Rating

0.0

(0)

Developer

RD.Galih Rakasiwi

RD.Galih Rakasiwi

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

2 days ago

Last modified

Share

High-performance, stateless REST API proxy for Our World In Data — query global indicators across demographics, climate, economy, public health, energy, and education as clean JSON or CSV. Ready for data scientists, academic researchers, journalists, and AI/LLM agents needing factual macro-environmental and socio-economic data.

Backed by the Pipeworx OWID MCP Gateway — no database, no caching, no persistence.

Why use OWID API?

  • 37 curated popular indicators across 10 categories — population, GDP, CO₂ emissions, life expectancy, and more
  • Time-series data for 200+ countries and regions with parameters for entity, year range, and format
  • JSON and CSV output — stream large datasets directly as CSV without memory pressure
  • Full Data Insights from OWID's feed — chart images, body text, CTA links, related chart references
  • No API key required — the upstream OWID data is public and open
  • Apify-native — deploy in one click, auto-scaling, with scheduling, API access, and webhook integrations
  • LLM & RAG ready — clean structured payloads for AI agent tools, function calling, and RAG pipelines

What data can OWID API provide?

CategoryExample indicatorsData points
ClimateCO₂ emissions, methane, temperature anomalies~60+ years
DemographicsPopulation, fertility rate, median ageCenturies
EconomyGDP per capita, inflation, government debt~60+ years
EnergyElectricity mix, fossil fuel consumption, renewables~60+ years
HealthLife expectancy, child mortality, COVID vaccinations~60+ years
EducationLiteracy rate, years of schoolingDecades
FoodCereal yields, fertilizer use, food supply~60+ years
EnvironmentForest area, biodiversity, protected areasDecades
PoliticsWomen in parliament, trust in governmentDecades
TechInternet users, mobile phonesDecades

Sample output

GET /api/v1/indicators/gdp-per-capita-worldbank/data?entity=Indonesia&since_year=2015

{
"data": [
{ "entity": "Indonesia", "year": 2015, "value": 10992.73 },
{ "entity": "Indonesia", "year": 2016, "value": 11382.53 },
{ "entity": "Indonesia", "year": 2017, "value": 11819.33 }
],
"pagination": { "cursor": null, "limit": 100, "has_more": false }
}

CSV output (?format=csv):

entity,year,value
Indonesia,2015,10992.73
Indonesia,2016,11382.53
Indonesia,2017,11819.33

How to use OWID API

1. Run the Actor

Click Start in Apify Console. The Actor starts a FastAPI server on the configured port.

2. Access the API

Once running, the API is available at the Actor's container URL:

https://<container-id>.runs.apify.net/api/v1/

3. Browse available indicators

# List all curated indicators
curl https://<container-id>.runs.apify.net/api/v1/indicators/popular
# Search for an indicator
curl "https://<container-id>.runs.apify.net/api/v1/indicators/search?q=gdp"
# Browse by topic
curl https://<container-id>.runs.apify.net/api/v1/topics

4. Fetch data

# Get indicator metadata and data
curl "https://<container-id>.runs.apify.net/api/v1/indicators/population?include_data=true"
# Filter by country and year range
curl "https://<container-id>.runs.apify.net/api/v1/indicators/co2-emissions/data?entity=World&since_year=2000&format=csv"
# Get data insights
curl "https://<container-id>.runs.apify.net/api/v1/insights?limit=5"

5. Explore with OpenAPI docs

Open /docs in your browser for interactive Swagger UI — try every endpoint without writing code.

How much does it cost to use OWID API?

The Actor runs as a lightweight web server. Compute unit consumption is proportional to how long the server stays running and how many requests it handles.

  • Minimal memory: 256 MB
  • Small footprint: single Python process, ~70 MB RAM idle
  • No storage costs: stateless proxy — zero disk, zero database
  • Rate limited upstream: the Pipeworx MCP Gateway allows ~50 requests/hour; budget your API calls accordingly

For long-running API access, schedule the Actor to run continuously. For ad-hoc queries, run on demand.

Input

The Actor starts a configurable HTTP API server. Full input schema is available in the Input tab in Apify Console.

FieldTypeDefaultDescription
apiPortinteger8000Port the API server listens on (1024–65535)
docsEnabledbooleantrueWhether to expose /docs (Swagger UI) and /redoc

Output

The Actor provides a live REST API at the container URL. Every response carries:

  • X-Request-ID — unique request identifier (UUIDv4)
  • X-Response-Time-Ms — server-side latency in milliseconds

The full API contract — all routes, parameters, response schemas, and error codes — is in docs/api-contract.md.

Output schema

The Actor's output is the API itself, accessible at:

https://<container-id>.runs.apify.net/
OutputDescription
APILive REST API at {{run.containerUrl}}

Interactive OpenAPI docs are at /docs and /redoc when docsEnabled is set to true.

API endpoints summary

EndpointDescription
GET /api/v1/healthHealth check — MCP gateway + search API probes
GET /api/v1/metaAPI metadata and timestamp
GET /api/v1/statsAvailable endpoints listing
GET /api/v1/topicsList 10 indicator categories
GET /api/v1/topics/{slug}Single category with indicator count
GET /api/v1/topics/{slug}/indicatorsIndicators under a category
GET /api/v1/indicators/popular37 curated popular indicators
GET /api/v1/indicators/search?q=Search OWID indicator catalog
GET /api/v1/indicators/{slug}Indicator metadata + optional time-series data
GET /api/v1/indicators/{slug}/dataTime-series data — JSON or CSV
GET /api/v1/indicators/{slug}/entitiesDistinct countries/regions for an indicator
GET /api/v1/indicators/{slug}/yearsYear range for an indicator
GET /api/v1/insightsData insights with charts, text, related links
GET /api/v1/insights/{slug}Single insight by URL slug
GET /api/v1/search?q=Global indicator search

Full contract with request/response schemas, field types, and examples: docs/api-contract.md.

Tips

  • Use include_data=false on /indicators/{slug} when you only need metadata — saves a second upstream MCP call
  • Prefer CSV for large datasets?format=csv streams directly without holding all rows in memory
  • Use entity filters — narrow /indicators/{slug}/data with ?entity=Indonesia to avoid fetching unnecessary rows
  • Rate-limit awareness — the upstream MCP gateway is capped at ~50 req/hour; plan your request volume accordingly
  • Watch X-Response-Time-Ms — MCP calls typically take 300–800ms; OWID search API ~90ms

FAQ

Do I need an API key?

No. The upstream OWID data is public. The Pipeworx MCP Gateway does not require authentication.

What's the difference between /indicators/search and /search?

/indicators/search returns Pydantic-validated schema objects with indicator_id, title, catalog_path, and score. /search mirrors the raw OWID search API response shape. Use either — same underlying data.

Why does the API return 502 sometimes?

502 means the upstream MCP gateway returned an error or the indicator slug wasn't found. This can also happen when the MCP rate limit (50 req/hour) is exceeded.

Can I use this API with LLM function calling?

Yes. The /stats endpoint lists all available routes, and /openapi.json provides a full OpenAPI 3.1 spec suitable for tool registration in frameworks like LangChain, CrewAI, or custom function-calling agents.

Where is the full API documentation?

See docs/api-contract.md for every endpoint, query parameter, response field, error code, and schema reference.

Source and acknowledgements

All data originates from Our World In Data — a scientific online publication making research and data on global problems accessible to everyone. Data is proxied via the Pipeworx OWID MCP Gateway.

This Actor does not scrape, cache, or store any OWID data. It is a stateless proxy — every request fetches fresh data from upstream.


Feedback? Open an issue in the Issues tab. For programmatic access, see the API tab.