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.
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 'https://data.europa.eu/api/hub/search/search?limit=1'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);import requests
res = requests.get("https://data.europa.eu/api/hub/search/search?limit=1", timeout=20)
res.raise_for_status()
print(res.json()){
"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
| Parameter | Type | Required | Description |
|---|---|---|---|
search | path | Required | The search endpoint. search |
q | string | Optional | Search query. energy |
limit | integer | Optional | Results per page. 10 |
page | integer | Optional | Page number. 2 |
filter | string | Optional | Restrict to dataset, catalogue or other resource types. dataset |
countryData | string | Optional | Filter 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
JSON Formatter
Format, beautify and minify JSON online with 2-space, 4-space or tab indentation. Sort keys alphabetically and catch syntax errors instantly — free and private.
CSV to JSON Converter
Convert CSV to a JSON array of objects online. Header-row detection, comma/semicolon/tab delimiters and pretty-printed output — 100% in your browser.
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.