Current status
100.0% operational in known checks
Checked Jun 16, 7:00 PM
Access
open
Collection level
L1
Confidence
medium
Recommended next action
Use liveness and documentation as guidance; review this source before building a data pipeline.
Exportable data
public_api
Docker fit
docker_ok
Estimated size
large
Download location
https://sdmx.oecd.org/public/rest/dataflowCost
Free
Access type
open
Signup required
No
Update alerts
Not offered
Coverage
global
Update frequency
monthly
Source Documentation
What You're Getting
OECD.Stat covers 40+ member countries across economics, education, health, agriculture, environment, and trade — 900+ datasets. Key datasets: MEI (Main Economic Indicators), National Accounts, Health Statistics, PISA education data. Data follows SDMX conventions with dataset codes (e.g. QNA for quarterly national accounts). The new OECD Data Explorer API (launched 2024) uses SDMX 2.1.
Ingestion Strategy
Use the OECD Data Explorer SDMX 2.1 REST API (replacing legacy OECD.Stat API). No auth required. Filter by country and time to limit response size. For bulk loads, request CSV format — it's more predictable than JSON for large datasets.
import requests
# OECD quarterly GDP for US and Germany
url = "https://sdmx.oecd.org/public/rest/data/OECD.SDD.NAD,DSD_NAMAIN10@DF_TABLE1_EXPENDITURE_HCPC,1.0/Q.USA+DEU.B1GQ.V.........."
params = {"startPeriod": "2015-Q1", "format": "csvfilewithlabels"}
r = requests.get(url, params=params)
# parse CSV response
Rate Limits & API Details
- No authentication; soft limit — add 1s delay between requests for bulk jobs
- SDMX 2.1 base:
sdmx.oecd.org/public/rest - Dataflow list:
/dataflow/OECD.SDD.NAD/all/latest - Legacy OECD.Stat API (
stats.oecd.org/sdmx-json) still works but is being phased out
Schema Stability
Dataset codes change between major OECD catalog revisions. The 2024 migration to the new API introduced new dataflow codes — update your series registry if you were using the old API. Country codes follow ISO 3166 for members. Time coverage varies significantly by dataset.
Data Quality Gotchas
- OECD vs non-OECD: some datasets include partner/observer countries with lower data quality
- Methodology breaks: OECD harmonizes national data but underlying national methodology changes propagate as breaks
- Estimation flags: flagged values (estimates, provisional) embedded in the data — check the
OBS_STATUSattribute - Education data (PISA): triennial, not annual — don't expect annual updates
Tool Compatibility
- Python:
pandasdmxhandles SDMX responses;oecdPyPI package wraps the legacy API - R:
OECDCRAN package (being updated for new API) - dbt: load from CSV/warehouse, apply standard SQL transformations
- Bulk CSV download works for Snowflake COPY
Benchmarking Approach
Quarterly National Accounts: expect ~40 countries × 40+ years × 4 quarters = 6,400+ rows per indicator. Spot-check US GDP growth rate against BEA figures — should match within rounding. Alert if OECD release lags 90+ days past expected date (they publish a release calendar). Track OBS_STATUS flag rate — alert if it exceeds 15% for a country.
Data Formats
API Quickstart
— Python — fetch unemployment ratesimport requests
url = "https://sdmx.oecd.org/public/rest/data/OECD.SDD.TPS,DSD_LFS@DF_IALFS_UNE_M,1.0/USA.UNE_LF._T._T.._Z.M"
params = {"format": "jsondata", "lastNObservations": 6}
headers = {"Accept": "application/json"}
r = requests.get(url, params=params, headers=headers)
data = r.json()
print(data["data"]["dataSets"][0]["series"]) How to Access
- 🌐 end user
- ⚡ automation ready programmable
Notable Datasets
4 total- ▸ OECD Geographical Definitions
- ▸ OECD Definition of Cities and Functional Urban Areas
- ▸ OECD employment and labor force participation rates stable at record highs in the third quarter of 2024
- ▸ 100+ Data Sets
Index entry
Added: Apr 30, 2026
Last indexed: Jun 16, 2026
Unverified entry