---
type: "firecrawl-provider"
description: "OECD Data Explorer SDMX 2.1 REST API (sdmx.oecd.org/public/rest): any public OECD dataflow by country and period, including G20 international merchandise trade and balance-of-payments services trade (quarterly), Revenue Statistics (tax revenue by type, % of GDP), Social Expenditure (SOCX) and quarterly/annual sector accounts, plus financial market indicators. Dataflow catalogue, structures (dimensions and codes with data), codelists and observations as records. Select observations with `filters` (dimension id to code(s), e.g. REF_AREA USA) and start_period/end_period; the program places the codes in key order. Anonymous, no key."
use_when: "OECD Data Explorer SDMX 2.1 REST API (sdmx.oecd.org/public/rest): any public OECD dataflow by country and period, including G20 international merchandise trade and balance-of-payments services trade (quarterly), Revenue Statistics (tax revenue by type, % of GDP), Social Expenditure (SOCX) and quarterly/annual sector accounts, plus financial market indicators. Dataflow catalogue, structures (dimensions and codes with data), codelists and observations as records. Select observations with `filters` (dimension id to code(s), e.g. REF_AREA USA) and start_period/end_period; the program places the codes in key order. Anonymous, no key."
categories: "Public records"
capabilities: 6
credits_per_call: 5
---
# OECD Data Explorer SDMX API on Firecrawl Alexandria

OECD Data Explorer SDMX 2.1 REST API (sdmx.oecd.org/public/rest): any public OECD dataflow by country and period, including G20 international merchandise trade and balance-of-payments services trade (quarterly), Revenue Statistics (tax revenue by type, % of GDP), Social Expenditure (SOCX) and quarterly/annual sector accounts, plus financial market indicators. Dataflow catalogue, structures (dimensions and codes with data), codelists and observations as records. Select observations with `filters` (dimension id to code(s), e.g. REF_AREA USA) and start_period/end_period; the program places the codes in key order. Anonymous, no key.

- Categories: Public records
- Category index: [Public records category](https://firecrawl.dev/alexandria/agents/categories/public-records)
- Provider key: `sdmx-oecd-org`
- Access: Firecrawl credits
- Cost: 5 credits per call

## More

- [Human guide](https://firecrawl.dev/app/alexandria/sdmx-oecd-org)
- [OpenAPI spec](https://firecrawl.dev/alexandria/agents/providers/sdmx-oecd-org/openapi.json)

## Capabilities

- [Codelist get](https://firecrawl.dev/alexandria/agents/providers/sdmx-oecd-org/datasets/codelist_get): Codes and labels of one SDMX codelist from GET codelist/{agency}/{id}/{version}: code, English name and parent code. Codelist references come from `structure_get` (dimensions[].codelist, attributes[].codelist). Paginated client-side.
- [Dataflows list](https://firecrawl.dev/alexandria/agents/providers/sdmx-oecd-org/datasets/dataflows_list): Find OECD dataflows by keyword: id, agency, version, name and the `dataflow_ref` every other function takes, from GET dataflow/{agency}/all/latest?detail=allstubs (about 1,500 public dataflows with `agency` = all). `q` filters by a case-insensitive substring of the name or id (e.g. `revenue statistics`, `social expenditure`, `sector accounts`, `merchandise trade`). Common dataflows: G20/OECD merchandise trade OECD.SDD.TPS:DSD_IMTS@DF_IMTS (REF_AREA incl. G20, G7, OECD; TRADE_FLOW X exports, M imports, TB balance; FREQ Q/M/A; UNIT_MEASURE USD_EXC); quarterly trade in services and goods from balance of payments OECD.SDD.TPS:DSD_BOP@DF_BOP (MEASURE S services, G goods; ACCOUNTING_ENTRY C credit (exports), D debit (imports), B balance; FREQ Q); annual services by partner and category OECD.SDD.TPS:DSD_BOP@DF_TIS; Revenue Statistics OECD.CTP.TPS:DSD_REV_COMP_OECD@DF_RSOECD (STANDARD_REVENUE _T total tax, T_1000 income, T_1100 personal income, T_1200 corporate, T_2000 social security, T_4000 property, T_5000 goods and services; UNIT_MEASURE PT_B1GQ % of GDP; SECTOR S13 general government); Social expenditure (SOCX) OECD.ELS.SPD:DSD_SOCX_AGG@DF_SOCX_AGG (EXPEND_SOURCE ES10 public, ES20 mandatory private; PROGRAMME_TYPE _T total, TP11 old age...; UNIT_MEASURE PT_B1GQ % of GDP); quarterly sector accounts OECD.SDD.NAD:DSD_NASEC1@DF_QSA (SECTOR S1 total economy, S11 non-financial corporations, S13 government, S14 households, S1M households and NPISH; TRANSACTION B6G disposable income, B8G saving, B9 net lending...); annual sector accounts OECD.SDD.NAD:DSD_NASEC10@DF_TABLE14. Countries are ISO3 codes in REF_AREA; periods are 2024, 2024-Q3, 2024-07.
- [Records get](https://firecrawl.dev/alexandria/agents/providers/sdmx-oecd-org/datasets/records_get): One observation by its source identity: dataflow, full series key (no wildcards, no `+`) and TIME_PERIOD, from GET data/{flow}/{series key}?startPeriod=P&endPeriod=P as SDMX-CSV. not_found when OECD has no observation for that series and period.
- [Records list](https://firecrawl.dev/alexandria/agents/providers/sdmx-oecd-org/datasets/records_list): Observations of one dataflow selected by country, other dimension codes and period, as records. Give `filters` (dimension id to code(s); REF_AREA is the country) or a raw `key`, plus optional start_period/end_period. Unknown dimensions or codes without data fail with invalid_input listing the valid ones; a combination with no data is not_found. Selections above 50,000 observations are rejected: add filters or a period range. One data download per page (OECD allows about 60 per hour); rows are sorted canonically and the cursor pins the dataflow version and segment hash, so a publication change fails with upstream_error `publication_changed` instead of mixing data. Each record carries every dimension and attribute code, obs_value, time_period, series_key, source_record_id and source_url; Revenue Statistics and financial market rows also get a typed `mapped` view. Common dataflows: merchandise trade incl. G20 aggregate OECD.SDD.TPS:DSD_IMTS@DF_IMTS, quarterly services/goods trade (balance of payments) OECD.SDD.TPS:DSD_BOP@DF_BOP, Revenue Statistics OECD.CTP.TPS:DSD_REV_COMP_OECD@DF_RSOECD, SOCX OECD.ELS.SPD:DSD_SOCX_AGG@DF_SOCX_AGG, quarterly sector accounts OECD.SDD.NAD:DSD_NASEC1@DF_QSA; structure_get and dataflows_list list their key codes.
- [Source status](https://firecrawl.dev/alexandria/agents/providers/sdmx-oecd-org/datasets/source_status): Cheap check of one selection (`filters` or `key`) of a dataflow from GET availableconstraint/{flow}/{key}?mode=exact (cached 2 h upstream): resolved dataflow version, obs_count, time range and the codes present per dimension, plus the segment's data file URL. With `include_hash` the SDMX-CSV segment is downloaded once and hashed canonically (the same hash records_list pins in its cursor). Useful to see which codes and periods exist for a country before collecting.
- [Structure get](https://firecrawl.dev/alexandria/agents/providers/sdmx-oecd-org/datasets/structure_get): Describe one dataflow: dimension ids in key order, the codelist of each, the codes that actually carry data per dimension, attributes, total obs_count and time range (stub, data structure definition and whole-flow availability). Use it to choose `filters` for records_list; code labels come from codelist_get. Common dataflows: G20/OECD merchandise trade OECD.SDD.TPS:DSD_IMTS@DF_IMTS (REF_AREA incl. G20, G7, OECD; TRADE_FLOW X exports, M imports, TB balance; FREQ Q/M/A; UNIT_MEASURE USD_EXC); quarterly trade in services and goods from balance of payments OECD.SDD.TPS:DSD_BOP@DF_BOP (MEASURE S services, G goods; ACCOUNTING_ENTRY C credit (exports), D debit (imports), B balance; FREQ Q); annual services by partner and category OECD.SDD.TPS:DSD_BOP@DF_TIS; Revenue Statistics OECD.CTP.TPS:DSD_REV_COMP_OECD@DF_RSOECD (STANDARD_REVENUE _T total tax, T_1000 income, T_1100 personal income, T_1200 corporate, T_2000 social security, T_4000 property, T_5000 goods and services; UNIT_MEASURE PT_B1GQ % of GDP; SECTOR S13 general government); Social expenditure (SOCX) OECD.ELS.SPD:DSD_SOCX_AGG@DF_SOCX_AGG (EXPEND_SOURCE ES10 public, ES20 mandatory private; PROGRAMME_TYPE _T total, TP11 old age...; UNIT_MEASURE PT_B1GQ % of GDP); quarterly sector accounts OECD.SDD.NAD:DSD_NASEC1@DF_QSA (SECTOR S1 total economy, S11 non-financial corporations, S13 government, S14 households, S1M households and NPISH; TRANSACTION B6G disposable income, B8G saving, B9 net lending...); annual sector accounts OECD.SDD.NAD:DSD_NASEC10@DF_TABLE14. Countries are ISO3 codes in REF_AREA; periods are 2024, 2024-Q3, 2024-07.

## 1. Choose this provider when

OECD Data Explorer SDMX 2.1 REST API (sdmx.oecd.org/public/rest): any public OECD dataflow by country and period, including G20 international merchandise trade and balance-of-payments services trade (quarterly), Revenue Statistics (tax revenue by type, % of GDP), Social Expenditure (SOCX) and quarterly/annual sector accounts, plus financial market indicators. Dataflow catalogue, structures (dimensions and codes with data), codelists and observations as records. Select observations with `filters` (dimension id to code(s), e.g. REF_AREA USA) and start_period/end_period; the program places the codes in key order. Anonymous, no key.

## 2. Minimal request

Call `POST https://api.firecrawl.dev/v2/scrape` with `{ alexandria: { provider, capability, options } }`. For a batch, send `{ alexandria: [...] }` with up to 10 calls.

```json
{
  "provider": "sdmx-oecd-org",
  "capability": "datasets/codelist_get",
  "options": {
    "agency": "OECD",
    "id": "CL_SECTOR",
    "page_size": 20,
    "version": "1.2"
  }
}
```

## 3. Add provider options

Use only the options needed for the task:

- `agency` (string, required): Codelist agency, e.g. OECD, OECD.CTP.TPS, SDMX. Pattern: ^[A-Za-z0-9_.]{1,64}$. Example: `<agency>`
- `cursor` (string): cursor Example: `<cursor>`
- `id` (string, required): Codelist id, e.g. CL_SECTOR, CL_STANDARD_REVENUE, CL_AREA. Pattern: ^[A-Za-z0-9_@-]{1,120}$. Example: `<id>`
- `page_size` (number): page_size Example: `500`
- `version` (string): Pattern: ^(latest|[0-9]+(\.[0-9]+){0,2})$. Example: `latest`

## 4. Request through your preferred interface

### JavaScript

```javascript
const result = await firecrawl.scrape({
  alexandria: {
    provider: "sdmx-oecd-org",
    capability: "datasets/codelist_get",
    options: {
      agency: "OECD",
      id: "CL_SECTOR",
      page_size: 20,
      version: "1.2",
    },
  },
});
```

### Python

```python
result = firecrawl.scrape_alexandria({
  "provider": "sdmx-oecd-org",
  "capability": "datasets/codelist_get",
  "options": {
    "agency": "OECD",
    "id": "CL_SECTOR",
    "page_size": 20,
    "version": "1.2"
  }
})
```

### cURL

```sh
curl https://api.firecrawl.dev/v2/scrape \
  -H "Authorization: Bearer $FIRECRAWL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "alexandria": {
    "provider": "sdmx-oecd-org",
    "capability": "datasets/codelist_get",
    "options": {
      "agency": "OECD",
      "id": "CL_SECTOR",
      "page_size": 20,
      "version": "1.2"
    }
  }
}'
```

### CLI

```sh
firecrawl scrape 'sdmx-oecd-org/datasets/codelist_get' \
  --options '{"agency":"OECD","id":"CL_SECTOR","page_size":20,"version":"1.2"}'
```


### MCP

Call the FCX MCP retrieve tool with this object:

```json
{
  "provider": "sdmx-oecd-org",
  "capability": "datasets/codelist_get",
  "options": {
    "agency": "OECD",
    "id": "CL_SECTOR",
    "page_size": 20,
    "version": "1.2"
  }
}
```

Ask for only the returned fields needed by the task.

## 5. Full request shape

```json
{
  "provider": "sdmx-oecd-org",
  "capability": "datasets/codelist_get",
  "options": {
    "agency": "OECD",
    "id": "CL_SECTOR",
    "page_size": 20,
    "version": "1.2"
  }
}
```

## 6. Response data

The response includes `success`, `provider`, `capability`, `creditsCost` and `data`. This example shows the provider payload in `data`:

```json
{
  "agency_id": "OECD",
  "attribution": "Source: OECD Data Explorer, https://data-explorer.oecd.org/ (SDMX API https://sdmx.oecd.org/public/rest/). OECD terms: https://www.oecd.org/en/about/terms-conditions.html; cite the OECD and the dataflow; check the dataflow metadata for third-party owners.",
  "codelist_ref": "OECD:CL_SECTOR(1.2)",
  "codes": [
    {
      "code": "_Z",
      "name": "Not applicable",
      "parent": null
    },
    {
      "code": "S1",
      "name": "Total economy",
      "parent": null
    },
    {
      "code": "S11",
      "name": "Non-financial corporations",
      "parent": "S1"
    },
    {
      "code": "S11A",
      "name": "Post office giro",
      "parent": "S11"
    },
    {
      "code": "S11003",
      "name": "Foreign controlled non-financial corporations",
      "parent": "S11"
    },
    {
      "code": "S1100P",
      "name": "Private non-financial corporations",
      "parent": "S11"
    },
    {
      "code": "S11B",
      "name": "Head offices of non-financial corporations",
      "parent": "S11"
    },
    {
      "code": "S11DO",
      "name": "Domestically controlled non-financial corporations",
      "parent": "S11"
    },
    {
      "code": "S11001",
      "name": "Public non-financial corporations",
      "parent": "S11DO"
    },
    {
      "code": "S110011",
      "name": "Public non-financial corporations, which are part of domestic multinationals",
      "parent": "S11001"
    },
    {
      "code": "S11001C",
      "name": "Public non-financial corporations controlled by central government",
      "parent": "S11001"
    },
    {
      "code": "S11002",
      "name": "National private non-financial corporations",
      "parent": "S11DO"
    },
    {
      "code": "S110021",
      "name": "National private non-financial corporations, which are part of domestic multinationals",
      "parent": "S11002"
    },
    {
      "code": "S12",
      "name": "Financial corporations",
      "parent": "S1"
    },
    {
      "code": "S12003",
      "name": "Foreign controlled financial corporations",
      "parent": "S12"
    },
    {
      "code": "S1200P",
      "name": "Private financial corporations",
      "parent": "S12"
    },
    {
      "code": "S121",
      "name": "Central bank",
      "parent": "S12"
    },
    {
      "code": "S122",
      "name": "Deposit taking corporations, except the Central Bank",
      "parent": "S12"
    },
    {
      "code": "S122C",
      "name": "Credit institutions",
      "parent": "S122"
    },
    {
      "code": "S12201",
      "name": "Public deposit taking corporations, except the Central Bank",
      "parent": "S122"
    }
  ],
  "count": 20,
  "id": "CL_SECTOR",
  "is_partial": false,
  "name": "Codelist for institutional sectors",
  "next_cursor": "20",
  "observed_at_ms": 1792360050053,
  "retrieved_at": "2026-10-18T21:47:30Z",
  "source_url": "https://sdmx.oecd.org/public/rest/codelist/OECD/CL_SECTOR/1.2",
  "total": 216,
  "version": "1.2"
}
```

## API reference-derived contract

The following capability contract is generated from the same normalized Alexandria API reference exposed in the API spec.

### Codelist get

- Capability: `datasets/codelist_get`
- Description: Codes and labels of one SDMX codelist from GET codelist/{agency}/{id}/{version}: code, English name and parent code. Codelist references come from `structure_get` (dimensions[].codelist, attributes[].codelist). Paginated client-side.
- Instructions: To label codes seen in records (SECTOR S1311 = Central government, STANDARD_REVENUE T_1100 = Taxes on income, profits and capital gains of individuals, ...).
- Cost: 5 credits per call
- Capability file: [Codelist get](https://firecrawl.dev/alexandria/agents/providers/sdmx-oecd-org/datasets/codelist_get)

Accepted options:
- `agency` (string, required): Codelist agency, e.g. OECD, OECD.CTP.TPS, SDMX. Pattern: ^[A-Za-z0-9_.]{1,64}$. Example: `<agency>`
- `cursor` (string): cursor Example: `<cursor>`
- `id` (string, required): Codelist id, e.g. CL_SECTOR, CL_STANDARD_REVENUE, CL_AREA. Pattern: ^[A-Za-z0-9_@-]{1,120}$. Example: `<id>`
- `page_size` (number): page_size Example: `500`
- `version` (string): Pattern: ^(latest|[0-9]+(\.[0-9]+){0,2})$. Example: `latest`

Response schema example:
```json
{
  "agency_id": "OECD",
  "attribution": "Source: OECD Data Explorer, https://data-explorer.oecd.org/ (SDMX API https://sdmx.oecd.org/public/rest/). OECD terms: https://www.oecd.org/en/about/terms-conditions.html; cite the OECD and the dataflow; check the dataflow metadata for third-party owners.",
  "codelist_ref": "OECD:CL_SECTOR(1.2)",
  "codes": [
    {
      "code": "_Z",
      "name": "Not applicable",
      "parent": null
    },
    {
      "code": "S1",
      "name": "Total economy",
      "parent": null
    },
    {
      "code": "S11",
      "name": "Non-financial corporations",
      "parent": "S1"
    },
    {
      "code": "S11A",
      "name": "Post office giro",
      "parent": "S11"
    },
    {
      "code": "S11003",
      "name": "Foreign controlled non-financial corporations",
      "parent": "S11"
    },
    {
      "code": "S1100P",
      "name": "Private non-financial corporations",
      "parent": "S11"
    },
    {
      "code": "S11B",
      "name": "Head offices of non-financial corporations",
      "parent": "S11"
    },
    {
      "code": "S11DO",
      "name": "Domestically controlled non-financial corporations",
      "parent": "S11"
    },
    {
      "code": "S11001",
      "name": "Public non-financial corporations",
      "parent": "S11DO"
    },
    {
      "code": "S110011",
      "name": "Public non-financial corporations, which are part of domestic multinationals",
      "parent": "S11001"
    },
    {
      "code": "S11001C",
      "name": "Public non-financial corporations controlled by central government",
      "parent": "S11001"
    },
    {
      "code": "S11002",
      "name": "National private non-financial corporations",
      "parent": "S11DO"
    },
    {
      "code": "S110021",
      "name": "National private non-financial corporations, which are part of domestic multinationals",
      "parent": "S11002"
    },
    {
      "code": "S12",
      "name": "Financial corporations",
      "parent": "S1"
    },
    {
      "code": "S12003",
      "name": "Foreign controlled financial corporations",
      "parent": "S12"
    },
    {
      "code": "S1200P",
      "name": "Private financial corporations",
      "parent": "S12"
    },
    {
      "code": "S121",
      "name": "Central bank",
      "parent": "S12"
    },
    {
      "code": "S122",
      "name": "Deposit taking corporations, except the Central Bank",
      "parent": "S12"
    },
    {
      "code": "S122C",
      "name": "Credit institutions",
      "parent": "S122"
    },
    {
      "code": "S12201",
      "name": "Public deposit taking corporations, except the Central Bank",
      "parent": "S122"
    }
  ],
  "count": 20,
  "id": "CL_SECTOR",
  "is_partial": false,
  "name": "Codelist for institutional sectors",
  "next_cursor": "20",
  "observed_at_ms": 1792360050053,
  "retrieved_at": "2026-10-18T21:47:30Z",
  "source_url": "https://sdmx.oecd.org/public/rest/codelist/OECD/CL_SECTOR/1.2",
  "total": 216,
  "version": "1.2"
}
```

### Dataflows list

- Capability: `datasets/dataflows_list`
- Description: Find OECD dataflows by keyword: id, agency, version, name and the `dataflow_ref` every other function takes, from GET dataflow/{agency}/all/latest?detail=allstubs (about 1,500 public dataflows with `agency` = all). `q` filters by a case-insensitive substring of the name or id (e.g. `revenue statistics`, `social expenditure`, `sector accounts`, `merchandise trade`). Common dataflows: G20/OECD merchandise trade OECD.SDD.TPS:DSD_IMTS@DF_IMTS (REF_AREA incl. G20, G7, OECD; TRADE_FLOW X exports, M imports, TB balance; FREQ Q/M/A; UNIT_MEASURE USD_EXC); quarterly trade in services and goods from balance of payments OECD.SDD.TPS:DSD_BOP@DF_BOP (MEASURE S services, G goods; ACCOUNTING_ENTRY C credit (exports), D debit (imports), B balance; FREQ Q); annual services by partner and category OECD.SDD.TPS:DSD_BOP@DF_TIS; Revenue Statistics OECD.CTP.TPS:DSD_REV_COMP_OECD@DF_RSOECD (STANDARD_REVENUE _T total tax, T_1000 income, T_1100 personal income, T_1200 corporate, T_2000 social security, T_4000 property, T_5000 goods and services; UNIT_MEASURE PT_B1GQ % of GDP; SECTOR S13 general government); Social expenditure (SOCX) OECD.ELS.SPD:DSD_SOCX_AGG@DF_SOCX_AGG (EXPEND_SOURCE ES10 public, ES20 mandatory private; PROGRAMME_TYPE _T total, TP11 old age...; UNIT_MEASURE PT_B1GQ % of GDP); quarterly sector accounts OECD.SDD.NAD:DSD_NASEC1@DF_QSA (SECTOR S1 total economy, S11 non-financial corporations, S13 government, S14 households, S1M households and NPISH; TRANSACTION B6G disposable income, B8G saving, B9 net lending...); annual sector accounts OECD.SDD.NAD:DSD_NASEC10@DF_TABLE14. Countries are ISO3 codes in REF_AREA; periods are 2024, 2024-Q3, 2024-07.
- Instructions: Start here to find a dataflow_ref such as OECD.CTP.TPS:DSD_REV_COMP_OECD@DF_RSOECD(2.0) (Revenue Statistics) or OECD.SDD.STES:DSD_STES@DF_FINMARK(4.0) (Financial market).
- Cost: 5 credits per call
- Capability file: [Dataflows list](https://firecrawl.dev/alexandria/agents/providers/sdmx-oecd-org/datasets/dataflows_list)

Accepted options:
- `agency` (string): SDMX agency id, e.g. OECD.CTP.TPS, OECD.SDD.STES, OECD.SDD.TPS, or `all` (1,550 flows, ~570 KB upstream). Pattern: ^(all|[A-Za-z0-9_.]{1,64})$. Example: `all`
- `cursor` (string): `next_cursor` from the previous page. Example: `next_cursor`
- `page_size` (number): page_size Example: `100`
- `q` (string): Case-insensitive substring filter on the dataflow name or id. Example: `<q>`

Response schema example:
```json
{
  "agency": "OECD.CTP.TPS",
  "attribution": "Source: OECD Data Explorer, https://data-explorer.oecd.org/ (SDMX API https://sdmx.oecd.org/public/rest/). OECD terms: https://www.oecd.org/en/about/terms-conditions.html; cite the OECD and the dataflow; check the dataflow metadata for third-party owners.",
  "count": 2,
  "dataflows": [
    {
      "agency_id": "OECD.CTP.TPS",
      "dataflow_ref": "OECD.CTP.TPS:DSD_REF_OECD@DF_REFSERIES_OECD(2.0)",
      "id": "DSD_REF_OECD@DF_REFSERIES_OECD",
      "is_final": true,
      "name": "Revenue Statistics in OECD member countries - Reference series",
      "structure_url": "https://sdmx.oecd.org/public/rest/dataflow/OECD.CTP.TPS/DSD_REF_OECD@DF_REFSERIES_OECD/2.0",
      "version": "2.0"
    },
    {
      "agency_id": "OECD.CTP.TPS",
      "dataflow_ref": "OECD.CTP.TPS:DSD_REV_COMP_OECD@DF_RSOECD(2.0)",
      "id": "DSD_REV_COMP_OECD@DF_RSOECD",
      "is_final": true,
      "name": "Revenue Statistics in OECD member countries - Comparative tax revenues",
      "structure_url": "https://sdmx.oecd.org/public/rest/dataflow/OECD.CTP.TPS/DSD_REV_COMP_OECD@DF_RSOECD/2.0",
      "version": "2.0"
    }
  ],
  "next_cursor": null,
  "observed_at_ms": 1792360036093,
  "query": "Revenue Statistics in OECD",
  "retrieved_at": "2026-10-18T21:47:16Z",
  "source_url": "https://sdmx.oecd.org/public/rest/dataflow/OECD.CTP.TPS/all/latest?detail=allstubs",
  "total": 2
}
```

### Records get

- Capability: `datasets/records_get`
- Description: One observation by its source identity: dataflow, full series key (no wildcards, no `+`) and TIME_PERIOD, from GET data/{flow}/{series key}?startPeriod=P&endPeriod=P as SDMX-CSV. not_found when OECD has no observation for that series and period.
- Instructions: Fetch or re-check a single record returned by records_list (its source_record_id is oecd:<dataflow_ref>:<series key>:<period>).
- Cost: 5 credits per call
- Capability file: [Records get](https://firecrawl.dev/alexandria/agents/providers/sdmx-oecd-org/datasets/records_get)

Accepted options:
- `dataflow` (string, required): AGENCY:ID(VERSION) or AGENCY:ID (latest). Example: `<dataflow>`
- `period` (string, required): TIME_PERIOD, e.g. 2024 or 2026-09. Pattern: ^[0-9]{4}(-(0[1-9]|1[0-2]|Q[1-4]|S[12]|W[0-5][0-9])(-(0[1-9]|[12][0-9]|3[01]))?)?$. Example: `<period>`
- `series_key` (string, required): Full series key, every position filled, e.g. USA.M.SHARE.IX._Z._Z._Z._Z.N or USA.TAX_REV.S13._T._T.PT_B1GQ.A. Pattern: ^[A-Za-z0-9_@-]+(\.[A-Za-z0-9_@-]+)*$. Example: `<series_key>`

Response schema example:
```json
{
  "attribution": "Source: OECD Data Explorer, https://data-explorer.oecd.org/ (SDMX API https://sdmx.oecd.org/public/rest/). OECD terms: https://www.oecd.org/en/about/terms-conditions.html; cite the OECD and the dataflow; check the dataflow metadata for third-party owners.",
  "dataflow_ref": "OECD.CTP.TPS:DSD_REV_COMP_OECD@DF_RSOECD(2.0)",
  "observed_at_ms": 1792360085336,
  "record": {
    "attributes": {
      "CURRENCY": "USD",
      "DECIMALS": "3",
      "OBS_STATUS": "A",
      "REVENUE_CODE": "TOTALTAX",
      "UNIT_MULT": "9"
    },
    "dataflow_ref": "OECD.CTP.TPS:DSD_REV_COMP_OECD@DF_RSOECD(2.0)",
    "dimensions": {
      "CTRY_SPECIFIC_REVENUE": "_T",
      "FREQ": "A",
      "MEASURE": "TAX_REV",
      "REF_AREA": "USA",
      "SECTOR": "S13",
      "STANDARD_REVENUE": "_T",
      "UNIT_MEASURE": "XDC"
    },
    "mapped": {
      "amount": 7293844860000,
      "ctry_specific_revenue": "_T",
      "currency": "USD",
      "jurisdiction_id": "USA",
      "kind": "revenue_statistics",
      "level_of_government": "General government",
      "level_of_government_code": "S13",
      "measure": "TAX_REV",
      "obs_status": "A",
      "pct_of_gdp": null,
      "period": "2022",
      "revenue_code": "TOTALTAX",
      "tax_category_code": "_T",
      "unit_measure": "XDC",
      "unit_mult": 9
    },
    "obs_value": 7293.84486,
    "publication_id": "OECD.CTP.TPS:DSD_REV_COMP_OECD@DF_RSOECD(2.0)|sha256:9e7b0c7926dad2e21faf34923d0ed851605875d29d27c83488fb77d933aec691",
    "retrieved_at": "2026-10-18T21:48:05Z",
    "series_key": "USA.TAX_REV.S13._T._T.XDC.A",
    "source_record_id": "oecd:OECD.CTP.TPS:DSD_REV_COMP_OECD@DF_RSOECD(2.0):USA.TAX_REV.S13._T._T.XDC.A:2022",
    "source_url": "https://sdmx.oecd.org/public/rest/data/OECD.CTP.TPS,DSD_REV_COMP_OECD@DF_RSOECD,2.0/USA.TAX_REV.S13._T._T.XDC.A?startPeriod=2022&endPeriod=2022",
    "time_period": "2022"
  },
  "retrieved_at": "2026-10-18T21:48:05Z",
  "source_url": "https://sdmx.oecd.org/public/rest/data/OECD.CTP.TPS,DSD_REV_COMP_OECD@DF_RSOECD,2.0/USA.TAX_REV.S13._T._T.XDC.A?startPeriod=2022&endPeriod=2022",
  "version": "2.0"
}
```

### Records list

- Capability: `datasets/records_list`
- Description: Observations of one dataflow selected by country, other dimension codes and period, as records. Give `filters` (dimension id to code(s); REF_AREA is the country) or a raw `key`, plus optional start_period/end_period. Unknown dimensions or codes without data fail with invalid_input listing the valid ones; a combination with no data is not_found. Selections above 50,000 observations are rejected: add filters or a period range. One data download per page (OECD allows about 60 per hour); rows are sorted canonically and the cursor pins the dataflow version and segment hash, so a publication change fails with upstream_error `publication_changed` instead of mixing data. Each record carries every dimension and attribute code, obs_value, time_period, series_key, source_record_id and source_url; Revenue Statistics and financial market rows also get a typed `mapped` view. Common dataflows: merchandise trade incl. G20 aggregate OECD.SDD.TPS:DSD_IMTS@DF_IMTS, quarterly services/goods trade (balance of payments) OECD.SDD.TPS:DSD_BOP@DF_BOP, Revenue Statistics OECD.CTP.TPS:DSD_REV_COMP_OECD@DF_RSOECD, SOCX OECD.ELS.SPD:DSD_SOCX_AGG@DF_SOCX_AGG, quarterly sector accounts OECD.SDD.NAD:DSD_NASEC1@DF_QSA; structure_get and dataflows_list list their key codes.
- Instructions: Get OECD numbers for a country and period: G20 or national quarterly exports/imports (DF_IMTS, DF_BOP), tax revenue as % of GDP (DF_RSOECD), social spending (DF_SOCX_AGG), household saving or sector accounts (DF_QSA). Call structure_get first when unsure of codes.
- Cost: 5 credits per call
- Capability file: [Records list](https://firecrawl.dev/alexandria/agents/providers/sdmx-oecd-org/datasets/records_list)

Accepted options:
- `cursor` (string): `next_cursor` from the previous page; pins the dataflow version and segment hash. Example: `next_cursor`
- `dataflow` (string, required): AGENCY:ID(VERSION) or AGENCY:ID (latest), e.g. OECD.CTP.TPS:DSD_REV_COMP_OECD@DF_RSOECD. Example: `<dataflow>`
- `end_period` (string): Pattern: ^[0-9]{4}(-(0[1-9]|1[0-2]|Q[1-4]|S[12]|W[0-5][0-9])(-(0[1-9]|[12][0-9]|3[01]))?)?$. Example: `<end_period>`
- `filters` (object): Codes per dimension id, e.g. {"REF_AREA": "USA", "FREQ": "Q", "TRADE_FLOW": ["X", "M"]}. Countries go in REF_AREA as ISO3 codes; dimensions left out are wildcards. structure_get lists the dimension ids and the codes with data. Use instead of `key`. Example: `{}`
- `key` (string): Raw SDMX series key in dimension order (see structure_get); empty position = wildcard, `+` joins codes. Prefer `filters`, which cannot get the positions wrong. Pattern: ^(all|[A-Za-z0-9_@+.-]*)$. Example: `+`
- `page_size` (number): page_size Example: `1000`
- `start_period` (string): Pattern: ^[0-9]{4}(-(0[1-9]|1[0-2]|Q[1-4]|S[12]|W[0-5][0-9])(-(0[1-9]|[12][0-9]|3[01]))?)?$. Example: `<start_period>`

Response schema example:
```json
{
  "attribution": "Source: OECD Data Explorer, https://data-explorer.oecd.org/ (SDMX API https://sdmx.oecd.org/public/rest/). OECD terms: https://www.oecd.org/en/about/terms-conditions.html; cite the OECD and the dataflow; check the dataflow metadata for third-party owners.",
  "count": 12,
  "dataflow_ref": "OECD.SDD.STES:DSD_STES@DF_FINMARK(4.0)",
  "end_period": null,
  "key": ".M.SHARE......",
  "next_cursor": "v1:4.0:c9b12b0ff445628977337421c6a5c69344c6add2a10fd13de00f1890ef37378e:12",
  "obs_count": 190,
  "observed_at_ms": 1792360073716,
  "offset": 0,
  "publication_id": "OECD.SDD.STES:DSD_STES@DF_FINMARK(4.0)|sha256:c9b12b0ff445628977337421c6a5c69344c6add2a10fd13de00f1890ef37378e",
  "records": [
    {
      "attributes": {
        "BASE_PER": "2015",
        "DECIMALS": "2",
        "OBS_STATUS": "A",
        "UNIT_MULT": "0"
      },
      "dataflow_ref": "OECD.SDD.STES:DSD_STES@DF_FINMARK(4.0)",
      "dimensions": {
        "ACTIVITY": "_Z",
        "ADJUSTMENT": "_Z",
        "FREQ": "M",
        "MEASURE": "SHARE",
        "METHODOLOGY": "N",
        "REF_AREA": "AUS",
        "TIME_HORIZ": "_Z",
        "TRANSFORMATION": "_Z",
        "UNIT_MEASURE": "IX"
      },
      "mapped": {
        "adjustment": "_Z",
        "base_period": "2015",
        "country_iso3": "AUS",
        "index_or_market": "OECD share price index",
        "kind": "financial_market",
        "measure": "SHARE",
        "methodology": "N",
        "obs_status": "A",
        "period": "2026-06",
        "price_index": 159.6707,
        "unit_measure": "IX"
      },
      "obs_value": 159.6707,
      "publication_id": "OECD.SDD.STES:DSD_STES@DF_FINMARK(4.0)|sha256:c9b12b0ff445628977337421c6a5c69344c6add2a10fd13de00f1890ef37378e",
      "retrieved_at": "2026-10-18T21:47:53Z",
      "series_key": "AUS.M.SHARE.IX._Z._Z._Z._Z.N",
      "source_record_id": "oecd:OECD.SDD.STES:DSD_STES@DF_FINMARK(4.0):AUS.M.SHARE.IX._Z._Z._Z._Z.N:2026-06",
      "source_url": "https://sdmx.oecd.org/public/rest/data/OECD.SDD.STES,DSD_STES@DF_FINMARK,4.0/AUS.M.SHARE.IX._Z._Z._Z._Z.N?startPeriod=2026-06&endPeriod=2026-06",
      "time_period": "2026-06"
    },
    {
      "attributes": {
        "BASE_PER": "2015",
        "DECIMALS": "2",
        "OBS_STATUS": "A",
        "UNIT_MULT": "0"
      },
      "dataflow_ref": "OECD.SDD.STES:DSD_STES@DF_FINMARK(4.0)",
      "dimensions": {
        "ACTIVITY": "_Z",
        "ADJUSTMENT": "_Z",
        "FREQ": "M",
        "MEASURE": "SHARE",
        "METHODOLOGY": "N",
        "REF_AREA": "AUS",
        "TIME_HORIZ": "_Z",
        "TRANSFORMATION": "_Z",
        "UNIT_MEASURE": "IX"
      },
      "mapped": {
        "adjustment": "_Z",
        "base_period": "2015",
        "country_iso3": "AUS",
        "index_or_market": "OECD share price index",
        "kind": "financial_market",
        "measure": "SHARE",
        "methodology": "N",
        "obs_status": "A",
        "period": "2026-07",
        "price_index": 160.87,
        "unit_measure": "IX"
      },
      "obs_value": 160.87,
      "publication_id": "OECD.SDD.STES:DSD_STES@DF_FINMARK(4.0)|sha256:c9b12b0ff445628977337421c6a5c69344c6add2a10fd13de00f1890ef37378e",
      "retrieved_at": "2026-10-18T21:47:53Z",
      "series_key": "AUS.M.SHARE.IX._Z._Z._Z._Z.N",
      "source_record_id": "oecd:OECD.SDD.STES:DSD_STES@DF_FINMARK(4.0):AUS.M.SHARE.IX._Z._Z._Z._Z.N:2026-07",
      "source_url": "https://sdmx.oecd.org/public/rest/data/OECD.SDD.STES,DSD_STES@DF_FINMARK,4.0/AUS.M.SHARE.IX._Z._Z._Z._Z.N?startPeriod=2026-07&endPeriod=2026-07",
      "time_period": "2026-07"
    },
    {
      "attributes": {
        "BASE_PER": "2015",
        "DECIMALS": "2",
        "OBS_STATUS": "A",
        "UNIT_MULT": "0"
      },
      "dataflow_ref": "OECD.SDD.STES:DSD_STES@DF_FINMARK(4.0)",
      "dimensions": {
        "ACTIVITY": "_Z",
        "ADJUSTMENT": "_Z",
        "FREQ": "M",
        "MEASURE": "SHARE",
        "METHODOLOGY": "N",
        "REF_AREA": "AUS",
        "TIME_HORIZ": "_Z",
        "TRANSFORMATION": "_Z",
        "UNIT_MEASURE": "IX"
      },
      "mapped": {
        "adjustment": "_Z",
        "base_period": "2015",
        "country_iso3": "AUS",
        "index_or_market": "OECD share price index",
        "kind": "financial_market",
        "measure": "SHARE",
        "methodology": "N",
        "obs_status": "A",
        "period": "2026-08",
        "price_index": 166.3475,
        "unit_measure": "IX"
      },
      "obs_value": 166.3475,
      "publication_id": "OECD.SDD.STES:DSD_STES@DF_FINMARK(4.0)|sha256:c9b12b0ff445628977337421c6a5c69344c6add2a10fd13de00f1890ef37378e",
      "retrieved_at": "2026-10-18T21:47:53Z",
      "series_key": "AUS.M.SHARE.IX._Z._Z._Z._Z.N",
      "source_record_id": "oecd:OECD.SDD.STES:DSD_STES@DF_FINMARK(4.0):AUS.M.SHARE.IX._Z._Z._Z._Z.N:2026-08",
      "source_url": "https://sdmx.oecd.org/public/rest/data/OECD.SDD.STES,DSD_STES@DF_FINMARK,4.0/AUS.M.SHARE.IX._Z._Z._Z._Z.N?startPeriod=2026-08&endPeriod=2026-08",
      "time_period": "2026-08"
    },
    {
      "attributes": {
        "BASE_PER": "2015",
        "DECIMALS": "2",
        "OBS_STATUS": "A",
        "UNIT_MULT": "0"
      },
      "dataflow_ref": "OECD.SDD.STES:DSD_STES@DF_FINMARK(4.0)",
      "dimensions": {
        "ACTIVITY": "_Z",
        "ADJUSTMENT": "_Z",
        "FREQ": "M",
        "MEASURE": "SHARE",
        "METHODOLOGY": "N",
        "REF_AREA": "AUS",
        "TIME_HORIZ": "_Z",
        "TRANSFORMATION": "_Z",
        "UNIT_MEASURE": "IX"
      },
      "mapped": {
        "adjustment": "_Z",
        "base_period": "2015",
        "country_iso3": "AUS",
        "index_or_market": "OECD share price index",
        "kind": "financial_market",
        "measure": "SHARE",
        "methodology": "N",
        "obs_status": "A",
        "period": "2026-09",
        "price_index": 160.4344,
        "unit_measure": "IX"
      },
      "obs_value": 160.4344,
      "publication_id": "OECD.SDD.STES:DSD_STES@DF_FINMARK(4.0)|sha256:c9b12b0ff445628977337421c6a5c69344c6add2a10fd13de00f1890ef37378e",
      "retrieved_at": "2026-10-18T21:47:53Z",
      "series_key": "AUS.M.SHARE.IX._Z._Z._Z._Z.N",
      "source_record_id": "oecd:OECD.SDD.STES:DSD_STES@DF_FINMARK(4.0):AUS.M.SHARE.IX._Z._Z._Z._Z.N:2026-09",
      "source_url": "https://sdmx.oecd.org/public/rest/data/OECD.SDD.STES,DSD_STES@DF_FINMARK,4.0/AUS.M.SHARE.IX._Z._Z._Z._Z.N?startPeriod=2026-09&endPeriod=2026-09",
      "time_period": "2026-09"
    },
    {
      "attributes": {
        "BASE_PER": "2015",
        "DECIMALS": "2",
        "OBS_STATUS": "A",
        "UNIT_MULT": "0"
      },
      "dataflow_ref": "OECD.SDD.STES:DSD_STES@DF_FINMARK(4.0)",
      "dimensions": {
        "ACTIVITY": "_Z",
        "ADJUSTMENT": "_Z",
        "FREQ": "M",
        "MEASURE": "SHARE",
        "METHODOLOGY": "N",
        "REF_AREA": "AUT",
        "TIME_HORIZ": "_Z",
        "TRANSFORMATION": "_Z",
        "UNIT_MEASURE": "IX"
      },
      "mapped": {
        "adjustment": "_Z",
        "base_period": "2015",
        "country_iso3": "AUT",
        "index_or_market": "OECD share price index",
        "kind": "financial_market",
        "measure": "SHARE",
        "methodology": "N",
        "obs_status": "A",
        "period": "2026-06",
        "price_index": 246.0895,
        "unit_measure": "IX"
      },
      "obs_value": 246.0895,
      "publication_id": "OECD.SDD.STES:DSD_STES@DF_FINMARK(4.0)|sha256:c9b12b0ff445628977337421c6a5c69344c6add2a10fd13de00f1890ef37378e",
      "retrieved_at": "2026-10-18T21:47:53Z",
      "series_key": "AUT.M.SHARE.IX._Z._Z._Z._Z.N",
      "source_record_id": "oecd:OECD.SDD.STES:DSD_STES@DF_FINMARK(4.0):AUT.M.SHARE.IX._Z._Z._Z._Z.N:2026-06",
      "source_url": "https://sdmx.oecd.org/public/rest/data/OECD.SDD.STES,DSD_STES@DF_FINMARK,4.0/AUT.M.SHARE.IX._Z._Z._Z._Z.N?startPeriod=2026-06&endPeriod=2026-06",
      "time_period": "2026-06"
    },
    {
      "attributes": {
        "BASE_PER": "2015",
        "DECIMALS": "2",
        "OBS_STATUS": "A",
        "UNIT_MULT": "0"
      },
      "dataflow_ref": "OECD.SDD.STES:DSD_STES@DF_FINMARK(4.0)",
      "dimensions": {
        "ACTIVITY": "_Z",
        "ADJUSTMENT": "_Z",
        "FREQ": "M",
        "MEASURE": "SHARE",
        "METHODOLOGY": "N",
        "REF_AREA": "AUT",
        "TIME_HORIZ": "_Z",
        "TRANSFORMATION": "_Z",
        "UNIT_MEASURE": "IX"
      },
      "mapped": {
        "adjustment": "_Z",
        "base_period": "2015",
        "country_iso3": "AUT",
        "index_or_market": "OECD share price index",
        "kind": "financial_market",
        "measure": "SHARE",
        "methodology": "N",
        "obs_status": "A",
        "period": "2026-07",
        "price_index": 251.8593,
        "unit_measure": "IX"
      },
      "obs_value": 251.8593,
      "publication_id": "OECD.SDD.STES:DSD_STES@DF_FINMARK(4.0)|sha256:c9b12b0ff445628977337421c6a5c69344c6add2a10fd13de00f1890ef37378e",
      "retrieved_at": "2026-10-18T21:47:53Z",
      "series_key": "AUT.M.SHARE.IX._Z._Z._Z._Z.N",
      "source_record_id": "oecd:OECD.SDD.STES:DSD_STES@DF_FINMARK(4.0):AUT.M.SHARE.IX._Z._Z._Z._Z.N:2026-07",
      "source_url": "https://sdmx.oecd.org/public/rest/data/OECD.SDD.STES,DSD_STES@DF_FINMARK,4.0/AUT.M.SHARE.IX._Z._Z._Z._Z.N?startPeriod=2026-07&endPeriod=2026-07",
      "time_period": "2026-07"
    },
    {
      "attributes": {
        "BASE_PER": "2015",
        "DECIMALS": "2",
        "OBS_STATUS": "A",
        "UNIT_MULT": "0"
      },
      "dataflow_ref": "OECD.SDD.STES:DSD_STES@DF_FINMARK(4.0)",
      "dimensions": {
        "ACTIVITY": "_Z",
        "ADJUSTMENT": "_Z",
        "FREQ": "M",
        "MEASURE": "SHARE",
        "METHODOLOGY": "N",
        "REF_AREA": "AUT",
        "TIME_HORIZ": "_Z",
        "TRANSFORMATION": "_Z",
        "UNIT_MEASURE": "IX"
      },
      "mapped": {
        "adjustment": "_Z",
        "base_period": "2015",
        "country_iso3": "AUT",
        "index_or_market": "OECD share price index",
        "kind": "financial_market",
        "measure": "SHARE",
        "methodology": "N",
        "obs_status": "A",
        "period": "2026-08",
        "price_index": 261.2397,
        "unit_measure": "IX"
      },
      "obs_value": 261.2397,
      "publication_id": "OECD.SDD.STES:DSD_STES@DF_FINMARK(4.0)|sha256:c9b12b0ff445628977337421c6a5c69344c6add2a10fd13de00f1890ef37378e",
      "retrieved_at": "2026-10-18T21:47:53Z",
      "series_key": "AUT.M.SHARE.IX._Z._Z._Z._Z.N",
      "source_record_id": "oecd:OECD.SDD.STES:DSD_STES@DF_FINMARK(4.0):AUT.M.SHARE.IX._Z._Z._Z._Z.N:2026-08",
      "source_url": "https://sdmx.oecd.org/public/rest/data/OECD.SDD.STES,DSD_STES@DF_FINMARK,4.0/AUT.M.SHARE.IX._Z._Z._Z._Z.N?startPeriod=2026-08&endPeriod=2026-08",
      "time_period": "2026-08"
    },
    {
      "attributes": {
        "BASE_PER": "2015",
        "DECIMALS": "2",
        "OBS_STATUS": "A",
        "UNIT_MULT": "0"
      },
      "dataflow_ref": "OECD.SDD.STES:DSD_STES@DF_FINMARK(4.0)",
      "dimensions": {
        "ACTIVITY": "_Z",
        "ADJUSTMENT": "_Z",
        "FREQ": "M",
        "MEASURE": "SHARE",
        "METHODOLOGY": "N",
        "REF_AREA": "AUT",
        "TIME_HORIZ": "_Z",
        "TRANSFORMATION": "_Z",
        "UNIT_MEASURE": "IX"
      },
      "mapped": {
        "adjustment": "_Z",
        "base_period": "2015",
        "country_iso3": "AUT",
        "index_or_market": "OECD share price index",
        "kind": "financial_market",
        "measure": "SHARE",
        "methodology": "N",
        "obs_status": "A",
        "period": "2026-09",
        "price_index": 267.4795,
        "unit_measure": "IX"
      },
      "obs_value": 267.4795,
      "publication_id": "OECD.SDD.STES:DSD_STES@DF_FINMARK(4.0)|sha256:c9b12b0ff445628977337421c6a5c69344c6add2a10fd13de00f1890ef37378e",
      "retrieved_at": "2026-10-18T21:47:53Z",
      "series_key": "AUT.M.SHARE.IX._Z._Z._Z._Z.N",
      "source_record_id": "oecd:OECD.SDD.STES:DSD_STES@DF_FINMARK(4.0):AUT.M.SHARE.IX._Z._Z._Z._Z.N:2026-09",
      "source_url": "https://sdmx.oecd.org/public/rest/data/OECD.SDD.STES,DSD_STES@DF_FINMARK,4.0/AUT.M.SHARE.IX._Z._Z._Z._Z.N?startPeriod=2026-09&endPeriod=2026-09",
      "time_period": "2026-09"
    },
    {
      "attributes": {
        "BASE_PER": "2015",
        "DECIMALS": "2",
        "OBS_STATUS": "A",
        "UNIT_MULT": "0"
      },
      "dataflow_ref": "OECD.SDD.STES:DSD_STES@DF_FINMARK(4.0)",
      "dimensions": {
        "ACTIVITY": "_Z",
        "ADJUSTMENT": "_Z",
        "FREQ": "M",
        "MEASURE": "SHARE",
        "METHODOLOGY": "N",
        "REF_AREA": "BEL",
        "TIME_HORIZ": "_Z",
        "TRANSFORMATION": "_Z",
        "UNIT_MEASURE": "IX"
      },
      "mapped": {
        "adjustment": "_Z",
        "base_period": "2015",
        "country_iso3": "BEL",
        "index_or_market": "OECD share price index",
        "kind": "financial_market",
        "measure": "SHARE",
        "methodology": "N",
        "obs_status": "A",
        "period": "2026-06",
        "price_index": 143.4125,
        "unit_measure": "IX"
      },
      "obs_value": 143.4125,
      "publication_id": "OECD.SDD.STES:DSD_STES@DF_FINMARK(4.0)|sha256:c9b12b0ff445628977337421c6a5c69344c6add2a10fd13de00f1890ef37378e",
      "retrieved_at": "2026-10-18T21:47:53Z",
      "series_key": "BEL.M.SHARE.IX._Z._Z._Z._Z.N",
      "source_record_id": "oecd:OECD.SDD.STES:DSD_STES@DF_FINMARK(4.0):BEL.M.SHARE.IX._Z._Z._Z._Z.N:2026-06",
      "source_url": "https://sdmx.oecd.org/public/rest/data/OECD.SDD.STES,DSD_STES@DF_FINMARK,4.0/BEL.M.SHARE.IX._Z._Z._Z._Z.N?startPeriod=2026-06&endPeriod=2026-06",
      "time_period": "2026-06"
    },
    {
      "attributes": {
        "BASE_PER": "2015",
        "DECIMALS": "2",
        "OBS_STATUS": "A",
        "UNIT_MULT": "0"
      },
      "dataflow_ref": "OECD.SDD.STES:DSD_STES@DF_FINMARK(4.0)",
      "dimensions": {
        "ACTIVITY": "_Z",
        "ADJUSTMENT": "_Z",
        "FREQ": "M",
        "MEASURE": "SHARE",
        "METHODOLOGY": "N",
        "REF_AREA": "BEL",
        "TIME_HORIZ": "_Z",
        "TRANSFORMATION": "_Z",
        "UNIT_MEASURE": "IX"
      },
      "mapped": {
        "adjustment": "_Z",
        "base_period": "2015",
        "country_iso3": "BEL",
        "index_or_market": "OECD share price index",
        "kind": "financial_market",
        "measure": "SHARE",
        "methodology": "N",
        "obs_status": "A",
        "period": "2026-07",
        "price_index": 143.8018,
        "unit_measure": "IX"
      },
      "obs_value": 143.8018,
      "publication_id": "OECD.SDD.STES:DSD_STES@DF_FINMARK(4.0)|sha256:c9b12b0ff445628977337421c6a5c69344c6add2a10fd13de00f1890ef37378e",
      "retrieved_at": "2026-10-18T21:47:53Z",
      "series_key": "BEL.M.SHARE.IX._Z._Z._Z._Z.N",
      "source_record_id": "oecd:OECD.SDD.STES:DSD_STES@DF_FINMARK(4.0):BEL.M.SHARE.IX._Z._Z._Z._Z.N:2026-07",
      "source_url": "https://sdmx.oecd.org/public/rest/data/OECD.SDD.STES,DSD_STES@DF_FINMARK,4.0/BEL.M.SHARE.IX._Z._Z._Z._Z.N?startPeriod=2026-07&endPeriod=2026-07",
      "time_period": "2026-07"
    },
    {
      "attributes": {
        "BASE_PER": "2015",
        "DECIMALS": "2",
        "OBS_STATUS": "A",
        "UNIT_MULT": "0"
      },
      "dataflow_ref": "OECD.SDD.STES:DSD_STES@DF_FINMARK(4.0)",
      "dimensions": {
        "ACTIVITY": "_Z",
        "ADJUSTMENT": "_Z",
        "FREQ": "M",
        "MEASURE": "SHARE",
        "METHODOLOGY": "N",
        "REF_AREA": "BEL",
        "TIME_HORIZ": "_Z",
        "TRANSFORMATION": "_Z",
        "UNIT_MEASURE": "IX"
      },
      "mapped": {
        "adjustment": "_Z",
        "base_period": "2015",
        "country_iso3": "BEL",
        "index_or_market": "OECD share price index",
        "kind": "financial_market",
        "measure": "SHARE",
        "methodology": "N",
        "obs_status": "A",
        "period": "2026-08",
        "price_index": 146.0506,
        "unit_measure": "IX"
      },
      "obs_value": 146.0506,
      "publication_id": "OECD.SDD.STES:DSD_STES@DF_FINMARK(4.0)|sha256:c9b12b0ff445628977337421c6a5c69344c6add2a10fd13de00f1890ef37378e",
      "retrieved_at": "2026-10-18T21:47:53Z",
      "series_key": "BEL.M.SHARE.IX._Z._Z._Z._Z.N",
      "source_record_id": "oecd:OECD.SDD.STES:DSD_STES@DF_FINMARK(4.0):BEL.M.SHARE.IX._Z._Z._Z._Z.N:2026-08",
      "source_url": "https://sdmx.oecd.org/public/rest/data/OECD.SDD.STES,DSD_STES@DF_FINMARK,4.0/BEL.M.SHARE.IX._Z._Z._Z._Z.N?startPeriod=2026-08&endPeriod=2026-08",
      "time_period": "2026-08"
    },
    {
      "attributes": {
        "BASE_PER": "2015",
        "DECIMALS": "2",
        "OBS_STATUS": "A",
        "UNIT_MULT": "0"
      },
      "dataflow_ref": "OECD.SDD.STES:DSD_STES@DF_FINMARK(4.0)",
      "dimensions": {
        "ACTIVITY": "_Z",
        "ADJUSTMENT": "_Z",
        "FREQ": "M",
        "MEASURE": "SHARE",
        "METHODOLOGY": "N",
        "REF_AREA": "BEL",
        "TIME_HORIZ": "_Z",
        "TRANSFORMATION": "_Z",
        "UNIT_MEASURE": "IX"
      },
      "mapped": {
        "adjustment": "_Z",
        "base_period": "2015",
        "country_iso3": "BEL",
        "index_or_market": "OECD share price index",
        "kind": "financial_market",
        "measure": "SHARE",
        "methodology": "N",
        "obs_status": "A",
        "period": "2026-09",
        "price_index": 145.5051,
        "unit_measure": "IX"
      },
      "obs_value": 145.5051,
      "publication_id": "OECD.SDD.STES:DSD_STES@DF_FINMARK(4.0)|sha256:c9b12b0ff445628977337421c6a5c69344c6add2a10fd13de00f1890ef37378e",
      "retrieved_at": "2026-10-18T21:47:53Z",
      "series_key": "BEL.M.SHARE.IX._Z._Z._Z._Z.N",
      "source_record_id": "oecd:OECD.SDD.STES:DSD_STES@DF_FINMARK(4.0):BEL.M.SHARE.IX._Z._Z._Z._Z.N:2026-09",
      "source_url": "https://sdmx.oecd.org/public/rest/data/OECD.SDD.STES,DSD_STES@DF_FINMARK,4.0/BEL.M.SHARE.IX._Z._Z._Z._Z.N?startPeriod=2026-09&endPeriod=2026-09",
      "time_period": "2026-09"
    }
  ],
  "retrieved_at": "2026-10-18T21:47:53Z",
  "segment_hash": "c9b12b0ff445628977337421c6a5c69344c6add2a10fd13de00f1890ef37378e",
  "source_url": "https://sdmx.oecd.org/public/rest/data/OECD.SDD.STES,DSD_STES@DF_FINMARK,4.0/.M.SHARE......?startPeriod=2026-06",
  "start_period": "2026-06",
  "total_records": 190,
  "version": "4.0"
}
```

### Source status

- Capability: `datasets/source_status`
- Description: Cheap check of one selection (`filters` or `key`) of a dataflow from GET availableconstraint/{flow}/{key}?mode=exact (cached 2 h upstream): resolved dataflow version, obs_count, time range and the codes present per dimension, plus the segment's data file URL. With `include_hash` the SDMX-CSV segment is downloaded once and hashed canonically (the same hash records_list pins in its cursor). Useful to see which codes and periods exist for a country before collecting.
- Instructions: Before or between records_list pulls: compare `version` and `obs_count` (or `content_hash`) with the last pull to know whether the segment changed.
- Cost: 5 credits per call
- Capability file: [Source status](https://firecrawl.dev/alexandria/agents/providers/sdmx-oecd-org/datasets/source_status)

Accepted options:
- `dataflow` (string, required): AGENCY:ID(VERSION) or AGENCY:ID (latest), e.g. OECD.CTP.TPS:DSD_REV_COMP_OECD@DF_RSOECD. Example: `<dataflow>`
- `end_period` (string): Pattern: ^[0-9]{4}(-(0[1-9]|1[0-2]|Q[1-4]|S[12]|W[0-5][0-9])(-(0[1-9]|[12][0-9]|3[01]))?)?$. Example: `<end_period>`
- `filters` (object): Codes per dimension id, e.g. {"REF_AREA": "USA", "FREQ": "Q", "TRADE_FLOW": ["X", "M"]}. Countries go in REF_AREA as ISO3 codes; dimensions left out are wildcards. structure_get lists the dimension ids and the codes with data. Use instead of `key`. Example: `{}`
- `include_hash` (boolean): Download the CSV segment and return its canonical SHA-256 and size. Costs one data download; the segment must be under 50,000 observations. Example: `false`
- `key` (string): Raw SDMX series key in dimension order (see structure_get); empty position = wildcard, `+` joins codes. Prefer `filters`, which cannot get the positions wrong. Pattern: ^(all|[A-Za-z0-9_@+.-]*)$. Example: `+`
- `start_period` (string): SDMX period: 2020, 2026-01, 2024-Q1. Pattern: ^[0-9]{4}(-(0[1-9]|1[0-2]|Q[1-4]|S[12]|W[0-5][0-9])(-(0[1-9]|[12][0-9]|3[01]))?)?$. Example: `<start_period>`

Response schema example:
```json
{
  "attribution": "Source: OECD Data Explorer, https://data-explorer.oecd.org/ (SDMX API https://sdmx.oecd.org/public/rest/). OECD terms: https://www.oecd.org/en/about/terms-conditions.html; cite the OECD and the dataflow; check the dataflow metadata for third-party owners.",
  "availability_url": "https://sdmx.oecd.org/public/rest/availableconstraint/OECD.CTP.TPS,DSD_REV_COMP_OECD@DF_RSOECD,2.0/USA.TAX_REV....XDC.A?mode=exact&references=none",
  "content_hash": null,
  "dataflow_ref": "OECD.CTP.TPS:DSD_REV_COMP_OECD@DF_RSOECD(2.0)",
  "dimensions": [
    {
      "id": "REF_AREA",
      "values": [
        "USA"
      ]
    },
    {
      "id": "MEASURE",
      "values": [
        "TAX_REV"
      ]
    },
    {
      "id": "SECTOR",
      "values": [
        "S13",
        "S1311",
        "S1312",
        "S1313",
        "S1314"
      ]
    },
    {
      "id": "STANDARD_REVENUE",
      "values": [
        "_T",
        "T_1000",
        "T_1100",
        "T_1110",
        "T_1120",
        "T_1200",
        "T_1210",
        "T_1220",
        "T_1300",
        "T_2000",
        "T_2100",
        "T_2200",
        "T_2300",
        "T_2400",
        "T_3000",
        "T_4000",
        "T_4100",
        "T_4110",
        "T_4120",
        "T_4200",
        "T_4300",
        "T_4310",
        "T_4320",
        "T_4400",
        "T_4500",
        "T_4510",
        "T_4600",
        "T_5000",
        "T_5100",
        "T_5110",
        "T_5111",
        "T_5112",
        "T_5113",
        "T_5120",
        "T_5121",
        "T_5122",
        "T_5123",
        "T_5124",
        "T_5125",
        "T_5126",
        "T_5127",
        "T_5128",
        "T_5130",
        "T_5200",
        "T_5210",
        "T_5211",
        "T_5212",
        "T_5213",
        "T_5220",
        "T_5300",
        "T_6000",
        "T_6100",
        "T_6200",
        "T_AA",
        "T_AG",
        "T_AI",
        "T_AJ",
        "T_AK",
        "T_GROSS",
        "T_NET",
        "T_NWEXP",
        "T_NWTOT",
        "T_NWTRAN",
        "T_SPLIT"
      ]
    },
    {
      "id": "CTRY_SPECIFIC_REVENUE",
      "values": [
        "_T"
      ]
    },
    {
      "id": "UNIT_MEASURE",
      "values": [
        "XDC"
      ]
    },
    {
      "id": "FREQ",
      "values": [
        "A"
      ]
    }
  ],
  "end_period": null,
  "file_url": "https://sdmx.oecd.org/public/rest/data/OECD.CTP.TPS,DSD_REV_COMP_OECD@DF_RSOECD,2.0/USA.TAX_REV....XDC.A",
  "hash_algorithm": null,
  "key": "USA.TAX_REV....XDC.A",
  "last_modified": "2025-12-09",
  "obs_count": 11025,
  "observed_at_ms": 1792360062583,
  "publication_id": "OECD.CTP.TPS:DSD_REV_COMP_OECD@DF_RSOECD(2.0)",
  "retrieved_at": "2026-10-18T21:47:42Z",
  "size_bytes": null,
  "start_period": null,
  "time_range": {
    "end": "2024-12-31",
    "start": "1965-01-01"
  },
  "version": "2.0"
}
```

### Structure get

- Capability: `datasets/structure_get`
- Description: Describe one dataflow: dimension ids in key order, the codelist of each, the codes that actually carry data per dimension, attributes, total obs_count and time range (stub, data structure definition and whole-flow availability). Use it to choose `filters` for records_list; code labels come from codelist_get. Common dataflows: G20/OECD merchandise trade OECD.SDD.TPS:DSD_IMTS@DF_IMTS (REF_AREA incl. G20, G7, OECD; TRADE_FLOW X exports, M imports, TB balance; FREQ Q/M/A; UNIT_MEASURE USD_EXC); quarterly trade in services and goods from balance of payments OECD.SDD.TPS:DSD_BOP@DF_BOP (MEASURE S services, G goods; ACCOUNTING_ENTRY C credit (exports), D debit (imports), B balance; FREQ Q); annual services by partner and category OECD.SDD.TPS:DSD_BOP@DF_TIS; Revenue Statistics OECD.CTP.TPS:DSD_REV_COMP_OECD@DF_RSOECD (STANDARD_REVENUE _T total tax, T_1000 income, T_1100 personal income, T_1200 corporate, T_2000 social security, T_4000 property, T_5000 goods and services; UNIT_MEASURE PT_B1GQ % of GDP; SECTOR S13 general government); Social expenditure (SOCX) OECD.ELS.SPD:DSD_SOCX_AGG@DF_SOCX_AGG (EXPEND_SOURCE ES10 public, ES20 mandatory private; PROGRAMME_TYPE _T total, TP11 old age...; UNIT_MEASURE PT_B1GQ % of GDP); quarterly sector accounts OECD.SDD.NAD:DSD_NASEC1@DF_QSA (SECTOR S1 total economy, S11 non-financial corporations, S13 government, S14 households, S1M households and NPISH; TRANSACTION B6G disposable income, B8G saving, B9 net lending...); annual sector accounts OECD.SDD.NAD:DSD_NASEC10@DF_TABLE14. Countries are ISO3 codes in REF_AREA; periods are 2024, 2024-Q3, 2024-07.
- Instructions: Before building a key for source_status, records_list or records_get: positions follow `dimensions` order; available_codes are the values that return data.
- Cost: 5 credits per call
- Capability file: [Structure get](https://firecrawl.dev/alexandria/agents/providers/sdmx-oecd-org/datasets/structure_get)

Accepted options:
- `dataflow` (string, required): AGENCY:ID(VERSION), AGENCY:ID (latest), or the data-URL form AGENCY,ID,VERSION / AGENCY,ID, (latest). Example: OECD.CTP.TPS:DSD_REV_COMP_OECD@DF_RSOECD(2.0). Example: `<dataflow>`

Response schema example:
```json
{
  "agency_id": "OECD.CTP.TPS",
  "attributes": [
    {
      "assignment_status": "Mandatory",
      "attached_to": [
        "OBS_VALUE"
      ],
      "codelist": {
        "agency_id": "SDMX",
        "id": "CL_OBS_STATUS",
        "url": "https://sdmx.oecd.org/public/rest/codelist/SDMX/CL_OBS_STATUS/2.2",
        "version": "2.2"
      },
      "id": "OBS_STATUS"
    },
    {
      "assignment_status": "Mandatory",
      "attached_to": [
        "REF_AREA",
        "UNIT_MEASURE"
      ],
      "codelist": {
        "agency_id": "SDMX",
        "id": "CL_UNIT_MULT",
        "url": "https://sdmx.oecd.org/public/rest/codelist/SDMX/CL_UNIT_MULT/1.1",
        "version": "1.1"
      },
      "id": "UNIT_MULT"
    },
    {
      "assignment_status": "Mandatory",
      "attached_to": [
        "STANDARD_REVENUE",
        "CTRY_SPECIFIC_REVENUE",
        "REF_AREA"
      ],
      "codelist": null,
      "id": "REVENUE_CODE"
    },
    {
      "assignment_status": "Mandatory",
      "attached_to": [
        "REF_AREA",
        "UNIT_MEASURE"
      ],
      "codelist": {
        "agency_id": "SDMX",
        "id": "CL_DECIMALS",
        "url": "https://sdmx.oecd.org/public/rest/codelist/SDMX/CL_DECIMALS/1.0",
        "version": "1.0"
      },
      "id": "DECIMALS"
    },
    {
      "assignment_status": "Conditional",
      "attached_to": [
        "UNIT_MEASURE",
        "REF_AREA"
      ],
      "codelist": {
        "agency_id": "OECD",
        "id": "CL_CURRENCY",
        "url": "https://sdmx.oecd.org/public/rest/codelist/OECD/CL_CURRENCY/1.2",
        "version": "1.2"
      },
      "id": "CURRENCY"
    }
  ],
  "attribution": "Source: OECD Data Explorer, https://data-explorer.oecd.org/ (SDMX API https://sdmx.oecd.org/public/rest/). OECD terms: https://www.oecd.org/en/about/terms-conditions.html; cite the OECD and the dataflow; check the dataflow metadata for third-party owners.",
  "availability_url": "https://sdmx.oecd.org/public/rest/availableconstraint/OECD.CTP.TPS,DSD_REV_COMP_OECD@DF_RSOECD,2.0/all?mode=available&references=none",
  "data_structure": {
    "agency_id": "OECD.CTP.TPS",
    "id": "DSD_REV_COMP_OECD",
    "name": "DSD comparative series of OECD member countries",
    "version": "2.0"
  },
  "dataflow_ref": "OECD.CTP.TPS:DSD_REV_COMP_OECD@DF_RSOECD(2.0)",
  "description": "<p>Internationally comparable tax revenue data for OECD countries presented as a percentage of GDP and as a share of total tax or non-tax revenues as well as in national currency and US dollars. Tax revenues are harmonised according to the OECD classification of taxes.</p><p>Related topics: Tax-to-GDP, Taxation, Tax structure, Tax mix, Regional average – change for each region, Domestic resource mobilisation, Public finance, Income tax, Social security contributions, Goods and services, Value added tax, VAT, Excise, Customs, Property tax.</p>",
  "dimensions": [
    {
      "available_codes": [
        "AUS",
        "AUT",
        "BEL",
        "CAN",
        "CHE",
        "CHL",
        "COL",
        "CRI",
        "CZE",
        "DEU",
        "DNK",
        "ESP",
        "EST",
        "FEDOECD",
        "FIN",
        "FRA",
        "GBR",
        "GRC",
        "HUN",
        "IRL",
        "ISL",
        "ISR",
        "ITA",
        "JPN",
        "KOR",
        "LTU",
        "LUX",
        "LVA",
        "MEX",
        "NLD",
        "NOR",
        "NZL",
        "OECD_REP",
        "POL",
        "PRT",
        "SVK",
        "SVN",
        "SWE",
        "TUR",
        "UNIOECD",
        "USA"
      ],
      "codelist": {
        "agency_id": "OECD",
        "id": "CL_AREA",
        "url": "https://sdmx.oecd.org/public/rest/codelist/OECD/CL_AREA/1.7",
        "version": "1.7"
      },
      "id": "REF_AREA",
      "position": 0
    },
    {
      "available_codes": [
        "TAX_REV"
      ],
      "codelist": {
        "agency_id": "OECD.CTP.TPS",
        "id": "CL_MEASURE_REV",
        "url": "https://sdmx.oecd.org/public/rest/codelist/OECD.CTP.TPS/CL_MEASURE_REV/1.0",
        "version": "1.0"
      },
      "id": "MEASURE",
      "position": 1
    },
    {
      "available_codes": [
        "S13",
        "S1311",
        "S1312",
        "S1313",
        "S1314",
        "S1315"
      ],
      "codelist": {
        "agency_id": "OECD",
        "id": "CL_SECTOR",
        "url": "https://sdmx.oecd.org/public/rest/codelist/OECD/CL_SECTOR/1.2",
        "version": "1.2"
      },
      "id": "SECTOR",
      "position": 2
    },
    {
      "available_codes": [
        "_O",
        "_T",
        "T_1000",
        "T_1100",
        "T_1110",
        "T_1120",
        "T_1200",
        "T_1210",
        "T_1220",
        "T_1300",
        "T_2000",
        "T_2100",
        "T_2110",
        "T_2120",
        "T_2200",
        "T_2210",
        "T_2220",
        "T_2300",
        "T_2310",
        "T_2320",
        "T_2400",
        "T_2410",
        "T_2420",
        "T_3000",
        "T_4000",
        "T_4100",
        "T_4110",
        "T_4120",
        "T_4200",
        "T_4210",
        "T_4220",
        "T_4300",
        "T_4310",
        "T_4320",
        "T_4400",
        "T_4500",
        "T_4510",
        "T_4520",
        "T_4600",
        "T_5000",
        "T_5100",
        "T_5110",
        "T_5111",
        "T_5112",
        "T_5113",
        "T_5120",
        "T_5121",
        "T_5122",
        "T_5123",
        "T_5124",
        "T_5125",
        "T_5126",
        "T_5127",
        "T_5128",
        "T_5130",
        "T_5200",
        "T_5210",
        "T_5211",
        "T_5212",
        "T_5213",
        "T_5220",
        "T_5300",
        "T_6000",
        "T_6100",
        "T_6200",
        "T_AA",
        "T_AB",
        "T_AC",
        "T_AD",
        "T_AE",
        "T_AF",
        "T_AG",
        "T_AH",
        "T_AI",
        "T_AJ",
        "T_AK",
        "T_CUS",
        "T_EUC",
        "T_GROSS",
        "T_NES_SUPRA",
        "T_NET",
        "T_NW1",
        "T_NW1EXP",
        "T_NW1TRAN",
        "T_NW2",
        "T_NW2EXP",
        "T_NW2TRAN",
        "T_NW3",
        "T_NW3EXP",
        "T_NW3TRAN",
        "T_NWEXP",
        "T_NWTOT",
        "T_NWTRAN",
        "T_SPLIT",
        "T_SRF"
      ],
      "codelist": {
        "agency_id": "OECD.CTP.TPS",
        "id": "CL_STANDARD_REVENUE",
        "url": "https://sdmx.oecd.org/public/rest/codelist/OECD.CTP.TPS/CL_STANDARD_REVENUE/1.2",
        "version": "1.2"
      },
      "id": "STANDARD_REVENUE",
      "position": 3
    },
    {
      "available_codes": [
        "_T"
      ],
      "codelist": {
        "agency_id": "OECD.CTP.TPS",
        "id": "CL_CTRY_SPECIFIC_REVENUE",
        "url": "https://sdmx.oecd.org/public/rest/codelist/OECD.CTP.TPS/CL_CTRY_SPECIFIC_REVENUE/2.6",
        "version": "2.6"
      },
      "id": "CTRY_SPECIFIC_REVENUE",
      "position": 4
    },
    {
      "available_codes": [
        "PT_B1GQ",
        "PT_OTR_REV_CAT",
        "PT_OTR_SECTOR",
        "USD",
        "XDC"
      ],
      "codelist": {
        "agency_id": "OECD",
        "id": "CL_UNIT_MEASURE",
        "url": "https://sdmx.oecd.org/public/rest/codelist/OECD/CL_UNIT_MEASURE/1.20",
        "version": "1.20"
      },
      "id": "UNIT_MEASURE",
      "position": 5
    },
    {
      "available_codes": [
        "A"
      ],
      "codelist": {
        "agency_id": "SDMX",
        "id": "CL_FREQ",
        "url": "https://sdmx.oecd.org/public/rest/codelist/SDMX/CL_FREQ/2.1",
        "version": "2.1"
      },
      "id": "FREQ",
      "position": 6
    }
  ],
  "id": "DSD_REV_COMP_OECD@DF_RSOECD",
  "is_final": true,
  "name": "Revenue Statistics in OECD member countries - Comparative tax revenues",
  "obs_count": 2940766,
  "observed_at_ms": 1792360043908,
  "primary_measure": "OBS_VALUE",
  "publication_id": "OECD.CTP.TPS:DSD_REV_COMP_OECD@DF_RSOECD(2.0)",
  "retrieved_at": "2026-10-18T21:47:23Z",
  "source_url": "https://sdmx.oecd.org/public/rest/dataflow/OECD.CTP.TPS/DSD_REV_COMP_OECD@DF_RSOECD/2.0?references=none",
  "structure_url": "https://sdmx.oecd.org/public/rest/datastructure/OECD.CTP.TPS/DSD_REV_COMP_OECD/2.0?references=none",
  "time_dimension": "TIME_PERIOD",
  "time_range": {
    "end": "2024-12-31",
    "start": "1965-01-01"
  },
  "version": "2.0"
}
```
