---
type: "firecrawl-provider"
description: "Eurostat's public dissemination API on ec.europa.eu: search the dataset catalogue, read a dataset's metadata card and dimension code lists, run filtered JSON-stat data queries on any of the ~8,000 datasets, and typed wrappers for country price level indices (EU27=100) and the semi-annual purchasing power parities of EU capital and duty-station cities (Brussels=1). Anonymous, keyless."
use_when: "Eurostat's public dissemination API on ec.europa.eu: search the dataset catalogue, read a dataset's metadata card and dimension code lists, run filtered JSON-stat data queries on any of the ~8,000 datasets, and typed wrappers for country price level indices (EU27=100) and the semi-annual purchasing power parities of EU capital and duty-station cities (Brussels=1). Anonymous, keyless."
categories: "Public records"
capabilities: 5
credits_per_call: 5
---
# Eurostat (ec.europa.eu) on Firecrawl Alexandria

Eurostat's public dissemination API on ec.europa.eu: search the dataset catalogue, read a dataset's metadata card and dimension code lists, run filtered JSON-stat data queries on any of the ~8,000 datasets, and typed wrappers for country price level indices (EU27=100) and the semi-annual purchasing power parities of EU capital and duty-station cities (Brussels=1). Anonymous, keyless.

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

## More

- [Human guide](https://firecrawl.dev/app/alexandria/ec-europa-eu)
- [OpenAPI spec](https://firecrawl.dev/alexandria/agents/providers/ec-europa-eu/openapi.json)

## Capabilities

- [City price parities](https://firecrawl.dev/alexandria/agents/providers/ec-europa-eu/indicators/city_price_parities): Semi-annual purchasing power parities for 33 EU/UK capital and duty-station cities relative to Brussels (= 1) from dataset prc_colc_ppptot: the only city-level price comparison Eurostat publishes. It is the staff-remuneration correction-coefficient dataset (COICOP TOTAL or TOTAL except actual rents), not a general consumer price level index. City codes are Eurostat geo codes such as BE_CAP (Brussels), DE_CAP (Berlin), DE_DEL2 (Munich), FR_CAP (Paris), IT_DEL (Varese), NL_DEL (Den Haag).
- [Get dataset](https://firecrawl.dev/alexandria/agents/providers/ec-europa-eu/indicators/get_dataset): Metadata card and dimension code lists for one dataset or table code: title, observation count, period range, data and structure update timestamps, DOI, ESMS metadata URL, data structure id/version, and every dimension with its codes and labels (from the Data Browser backend).
- [Price level indices](https://firecrawl.dev/alexandria/agents/providers/ec-europa-eu/indicators/price_level_indices): Comparative price level indices for countries (EU27_2020 = 100) from dataset prc_ppp_ind_1 (indicator PLI_EU27_2020), by analytical category (A01 actual individual consumption, GDP, A0101 food, ... from codelist PPP_CAT18) and year. Covers EU members, EFTA, UK, candidate countries, US and Japan. Eurostat publishes no city- or region-level price level index; see city_price_parities for the city-level purchasing power parities it does publish.
- [Query data](https://firecrawl.dev/alexandria/agents/providers/ec-europa-eu/indicators/query_data): Filtered data query on any Eurostat dataset through the statistics/1.0 JSON-stat endpoint. Filters are dimension id -> list of codes (OR within a dimension); time is sliced with time, since and until. The sparse JSON-stat cube is flattened into one observation per cell with the codes of every dimension, the value and the Eurostat status flag. Requests that are too large for a synchronous answer fail with upstream_error (413 ASYNCHRONOUS_RESPONSE): narrow the filters.
- [Search datasets](https://firecrawl.dev/alexandria/agents/providers/ec-europa-eu/indicators/search_datasets): Search Eurostat's catalogue table of contents (~8,000 datasets and tables) by keywords in the title or dataset code. Client-side filtering of the catalogue listing; results carry the dataset code, type, last update, period range, folder path and Data Browser URL.

## 1. Choose this provider when

Eurostat's public dissemination API on ec.europa.eu: search the dataset catalogue, read a dataset's metadata card and dimension code lists, run filtered JSON-stat data queries on any of the ~8,000 datasets, and typed wrappers for country price level indices (EU27=100) and the semi-annual purchasing power parities of EU capital and duty-station cities (Brussels=1). Anonymous, keyless.

## 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": "ec-europa-eu",
  "capability": "indicators/city_price_parities",
  "options": {
    "cities": [
      "DE_CAP",
      "FR_CAP"
    ],
    "since": "2025-S1"
  }
}
```

## 3. Add provider options

Use only the options needed for the task:

- `cities` (string[]): geo codes of the dataset (BE_CAP, DE_CAP, FR_CAP, ...). Omit for all cities. Example: `[]`
- `coicop` (string): TOTAL or TOT_X_CP041_042 (total except actual rents). Example: `TOTAL`
- `since` (string): First half-year period to include (2025-S1). Pattern: ^[0-9]{4}-S[12]$. Example: `<since>`
- `until` (string): Pattern: ^[0-9]{4}-S[12]$. Example: `<until>`

## 4. Request through your preferred interface

### JavaScript

```javascript
const result = await firecrawl.scrape({
  alexandria: {
    provider: "ec-europa-eu",
    capability: "indicators/city_price_parities",
    options: {
      cities: [
        "DE_CAP",
        "FR_CAP",
      ],
      since: "2025-S1",
    },
  },
});
```

### Python

```python
result = firecrawl.scrape_alexandria({
  "provider": "ec-europa-eu",
  "capability": "indicators/city_price_parities",
  "options": {
    "cities": [
      "DE_CAP",
      "FR_CAP"
    ],
    "since": "2025-S1"
  }
})
```

### cURL

```sh
curl https://api.firecrawl.dev/v2/scrape \
  -H "Authorization: Bearer $FIRECRAWL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "alexandria": {
    "provider": "ec-europa-eu",
    "capability": "indicators/city_price_parities",
    "options": {
      "cities": [
        "DE_CAP",
        "FR_CAP"
      ],
      "since": "2025-S1"
    }
  }
}'
```

### CLI

```sh
firecrawl scrape 'ec-europa-eu/indicators/city_price_parities' \
  --options '{"cities":["DE_CAP","FR_CAP"],"since":"2025-S1"}'
```


### MCP

Call the FCX MCP retrieve tool with this object:

```json
{
  "provider": "ec-europa-eu",
  "capability": "indicators/city_price_parities",
  "options": {
    "cities": [
      "DE_CAP",
      "FR_CAP"
    ],
    "since": "2025-S1"
  }
}
```

Ask for only the returned fields needed by the task.

## 5. Full request shape

```json
{
  "provider": "ec-europa-eu",
  "capability": "indicators/city_price_parities",
  "options": {
    "cities": [
      "DE_CAP",
      "FR_CAP"
    ],
    "since": "2025-S1"
  }
}
```

## 6. Response data

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

```json
{
  "coicop": "TOTAL",
  "coicop_label": "Total",
  "count": 2,
  "dataset": "prc_colc_ppptot",
  "observed_at_ms": 1790272641302,
  "rows": [
    {
      "city_code": "DE_CAP",
      "city_label": "Berlin",
      "index_brussels_1": 1.027,
      "period": "2025-S2",
      "status": null
    },
    {
      "city_code": "FR_CAP",
      "city_label": "Paris",
      "index_brussels_1": 1.136,
      "period": "2025-S2",
      "status": null
    }
  ],
  "source_url": "https://ec.europa.eu/eurostat/api/dissemination/statistics/1.0/data/prc_colc_ppptot?coicop=TOTAL&geo=DE_CAP&geo=FR_CAP&sinceTimePeriod=2025-S1&lang=en",
  "title": "Purchasing Power Parities in the European Union (Duty stations) - index (Brussels = 1)",
  "updated": "2026-06-17T23:00:00+0200",
  "url": "https://ec.europa.eu/eurostat/databrowser/view/prc_colc_ppptot/default/table?lang=en"
}
```

## API reference-derived contract

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

### City price parities

- Capability: `indicators/city_price_parities`
- Description: Semi-annual purchasing power parities for 33 EU/UK capital and duty-station cities relative to Brussels (= 1) from dataset prc_colc_ppptot: the only city-level price comparison Eurostat publishes. It is the staff-remuneration correction-coefficient dataset (COICOP TOTAL or TOTAL except actual rents), not a general consumer price level index. City codes are Eurostat geo codes such as BE_CAP (Brussels), DE_CAP (Berlin), DE_DEL2 (Munich), FR_CAP (Paris), IT_DEL (Varese), NL_DEL (Den Haag).
- Instructions: The 'how expensive is EU city X relative to Brussels' question at half-year granularity. Omit cities for all 33; use since/until for a period range.
- Cost: 5 credits per call
- Capability file: [City price parities](https://firecrawl.dev/alexandria/agents/providers/ec-europa-eu/indicators/city_price_parities)

Accepted options:
- `cities` (string[]): geo codes of the dataset (BE_CAP, DE_CAP, FR_CAP, ...). Omit for all cities. Example: `[]`
- `coicop` (string): TOTAL or TOT_X_CP041_042 (total except actual rents). Example: `TOTAL`
- `since` (string): First half-year period to include (2025-S1). Pattern: ^[0-9]{4}-S[12]$. Example: `<since>`
- `until` (string): Pattern: ^[0-9]{4}-S[12]$. Example: `<until>`

Response schema example:
```json
{
  "coicop": "TOTAL",
  "coicop_label": "Total",
  "count": 2,
  "dataset": "prc_colc_ppptot",
  "observed_at_ms": 1790272641302,
  "rows": [
    {
      "city_code": "DE_CAP",
      "city_label": "Berlin",
      "index_brussels_1": 1.027,
      "period": "2025-S2",
      "status": null
    },
    {
      "city_code": "FR_CAP",
      "city_label": "Paris",
      "index_brussels_1": 1.136,
      "period": "2025-S2",
      "status": null
    }
  ],
  "source_url": "https://ec.europa.eu/eurostat/api/dissemination/statistics/1.0/data/prc_colc_ppptot?coicop=TOTAL&geo=DE_CAP&geo=FR_CAP&sinceTimePeriod=2025-S1&lang=en",
  "title": "Purchasing Power Parities in the European Union (Duty stations) - index (Brussels = 1)",
  "updated": "2026-06-17T23:00:00+0200",
  "url": "https://ec.europa.eu/eurostat/databrowser/view/prc_colc_ppptot/default/table?lang=en"
}
```

### Get dataset

- Capability: `indicators/get_dataset`
- Description: Metadata card and dimension code lists for one dataset or table code: title, observation count, period range, data and structure update timestamps, DOI, ESMS metadata URL, data structure id/version, and every dimension with its codes and labels (from the Data Browser backend).
- Instructions: After search_datasets, to learn which dimensions and codes a dataset accepts before calling query_data.
- Cost: 5 credits per call
- Capability file: [Get dataset](https://firecrawl.dev/alexandria/agents/providers/ec-europa-eu/indicators/get_dataset)

Accepted options:
- `code` (string, required): Dataset or table code such as prc_ppp_ind_1, tec00120, prc_colc_ppptot (case-insensitive). Pattern: ^[A-Za-z0-9_]{1,64}$. Example: `<code>`
- `lang` (string): lang Example: `en`
- `max_codes` (number): Cap on codes listed per dimension; codes_truncated says when a dimension has more. Example: `200`

Response schema example:
```json
{
  "code": "prc_colc_ppptot",
  "created": "2017-05-15T16:47:53+0200",
  "data_structure": {
    "id": "PRC_COLC_PPPTOT",
    "version": "34.0"
  },
  "dimensions": [
    {
      "codes": [
        {
          "code": "S",
          "label": "Half-yearly, semesterly"
        }
      ],
      "codes_truncated": false,
      "count": 1,
      "id": "freq",
      "label": "Time frequency"
    },
    {
      "codes": [
        {
          "code": "INX",
          "label": "Index"
        }
      ],
      "codes_truncated": false,
      "count": 1,
      "id": "unit",
      "label": "Unit of measure"
    },
    {
      "codes": [
        {
          "code": "TOTAL",
          "label": "Total"
        },
        {
          "code": "TOT_X_CP041_042",
          "label": "Total except actual rents"
        }
      ],
      "codes_truncated": false,
      "count": 2,
      "id": "coicop",
      "label": "Classification of individual consumption by purpose (COICOP)"
    },
    {
      "codes": [
        {
          "code": "BE_CAP",
          "label": "Bruxelles/Brussel"
        },
        {
          "code": "BG_CAP",
          "label": "Sofia"
        },
        {
          "code": "CZ_CAP",
          "label": "Praha"
        },
        {
          "code": "DK_CAP",
          "label": "København"
        },
        {
          "code": "DE_CAP",
          "label": "Berlin"
        },
        {
          "code": "DE_DEL1",
          "label": "Karlsruhe"
        },
        {
          "code": "DE_DEL2",
          "label": "München"
        },
        {
          "code": "DE_DEL3",
          "label": "Bonn"
        },
        {
          "code": "EE_CAP",
          "label": "Tallinn"
        },
        {
          "code": "IE_CAP",
          "label": "Dublin"
        },
        {
          "code": "EL_CAP",
          "label": "Athina"
        },
        {
          "code": "ES_CAP",
          "label": "Madrid"
        },
        {
          "code": "FR_CAP",
          "label": "Paris"
        },
        {
          "code": "HR_CAP",
          "label": "Zagreb"
        },
        {
          "code": "IT_CAP",
          "label": "Roma"
        },
        {
          "code": "IT_DEL",
          "label": "Varese"
        },
        {
          "code": "CY_CAP",
          "label": "Lefkosia"
        },
        {
          "code": "LV_CAP",
          "label": "Riga"
        },
        {
          "code": "LT_CAP",
          "label": "Vilnius"
        },
        {
          "code": "LU_CAP",
          "label": "Luxembourg"
        },
        {
          "code": "HU_CAP",
          "label": "Budapest"
        },
        {
          "code": "MT_CAP",
          "label": "Valletta"
        },
        {
          "code": "NL_DEL",
          "label": "Den Haag"
        },
        {
          "code": "AT_CAP",
          "label": "Wien"
        },
        {
          "code": "PL_CAP",
          "label": "Warszawa"
        },
        {
          "code": "PT_CAP",
          "label": "Lisboa"
        },
        {
          "code": "RO_CAP",
          "label": "Bucuresti"
        },
        {
          "code": "SI_CAP",
          "label": "Ljubljana"
        },
        {
          "code": "SK_CAP",
          "label": "Bratislava"
        },
        {
          "code": "FI_CAP",
          "label": "Helsinki"
        },
        {
          "code": "SE_CAP",
          "label": "Stockholm"
        },
        {
          "code": "UK_CAP",
          "label": "London"
        },
        {
          "code": "UK_DEL",
          "label": "Culham"
        }
      ],
      "codes_truncated": false,
      "count": 33,
      "id": "geo",
      "label": "Geopolitical entity (reporting)"
    },
    {
      "codes": [
        {
          "code": "2010-S2",
          "label": "2010-S2"
        },
        {
          "code": "2011-S1",
          "label": "2011-S1"
        },
        {
          "code": "2011-S2",
          "label": "2011-S2"
        },
        {
          "code": "2012-S1",
          "label": "2012-S1"
        },
        {
          "code": "2012-S2",
          "label": "2012-S2"
        },
        {
          "code": "2013-S2",
          "label": "2013-S2"
        },
        {
          "code": "2014-S1",
          "label": "2014-S1"
        },
        {
          "code": "2014-S2",
          "label": "2014-S2"
        },
        {
          "code": "2015-S1",
          "label": "2015-S1"
        },
        {
          "code": "2015-S2",
          "label": "2015-S2"
        },
        {
          "code": "2016-S2",
          "label": "2016-S2"
        },
        {
          "code": "2017-S2",
          "label": "2017-S2"
        },
        {
          "code": "2018-S2",
          "label": "2018-S2"
        },
        {
          "code": "2019-S2",
          "label": "2019-S2"
        },
        {
          "code": "2020-S1",
          "label": "2020-S1"
        },
        {
          "code": "2020-S2",
          "label": "2020-S2"
        },
        {
          "code": "2021-S2",
          "label": "2021-S2"
        },
        {
          "code": "2022-S1",
          "label": "2022-S1"
        },
        {
          "code": "2022-S2",
          "label": "2022-S2"
        },
        {
          "code": "2023-S1",
          "label": "2023-S1"
        },
        {
          "code": "2023-S2",
          "label": "2023-S2"
        },
        {
          "code": "2024-S1",
          "label": "2024-S1"
        },
        {
          "code": "2024-S2",
          "label": "2024-S2"
        },
        {
          "code": "2025-S2",
          "label": "2025-S2"
        },
        {
          "code": "2026-S1",
          "label": "2026-S1"
        }
      ],
      "codes_truncated": false,
      "count": 25,
      "id": "time",
      "label": "Time"
    }
  ],
  "doi": "10.2908/PRC_COLC_PPPTOT",
  "lang": "en",
  "metadata_url": "https://ec.europa.eu/eurostat/cache/metadata/en/prc_colc_tot_esms.htm",
  "object_type": "DATASET",
  "obs_count": 1204,
  "observed_at_ms": 1790272628965,
  "period_latest": "2026-S1",
  "period_oldest": "2010-S2",
  "source_urls": {
    "card": "https://ec.europa.eu/eurostat/api/dissemination/sdmx/2.1/dataflow/ESTAT/prc_colc_ppptot?format=JSON&lang=en",
    "dimensions": "https://ec.europa.eu/eurostat/databrowser-backend/api/card/1.0/LIVE/json/en/prc_colc_ppptot/dimensions?stub=false&filtered=true"
  },
  "title": "Purchasing Power Parities in the European Union (Duty stations) - index (Brussels = 1)",
  "update_data": "2026-06-17T23:00:00+0200",
  "update_structure": "2026-06-17T23:00:00+0200",
  "url": "https://ec.europa.eu/eurostat/databrowser/view/prc_colc_ppptot/default/table?lang=en"
}
```

### Price level indices

- Capability: `indicators/price_level_indices`
- Description: Comparative price level indices for countries (EU27_2020 = 100) from dataset prc_ppp_ind_1 (indicator PLI_EU27_2020), by analytical category (A01 actual individual consumption, GDP, A0101 food, ... from codelist PPP_CAT18) and year. Covers EU members, EFTA, UK, candidate countries, US and Japan. Eurostat publishes no city- or region-level price level index; see city_price_parities for the city-level purchasing power parities it does publish.
- Instructions: The 'how expensive is country X relative to the EU' question. Pass geo codes to restrict; omit year for the whole series.
- Cost: 5 credits per call
- Capability file: [Price level indices](https://firecrawl.dev/alexandria/agents/providers/ec-europa-eu/indicators/price_level_indices)

Accepted options:
- `category` (string): PPP_CAT18 analytical category code (A01 actual individual consumption, GDP, A0101 food and non-alcoholic beverages, ...). Pattern: ^[A-Za-z0-9_]{1,32}$. Example: `A01`
- `geo` (string[]): Eurostat geo codes (DE, FR, EU27_2020, EA20, US, JP, ...). Omit for every reporting country. Example: `[]`
- `since` (string): Pattern: ^[0-9]{4}$. Example: `<since>`
- `until` (string): Pattern: ^[0-9]{4}$. Example: `<until>`
- `year` (number): One reference year. Omit (with since/until) for a time range. Example: `1995`

Response schema example:
```json
{
  "category": "A01",
  "category_label": "Actual individual consumption",
  "count": 2,
  "dataset": "prc_ppp_ind_1",
  "indicator": "PLI_EU27_2020",
  "indicator_label": "Price level indices (EU27_2020=100)",
  "observed_at_ms": 1790272637246,
  "rows": [
    {
      "geo": "DE",
      "geo_label": "Germany",
      "price_level_index": 109.3,
      "status": null,
      "year": "2024"
    },
    {
      "geo": "FR",
      "geo_label": "France",
      "price_level_index": 107.6,
      "status": null,
      "year": "2024"
    }
  ],
  "source_url": "https://ec.europa.eu/eurostat/api/dissemination/statistics/1.0/data/prc_ppp_ind_1?indic_ppp=PLI_EU27_2020&ppp_cat18=A01&geo=DE&geo=FR&time=2024&lang=en",
  "title": "Purchasing power parities, price level indices, nominal and real expenditures by analytical categories - based on COICOP 2018",
  "updated": "2026-07-09T23:00:00+0200",
  "url": "https://ec.europa.eu/eurostat/databrowser/view/prc_ppp_ind_1/default/table?lang=en"
}
```

### Query data

- Capability: `indicators/query_data`
- Description: Filtered data query on any Eurostat dataset through the statistics/1.0 JSON-stat endpoint. Filters are dimension id -> list of codes (OR within a dimension); time is sliced with time, since and until. The sparse JSON-stat cube is flattened into one observation per cell with the codes of every dimension, the value and the Eurostat status flag. Requests that are too large for a synchronous answer fail with upstream_error (413 ASYNCHRONOUS_RESPONSE): narrow the filters.
- Instructions: Any dataset code from search_datasets once get_dataset has shown its dimensions and codes. For country price level indices or city purchasing power parities the typed wrappers are simpler.
- Cost: 5 credits per call
- Capability file: [Query data](https://firecrawl.dev/alexandria/agents/providers/ec-europa-eu/indicators/query_data)

Accepted options:
- `code` (string, required): Dataset or table code (prc_ppp_ind_1, tec00120, urb_cecfi). Pattern: ^[A-Za-z0-9_]{1,64}$. Example: `<code>`
- `filters` (object): Dimension id (as listed by get_dataset, e.g. geo, indic_ppp, ppp_cat18, cities) -> codes to keep. An unknown dimension id is rejected upstream (400) and reported as invalid_input; an unknown code yields not_found. Example: `{}`
- `lang` (string): lang Example: `en`
- `since` (string): sinceTimePeriod: first period to include. Pattern: ^[0-9]{4}(-(S[12]|Q[1-4]|[0-9]{2}))?$. Example: `<since>`
- `time` (string[]): Exact periods to keep (2024, 2025-S1, 2026-Q1, 2026-07). Example: `[]`
- `until` (string): untilTimePeriod: last period to include. Pattern: ^[0-9]{4}(-(S[12]|Q[1-4]|[0-9]{2}))?$. Example: `<until>`

Response schema example:
```json
{
  "code": "prc_ppp_ind_1",
  "dimensions": [
    {
      "codes": [
        {
          "code": "A",
          "label": "Annual"
        }
      ],
      "id": "freq",
      "label": "Time frequency"
    },
    {
      "codes": [
        {
          "code": "PLI_EU27_2020",
          "label": "Price level indices (EU27_2020=100)"
        }
      ],
      "id": "indic_ppp",
      "label": "Purchasing power parities indicator"
    },
    {
      "codes": [
        {
          "code": "A01",
          "label": "Actual individual consumption"
        }
      ],
      "id": "ppp_cat18",
      "label": "Analytical categories for purchasing power parities (PPPs) calculation (based on COICOP18)"
    },
    {
      "codes": [
        {
          "code": "DE",
          "label": "Germany"
        },
        {
          "code": "FR",
          "label": "France"
        }
      ],
      "id": "geo",
      "label": "Geopolitical entity (reporting)"
    },
    {
      "codes": [
        {
          "code": "2024",
          "label": "2024"
        }
      ],
      "id": "time",
      "label": "Time"
    }
  ],
  "lang": "en",
  "observation_count": 2,
  "observations": [
    {
      "key": {
        "freq": "A",
        "geo": "DE",
        "indic_ppp": "PLI_EU27_2020",
        "ppp_cat18": "A01"
      },
      "status": null,
      "time": "2024",
      "value": 109.3
    },
    {
      "key": {
        "freq": "A",
        "geo": "FR",
        "indic_ppp": "PLI_EU27_2020",
        "ppp_cat18": "A01"
      },
      "status": null,
      "time": "2024",
      "value": 107.6
    }
  ],
  "observed_at_ms": 1790272633140,
  "source_url": "https://ec.europa.eu/eurostat/api/dissemination/statistics/1.0/data/prc_ppp_ind_1?geo=DE&geo=FR&indic_ppp=PLI_EU27_2020&ppp_cat18=A01&time=2024&lang=en",
  "title": "Purchasing power parities, price level indices, nominal and real expenditures by analytical categories - based on COICOP 2018",
  "updated": "2026-07-09T23:00:00+0200"
}
```

### Search datasets

- Capability: `indicators/search_datasets`
- Description: Search Eurostat's catalogue table of contents (~8,000 datasets and tables) by keywords in the title or dataset code. Client-side filtering of the catalogue listing; results carry the dataset code, type, last update, period range, folder path and Data Browser URL.
- Instructions: Start here to find a dataset code (for example 'price level indices' -> prc_ppp_ind_1, tec00120) before calling get_dataset or query_data.
- Cost: 5 credits per call
- Capability file: [Search datasets](https://firecrawl.dev/alexandria/agents/providers/ec-europa-eu/indicators/search_datasets)

Accepted options:
- `continuation` (string): Cursor from a previous page's meta.page.next_cursor. Example: `<continuation>`
- `lang` (string): Language of the titles. Example: `en`
- `limit` (number): limit Example: `20`
- `query` (string, required): Keywords; every whitespace-separated term must appear (case-insensitive) in the title or the code. Example: `<query>`

Response schema example:
```json
{
  "datasets": [
    {
      "code": "prc_ppp_ind_1",
      "data_end": "2025",
      "data_start": "1995",
      "last_structure_change": "2026-03-25",
      "last_update": "2026-07-09",
      "theme_path": [
        "Database by themes",
        "Economy and finance",
        "Prices",
        "Purchasing power parities"
      ],
      "title": "Purchasing power parities, price level indices, nominal and real expenditures by analytical categories - based on COICOP 2018",
      "type": "dataset",
      "url": "https://ec.europa.eu/eurostat/databrowser/view/prc_ppp_ind_1/default/table?lang=en",
      "values": 154743
    },
    {
      "code": "tec00120",
      "data_end": "2025",
      "data_start": "2014",
      "last_structure_change": "2026-03-25",
      "last_update": "2026-07-09",
      "theme_path": [
        "Database by themes",
        "Economy and finance",
        "Prices",
        "Purchasing power parities"
      ],
      "title": "Price level indices",
      "type": "table",
      "url": "https://ec.europa.eu/eurostat/databrowser/view/tec00120/default/table?lang=en",
      "values": 516
    },
    {
      "code": "prc_ppp_ind",
      "data_end": "2024",
      "data_start": "1995",
      "last_structure_change": "2025-03-27",
      "last_update": "2025-07-10",
      "theme_path": [
        "Database by themes",
        "Economy and finance",
        "Prices",
        "Purchasing power parities"
      ],
      "title": "Purchasing power parities, price level indices, nominal and real expenditures by analytical categories - based on COICOP 1999",
      "type": "dataset",
      "url": "https://ec.europa.eu/eurostat/databrowser/view/prc_ppp_ind/default/table?lang=en",
      "values": 1401572
    }
  ],
  "lang": "en",
  "observed_at_ms": 1790272619363,
  "query": "price level indices",
  "source_url": "https://ec.europa.eu/eurostat/api/dissemination/catalogue/toc/txt?lang=en",
  "total_matches": 3
}
```
