BYTETOOLS

data.europa.eu API

Free data.europa.eu API with no key: search 1.7M+ datasets from EU institutions and all member states, with multilingual metadata and licences. Tested.

No API key requiredCORS enabledHTTPSFree tier

Endpoint tested and returned HTTP 200 on 2026-08-20

What is the data.europa.eu API?

The data.europa.eu API is a free, key-free search API over the official EU open data portal, covering more than 1.7 million datasets from EU institutions and every member state, with multilingual metadata.

This is the single aggregation point for European open data, federating national portals from all 27 member states alongside EU institutional data. The breadth is genuinely enormous.

Multilingual metadata is both the strength and the complication: titles and descriptions come as language-keyed objects rather than plain strings, so you must select a language rather than reading a single value.

Quick facts

Base URL
https://data.europa.eu/api/hub/search
Authentication
No API key required.
Rate limit
No published hard limit; fair use expected.
Pricing
Free. Individual datasets carry their own licences.
CORS
Enabled — callable directly from browser JavaScript
Official docs
Read the docs

How to use the data.europa.eu API

Every request below was executed against the live API on 2026-08-20, and the response shown is the real body it returned — not an illustration.

1. Search European open datasets

GET https://data.europa.eu/api/hub/search/search?limit=1

curl
curl 'https://data.europa.eu/api/hub/search/search?limit=1'
JavaScript (fetch)
const res = await fetch("https://data.europa.eu/api/hub/search/search?limit=1");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://data.europa.eu/api/hub/search/search?limit=1", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200 (truncated)
{
  "result": {
    "count": 1769225,
    "results": [
      {
        "country": {
          "label": "EU institutions",
          "id": "eu",
          "resource": "http://publications.europa.eu/resource/authority/continent/EUROPE"
        },
        "count": 0,
        "description": {
          "en": "The European Register for Protected Data held by the Public Sector (of the Digital Government Act)"
        },
        "index": "catalogue",
        "language": [
          {
            "id": "en",
            "label": "English",
            "resource": "http://publications.europa.eu/resource/authority/language/ENG"
          }
        ],
        "source_type": "dcat-ap",
        "title": {
          "en": "European Register for Protected Data held by the Public Sector"
        },
        "spatial_resource": [
          {
            "label": "EU institutions",
            "id": "eu",
            "resource": "http://publications.europa.eu/resource/authority/continent/EUROPE"
          }
        ],
        "modified": "2025-04-24T08:36:05Z",
        "publisher": {
          "type": "Agent",
          "name": "European Commission",
          "email": "mailto:info@data.europa.eu",
          "homepage": "https://data.europa.eu"
        },
        "id": "erpd",
        "has_part": [
          "nsip-es",
          "nsip-nl",
          "nsip-cz",
          "nsip-se",
          "nsip-be",
          "nsip-lv",
          "nsip-it",
          "nsip-dk",
          "nsip-lt",
          "nsip-lu",
          "nsip-no",
          "nsip-hr",
          "nsip-ie"
        ],
        "issued"

Parameters

ParameterTypeRequiredDescription
searchpathRequiredThe search endpoint. search
qstringOptionalSearch query. energy
limitintegerOptionalResults per page. 10
pageintegerOptionalPage number. 2
filterstringOptionalRestrict to dataset, catalogue or other resource types. dataset
countryDatastringOptionalFilter by publishing country. de

Response fields

result.countinteger
Total datasets matching the query.
result.results[].titleobject
Title keyed by language code.
result.results[].descriptionobject
Description keyed by language code.
result.results[].countryobject
Publishing country or institution.
result.results[].distributionsarray
Downloadable resources with format and URL.
result.results[].catalogobject
Which national or institutional catalogue it came from.

What you can build with the data.europa.eu API

  • Search open data across all EU member states at once
  • Find comparable datasets between European countries
  • Build EU-wide research and policy tooling
  • Monitor newly published European datasets

Common errors and how to fix them

Title is an object, not a string

Metadata is multilingual.

Fix: Read title.en, falling back to another available language — there is no guaranteed English value.

Enormous result counts

1.7 million datasets are indexed.

Fix: Always filter by country, catalogue or format as well as the query.

Dead distribution links

Datasets are federated from national portals.

Fix: Link availability depends on the upstream publisher; handle failures.

data.europa.eu API — frequently asked questions

Is the EU open data API free?

Yes, free with no API key. Individual datasets carry their own licences, most of them open.

How many datasets are covered?

More than 1.7 million, federated from EU institutions and the national open data portals of all member states.

Why are titles objects instead of strings?

Metadata is multilingual, keyed by language code. Read title.en where available, but be prepared to fall back — not every dataset has an English title.

Can I filter to one country?

Yes, use countryData with a country code to restrict results to that member state's portal.

Tools that pair with this API

data.europa.eu is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-20; always check the official documentation before relying on this API in production, as terms and limits can change.