# EU Open Data API
> The European Union open-data portal as an API, powered by data.europa.eu — the official single point of access to more than 1.8 million open datasets published by the EU institutions and harvested from the national open-data portals of all 27 member states (including data.gov.uk, data.gouv.fr and GovData Germany). Search datasets across every theme — energy, health, transport, environment, agriculture, economy, justice and more — with optional filters by file format and by publishing country, getting each dataset's identifier, English title and description, publisher, source portal, country, available formats, resource count, last-modified date and licence; read a dataset's full metadata together with all of its downloadable distributions (each distribution's title, format and direct URL), plus categories, keywords, languages and temporal coverage; and explore discovery facets for any query — the most common file formats and the countries publishing matching datasets. Ideal for data journalism, civic-tech and govtech applications, research, market and policy analysis, and any tool that needs to find and download European public-sector information. Dataset identifiers come from search results; titles and descriptions are returned in English where available. Data from data.europa.eu (licences vary per dataset; most are CC-BY or public domain).

## Authentication
All requests require your oanor API key in the `x-oanor-key` header. Get one at https://www.oanor.com/developer/keys.

```bash
curl -H "x-oanor-key: oanor_live_…" "https://api.oanor.com/eudata-api/..."
```

## Pricing
- **Free** (Free) — 540 calls/Mo, 2 req/s
- **Starter** ($7/Mo) — 19,000 calls/Mo, 6 req/s
- **Pro** ($21/Mo) — 89,000 calls/Mo, 15 req/s
- **Mega** ($57/Mo) — 370,000 calls/Mo, 40 req/s

## Endpoints

### Datasets

#### `GET /v1/dataset` — A dataset's metadata & files

**Parameters:**
- `id` (query, required, string) — Dataset id from search results Example: `osni-open-data-50k-transport-transport-points11`

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/eudata-api/v1/dataset?id=osni-open-data-50k-transport-transport-points11"
```

**Response:**
```json
{
    "data": {
        "dataset": {
            "id": "osni-open-data-50k-transport-transport-points11",
            "url": "https://data.europa.eu/data/datasets/osni-open-data-50k-transport-transport-points11",
            "title": "OSNI Open Data - 50K Transport - Transport Points",
            "country": {
                "code": "gb",
                "name": "United Kingdom"
            },
            "created": "2021-10-12T05:58:58Z",
            "license": "http://reference.data.gov.uk/id/open-government-licence",
            "keywords": [
                "Transport",
                "50K",
                "OSNI",
                "Administrative",
                "Railways",
                "LPS",
                "NI",
                "Train",
                "Network",
                "Stations",
                "OpenData",
                "Northern_Ireland",
                "SpatialNI",
                "open_data"
            ],
            "language": [],
            "modified": "2024-09-14T11:47:50Z",
            "publisher": "OpenDataNI",
            "resources": [
                {
                    "url": "[\"https://services.spatialni.gov.uk/opendata/services/OSNIVector/OSNIOpenData_Transport_50K/MapServer/WMSServer?request=GetCapabilities&service=WMS\"]",
                    "title": "OGC WMS",
                    "format": "WMS_SRVC",
                    "license": {
                        "resource": "http://reference.data.gov.uk/id/open-government-licenc
…(truncated, see openapi.json for full schema)
```

#### `GET /v1/search` — Search EU datasets

**Parameters:**
- `q` (query, required, string) — Search text, e.g. renewable energy Example: `renewable energy`
- `format` (query, optional, string) — File format filter, e.g. CSV
- `country` (query, optional, string) — 2-letter country code, e.g. fr
- `limit` (query, optional, string) — Max results (1-100)

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/eudata-api/v1/search?q=renewable+energy"
```

**Response:**
```json
{
    "data": {
        "count": 20,
        "query": "renewable energy",
        "start": 0,
        "total": 31355,
        "datasets": [
            {
                "id": "allerdale-policy-renewable-energy",
                "title": "Allerdale Policy Renewable Energy",
                "country": {
                    "code": "gb",
                    "name": "United Kingdom"
                },
                "formats": [
                    "WMS_SRVC",
                    "HTML"
                ],
                "license": null,
                "modified": "2024-09-15T03:25:59Z",
                "publisher": "Allerdale Borough Council",
                "description": "Allerdale Planning Policy on Renewable Energy defined under the 1999 Allerdale Local Plan. Expressed as polygons. Policy updated in 2014 to 2029 with actual end date being indeterminate as individual sites will be subject to local interest reviews before and after 2029.",
                "source_portal": "data.gov.uk",
                "resource_count": 2
            },
            {
                "id": "ab06e34c-7303-4dbb-9170-92ffe2929388",
                "title": "Energy Offshore Renewable",
                "country": {
                    "code": "ie",
                    "name": "Ireland"
                },
                "formats": [
                    "HTML",
                    "ARCGIS GEOSERVICES REST API"
                ],
                "license": null,
                "modified": "2024-1
…(truncated, see openapi.json for full schema)
```

### Discovery

#### `GET /v1/facets` — Discovery facets for a query

**Parameters:**
- `q` (query, required, string) — Query, e.g. energy Example: `energy`
- `limit` (query, optional, string) — Facet size (1-30)

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/eudata-api/v1/facets?q=energy"
```

**Response:**
```json
{
    "data": {
        "query": "energy",
        "total": 27611,
        "formats": [
            {
                "count": 8093,
                "value": "CSV"
            },
            {
                "count": 2901,
                "value": "WMS_SRVC"
            },
            {
                "count": 2585,
                "value": "HTML"
            },
            {
                "count": 1939,
                "value": "ZIP"
            },
            {
                "count": 1858,
                "value": "JSON"
            },
            {
                "count": 1761,
                "value": "XML"
            },
            {
                "count": 1621,
                "value": "PDF"
            },
            {
                "count": 1505,
                "value": "XLSX"
            },
            {
                "count": 1368,
                "value": "WFS_SRVC"
            },
            {
                "count": 929,
                "value": "KML"
            }
        ],
        "countries": [
            {
                "count": 9445,
                "value": "de"
            },
            {
                "count": 3881,
                "value": "eu"
            },
            {
                "count": 2322,
                "value": "es"
            },
            {
                "count": 1877,
                "value": "fr"
            },
            {
                "count": 1374,
                "value": "gb"
            },
       
…(truncated, see openapi.json for full schema)
```

### Meta

#### `GET /v1/meta` — Usage notes

**Example:**
```bash
curl -H "x-oanor-key: $KEY" \
  "https://api.oanor.com/eudata-api/v1/meta"
```

**Response:**
```json
{
    "data": {
        "note": "The official open-data portal of the European Union — 1.8 million+ datasets harvested from the EU institutions and the national portals of the 27 member states (e.g. data.gov.uk, data.gouv.fr, govdata.de). /v1/search?q=renewable energy (optional filters format=CSV and country=fr, a 2-letter code) = search datasets returning each dataset's id, title, description, publisher, source portal, country, available formats, resource count, last-modified date and license; /v1/dataset?id=<dataset id> = a dataset's full metadata (title, description, publisher and homepage, source portal & country, languages, categories, keywords, license, dates) together with every downloadable distribution — its title, format and direct URL; /v1/facets?q=energy = discovery facets for a query (the most common file formats and the countries publishing matching datasets). Dataset ids come from search results. Titles and descriptions are returned in English where available. Data from data.europa.eu (mostly CC-BY / public-domain; check each dataset's license). For US bank data see the FDIC API; for economic indicators the World Bank or DBnomics APIs.",
        "source": "EU Open Data Portal — data.europa.eu CKAN API",
        "endpoints": [
            "/v1/search",
            "/v1/dataset",
            "/v1/facets",
            "/v1/meta"
        ]
    },
    "meta": {
        "timestamp": "2026-06-01T08:13:19.835Z",
        "request_id": "5ec5fbfa-5381-4961-8c68-473c
…(truncated, see openapi.json for full schema)
```


---
Marketplace page: https://www.oanor.com/api/eudata-api
OpenAPI spec: https://www.oanor.com/api/eudata-api/openapi.json
