Checking status…
Catalog / Our World in Data
owid

Our World in Data

Open · redistributedCreative Commons Attribution 4.0 (CC BY 4.0)climateenergymacro

FULL-COVERAGE grouped ingest of the ENTIRE Our World in Data grapher catalog. Source: Our World in Data (CC BY 4.0). license_id = cc-by-4.0. ENUMERATION ----------- OWID has no JSON "list every chart" endpoint, but it publishes a sitemap that lists every public page including every grapher chart:…

Redistributable. This source is served as canonical Parquet under the license below, with attribution and provenance preserved.

Important notes

Coverage

Series catalogued
64
Temporal coverage
1750-12-31 – 2024-12-31
Frequencies
Annual
Distinct geographies
8
Categories
climate, energy, macro
Measured observations
72,492,801

Licensing & provenance

License
Creative Commons Attribution 4.0 (CC BY 4.0)
License URL
https://creativecommons.org/licenses/by/4.0/
Required attribution
Source: Our World in Data (CC BY 4.0)
Redistribution
Permitted (served here)
Commercial use
Yes
Modification
Permitted

How to cite

Our World in Data. Retrieved from https://ourworldindata.org. Compiled and redistributed by the Elkassabgi Data Library.

Processing: Retrieved from the official source, normalized to a long {series_key, obs_date, value} schema (period-start dates), de-duplicated, and stored as zstd Parquet. Compiled and redistributed by the Elkassabgi Data Library.

Access & mirrors

Download
Select & download owid series as CSV →
API
Get a free API key, then GET /v1/series/<id>.csv
Canonical landing
https://econdatalibrary.com/owid.html
Update cadence
monthly
Update strategy
bulk snapshot if changed
Storage layout
one parquet per chart slug: data/clean_full/owid/<slug>.parquet (~3,786 files) with columns series_key/obs_date/value, series_key='<slug>|<value_col>|<code-or-entity>'. Plus _ingest_summary.json. Raw cache: data/raw/owid/owid_slugs.txt + owid_sitemap.xml.

Full description

FULL-COVERAGE grouped ingest of the ENTIRE Our World in Data grapher catalog. Source: Our World in Data (CC BY 4.0). license_id = cc-by-4.0. ENUMERATION ----------- OWID has no JSON "list every chart" endpoint, but it publishes a sitemap that lists every public page including every grapher chart: https://ourworldindata.org/sitemap.xml We extract every `https://ourworldindata.org/grapher/<slug>` URL from it -> the full set of chart slugs (4,510 as of 2026-06). This is OWID's own authoritative manifest of public charts. PULL ---- For each slug the full long-format data is one CSV: https://ourworldindata.org/grapher/<slug>.csv?csvType=full&useColumnShortNames=true CSV schema is tidy: entity, code, <time>, <one-or-more value columns> * <time> is `year` (annual, the vast majority) OR `date` (YYYY-MM-DD daily). * helper columns we never treat as data: owid_region, owid_* (region tags). * `code` is ISO-alpha3 for countries, an OWID code for aggregates (OWID_WRL, OWID_EU27, ...). Some rows have an empty code (e.g. "World" sub-aggregates); we then fall back to the `entity` label for the key. LICENSE / CARVE-OUT (sources.yaml owid carve_out) ------------------------------------------------- "Host OWID's own work. For upstream third-party series, exclude where the license is not reservable." OWID enforces this at the source: a chart built on non-redistributable third-party data returns HTTP 403 with body {"status":403,"error":"This chart contains non-redistributable data ..."}. We DETECT that, EXCLUDE the chart, and count it under `non_redistributable`. Everything OWID lets us download is CC BY 4.0 and reservable. GROUPED STORAGE (anti-bloat) ---------------------------- ONE Parquet per chart slug -> data/clean_full/owid/<slug>.parquet with columns series_key (string), obs_date (date32), value (float64) where series_key = "<slug>|<value_col>|<code-or-entity>". All entities and all value columns of a chart live inside that ONE file. Max ~4,510 files for the whole source (one per chart) -- NOT one-file-per-series. A per-source JSON summary (data/clean_full/owid/_ingest_summary.json) records coverage. catalog.db is NOT touched here. Usage: python jobs/ingest_owid.py --enumerate # rebuild slug list from sitemap, print count python jobs/ingest_owid.py --dry 20 # download+parse 20 charts, no writes python jobs/ingest_owid.py # FULL run (all slugs), resumable python jobs/ingest_owid.py --workers 6 # tune concurrency (default 6) python jobs/ingest_owid.py --limit 200 # only first N slugs (testing)

Structured metadata

schema.org/Dataset (Google Dataset Search)
{
  "@context": "https://schema.org/",
  "@type": "Dataset",
  "name": "Our World in Data",
  "description": "FULL-COVERAGE grouped ingest of the ENTIRE Our World in Data grapher catalog. Source: Our World in Data (CC BY 4.0). license_id = cc-by-4.0. ENUMERATION ----------- OWID has no JSON \"list every chart\" endpoint, but it publishes a sitemap that lists every public page including every grapher chart:…",
  "url": "https://econdatalibrary.com/owid.html",
  "identifier": "owid",
  "isAccessibleForFree": true,
  "publisher": {
    "@type": "Organization",
    "name": "Econ Data Library",
    "url": "https://econdatalibrary.com"
  },
  "creator": {
    "@type": "Organization",
    "name": "Our World in Data"
  },
  "license": "https://creativecommons.org/licenses/by/4.0/",
  "keywords": [
    "climate",
    "energy",
    "macro",
    "owid"
  ],
  "temporalCoverage": "1750-12-31/2024-12-31",
  "repeatFrequency": "P1Y",
  "creditText": "Source: Our World in Data (CC BY 4.0)",
  "citation": "Our World in Data. Retrieved from https://ourworldindata.org. Compiled and redistributed by the Elkassabgi Data Library.",
  "sameAs": [
    "https://huggingface.co/datasets/econdatalibrary-owid",
    "https://zenodo.org/communities/econdatalibrary"
  ],
  "distribution": [
    {
      "@type": "DataDownload",
      "encodingFormat": "text/csv",
      "contentUrl": "https://econdatalibrary.com/download.html?source=owid",
      "license": "https://creativecommons.org/licenses/by/4.0/"
    }
  ]
}
Croissant (ML-ready, schema.org JSON-LD)
{
  "@context": {
    "@language": "en",
    "@vocab": "https://schema.org/",
    "cr": "http://mlcommons.org/croissant/",
    "data": {
      "@id": "cr:data",
      "@type": "@json"
    },
    "dataType": {
      "@id": "cr:dataType",
      "@type": "@vocab"
    },
    "sc": "https://schema.org/",
    "conformsTo": "dct:conformsTo",
    "dct": "http://purl.org/dc/terms/"
  },
  "@type": "sc:Dataset",
  "conformsTo": "http://mlcommons.org/croissant/1.0",
  "name": "owid",
  "description": "FULL-COVERAGE grouped ingest of the ENTIRE Our World in Data grapher catalog. Source: Our World in Data (CC BY 4.0). license_id = cc-by-4.0. ENUMERATION ----------- OWID has no JSON \"list every chart\" endpoint, but it publishes a sitemap that lists every public page including every grapher chart:…",
  "url": "https://econdatalibrary.com/owid.html",
  "creator": {
    "@type": "sc:Organization",
    "name": "Our World in Data"
  },
  "publisher": {
    "@type": "sc:Organization",
    "name": "Econ Data Library",
    "url": "https://econdatalibrary.com"
  },
  "license": "https://creativecommons.org/licenses/by/4.0/",
  "keywords": [
    "climate",
    "energy",
    "macro"
  ],
  "temporalCoverage": "1750-12-31/2024-12-31",
  "citation": "Our World in Data. Retrieved from https://ourworldindata.org. Compiled and redistributed by the Elkassabgi Data Library.",
  "distribution": [
    {
      "@type": "cr:FileObject",
      "@id": "owid-csv",
      "name": "owid-csv",
      "description": "Per-series CSV, downloadable with a free API key.",
      "contentUrl": "https://econdatalibrary.com/download.html?source=owid",
      "encodingFormat": "text/csv"
    }
  ]
}
Part of the Econ Data Library catalog · metadata generated 2026-07-14 from the central registry · browse all datasets
ElkassabgiData

One account. Every library.

HF Data Library  ·  Econ Data Library  · more to come