BYTETOOLS

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.

No API key requiredCORS enabledHTTPSFree tier

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
curl 'https://api.db.nomics.world/v22/series/IMF/WEO:2024-10/USA.NGDPDPC?observations=1'
JavaScript (fetch)
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);
Python (requests)
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())
Response — HTTP 200 (truncated)
{
  "_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 Emirat

Parameters

ParameterTypeRequiredDescription
series/{provider}/{dataset}/{series}pathRequiredFull series address. The dataset segment may carry a `:version` suffix to pin a vintage. IMF/WEO:2024-10/USA.NGDPDPC
observationsqueryOptionalSet to `1` to include the actual data points. Without it you receive metadata only. 1
limit / offsetqueryOptionalPaging when a request matches many series. 100
qqueryOptionalFree-text search across the catalogue on the search endpoints. unemployment
formatqueryOptional`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

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.