DBnomics API
Free DBnomics API with no key: IMF, World Bank, Eurostat, OECD, BIS and national statistics series through one interface and one series-code syntax. Tested example.
Endpoint tested and returned HTTP 200 on 2026-08-21
What is the DBnomics API?
DBnomics aggregates economic time series from more than ninety providers and serves them through a single free JSON API with no key. Any series is addressed as provider, dataset and series code, whatever its original source.
The problem DBnomics solves is integration overhead. The IMF, OECD, Eurostat, BIS, national statistics offices and central banks each publish through a different API with different auth, formats and quirks; DBnomics harvests them all and re-exposes them under one URL shape. Switching from an IMF series to a Bundesbank series becomes a string change instead of a new integration.
The address is `provider/dataset/series`, where the dataset code can itself carry a version — `IMF/WEO:2024-10/USA.NGDPDPC` pins the October 2024 vintage of the World Economic Outlook rather than tracking whatever is current. That pinning is genuinely useful for reproducible analysis, because macro forecasts get revised and a chart built on 'the latest WEO' silently changes underneath you. Requests also accept `observations=1`; omit it and you get metadata only.
Quick facts
- Base URL
https://api.db.nomics.world/v22- Authentication
- No key or registration. DBnomics is run as a public service by France Stratégie and CEPREMAP.
- Rate limit
- No published limit. Be reasonable — this is a publicly funded service.
- Pricing
- Free.
- CORS
- Enabled — callable directly from browser JavaScript
- Official docs
- Read the docs
How to use the DBnomics API
Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.
1. IMF WEO US GDP per capita, October 2024 vintage
GET https://api.db.nomics.world/v22/series/IMF/WEO:2024-10/USA.NGDPDPC?observations=1
curl 'https://api.db.nomics.world/v22/series/IMF/WEO:2024-10/USA.NGDPDPC?observations=1'const res = await fetch("https://api.db.nomics.world/v22/series/IMF/WEO:2024-10/USA.NGDPDPC?observations=1");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://api.db.nomics.world/v22/series/IMF/WEO:2024-10/USA.NGDPDPC?observations=1", timeout=20)
res.raise_for_status()
print(res.json()){
"_meta": {
"args": {
"align_periods": false,
"dataset_code": "WEO:2024-10",
"dimensions": {},
"facets": false,
"format": "json",
"limit": 1000,
"metadata": true,
"observations": true,
"offset": 0,
"provider_code": "IMF",
"q": "",
"series_code": "USA.NGDPDPC"
},
"version": "22.1.17"
},
"dataset": {
"code": "WEO:2024-10",
"dimensions_codes_order": [
"weo-country",
"weo-subject",
"unit"
],
"dimensions_labels": {
"unit": "Unit",
"weo-country": "WEO Country",
"weo-subject": "WEO Subject"
},
"dimensions_values_labels": {
"unit": {
"idx": "Index",
"national_currency": "National currency",
"national_currency_per_current_international_dollar": "National currency per current international dollar",
"pcent": "Percent",
"pcent_change": "Percent change",
"pcent_gdp": "Percent of GDP",
"pcent_potential_gdp": "Percent of potential GDP",
"pcent_total_labor_force": "Percent of total labor force",
"persons": "Persons",
"purchasing_power_parity_2017_international_dollar": "Purchasing power parity; 2017 international dollar",
"purchasing_power_parity_international_dollars": "Purchasing power parity; international dollars",
"us_dollars": "U.S. dollars"
},
"weo-country": {
"ABW": "Aruba",
"AFG": "Afghanistan",
"AGO": "Angola",
"ALB": "Albania",
"AND": "Andorra",
"ARE": "United Arab EmiratParameters
| Parameter | Type | Required | Description |
|---|---|---|---|
series/{provider}/{dataset}/{series} | path | Required | Full series address. The dataset segment may carry a `:version` suffix to pin a vintage. IMF/WEO:2024-10/USA.NGDPDPC |
observations | query | Optional | Set to `1` to include the actual data points. Without it you receive metadata only. 1 |
limit / offset | query | Optional | Paging when a request matches many series. 100 |
q | query | Optional | Free-text search across the catalogue on the search endpoints. unemployment |
format | query | Optional | `json` or `csv`. json |
Response fields
_meta.argsobject- Echo of every argument the API resolved, including defaults you did not send.
_meta.versionstring- DBnomics API version serving the response.
dataset.code / namestring- Identifier and title of the dataset, including the pinned vintage if you used one.
dataset.dimensions_codes_orderarray- Order of the dimensions that make up a series code in this dataset.
dataset.dimensions_values_labelsobject- Human-readable label for every dimension code — the key to understanding a cryptic series id.
series.docs[].periodarray- Observation periods, as strings in the provider's own format.
series.docs[].valuearray- Observations, positionally aligned with `period`. Nulls mark gaps.
What you can build with the DBnomics API
- Pull IMF, OECD and Eurostat series through one interface instead of three
- Pin a forecast vintage so an analysis stays reproducible
- Search across ninety providers for a series by keyword
- Prototype against a provider's data before integrating its native API
Common errors and how to fix them
No observations in the response
`observations=1` was omitted.
Fix: Without it the API returns metadata only. This is the single most common surprise with DBnomics.
404
The provider, dataset or series code does not exist.
Fix: All three segments are case-sensitive. Use the search endpoint to confirm an address before hard-coding it.
Nulls in the value array
The provider has gaps in the series.
Fix: `value` and `period` are positionally aligned, so a null is a genuine missing observation. Do not compact one array without the other.
DBnomics API — frequently asked questions
Is DBnomics free to use?
Yes. It requires no key or registration and is operated as a public service by France Stratégie and CEPREMAP, aggregating series from more than ninety providers.
Why does my request return no data?
Because `observations=1` is not the default. Without it, DBnomics returns dataset and series metadata only — the data points are opt-in.
What does the colon in a dataset code mean?
It pins a vintage. `WEO:2024-10` is the October 2024 World Economic Outlook specifically, rather than whatever release is current, which keeps an analysis reproducible when forecasts are revised.
Is the data identical to the original provider's?
DBnomics harvests and republishes without altering values, but there is a harvest lag and the provider remains authoritative. For a compliance or citation use, take the number from the source.
Tools that pair with this API
JSON Formatter
Format, beautify and minify JSON online with 2-space, 4-space or tab indentation. Sort keys alphabetically and catch syntax errors instantly — free and private.
CSV to JSON Converter
Convert CSV to a JSON array of objects online. Header-row detection, comma/semicolon/tab delimiters and pretty-printed output — 100% in your browser.
Percentage Change Calculator
Work out the percentage increase or decrease between an old and a new value. See the absolute change and whether it went up or down, instantly and privately.
DBnomics is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.