How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

EU Open Data Portal Search API (hub-search)

The hub-search metadata search service for data.europa.eu. Provides full-text and faceted search over ~1.9 million dataset, data service, dataset series, catalogue, vocabulary and organisation records harvested from EU institutions and national portals, plus Atom/RSS feeds, sitemaps, a gazetteer autocomplete and a CKAN-compatible package API. Read operations are public and unauthenticated; write operations require an API key or JWT bearer token.

EU Open Data Portal Search API (hub-search) is one of 7 APIs that EU Open Data Portal publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Search, Datasets, Catalogues, DCAT-AP, and Open Data. The published artifact set on APIs.io includes an OpenAPI specification, an API reference, and API documentation.

This API exposes 56 operations across 30 paths, organized into 13 resource areas, and defines 15 schemas. It is described by OpenAPI 3.0.3, at version 5.3.11.

Requests are made against a single base URL, https://data.europa.eu/api/hub/search.

56 operations 30 paths 15 schemas 9 DELETE28 GET3 PATCH5 POST11 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.3
API Version
5.3.11
Base URL
https://data.europa.eu/api/hub/search
Authentication
API Key, HTTP Bearer
Resource Areas
13

Authentication & Security 2

EU Open Data Portal Search API (hub-search) declares 2 security schemes for authenticating requests. An API key is passed in the header as X-API-Key (ApiKeyAuth). It accepts HTTP bearer tokens (JWT) (BearerAuth).

Paths & Operations 56

Across 30 paths, the API surfaces 56 operations — 9 DELETE, 28 GET, 3 PATCH, 5 POST, 11 PUT. They span 13 resource areas, including Search, Feeds, Sitemap, Datasets, Data Services, Dataset Series, Catalogues, Vocabularies, and 5 more. Each is listed below with its method, path, parameters, and response codes.

Search 3
GET
/search
Search
searchGet 40 params → 200400500
POST
/search
Search
searchPost body → 200400500
GET
/scroll
Scroll
scrollGet 1 param → 200400500
Feeds 3
GET
/{lang}/feeds/datasets.atom
Atom
datasets.atom 22 params → 200400500
GET
/{lang}/feeds/datasets.rss
RSS
datasets.rss 21 params → 200400500
GET
/{lang}/feeds/datasets/{id}
RSS for a single dataset
datasetrevisions.rss 2 params → 200400500
Sitemap 2
GET
/sitemap
Sitemap Meta
readSitemapIndex → 200500
GET
/sitemap/{id}
Sitemap Datasets
readSitemap 1 param → 200500
Datasets 11
GET
/datasets
List datasets
listDatasets 2 params → 200400401404500
POST
/datasets
Create a dataset
createDataset 1 param body → 201202400500
GET
/datasets/{id}
Get a dataset
readDataset 1 param → 200400401403404500
PUT
/datasets/{id}
Create or Update a dataset
createOrUpdateDataset 2 params body → 200201202400404500
PATCH
/datasets/{id}
Modify a dataset
modifyDataset 2 params body → 200202400404500
DELETE
/datasets/{id}
Delete a dataset
deleteDataset 2 params → 200202400404500
GET
/datasets/{id}/{revision}deprecated
Get a specific dataset version
readDatasetRevision 2 params → 200400404500
PUT
/datasets/{id}/revisions/{revisionId}
Create specific dataset revision
createDatasetRevision 3 params → 201400404500
GET
/datasets/{id}/revisions/{revisionId}
Get a specific dataset revision
readDatasetRevisionByRevisionId 2 params → 200400404500
DELETE
/datasets/{id}/revisions/{revisionId}
Delete a specific dataset version
deleteDatasetRevision 3 params → 200202400404500
PUT
/bulk/datasets
Bulk-create/update of datasets
createOrUpdateDatasetBulk 1 param body → 200202400500
Data Services 3
GET
/dataservices/{id}
Get a single Data Service
getDataService 1 param → 200400404500
PUT
/dataservices/{id}
Create or Update a Data Service
putDataService 2 params body → 201400500
DELETE
/dataservices/{id}
Delete a Data Service
deleteDataService 1 param → 200202400404500
Dataset Series 3
GET
/datasetseries/{id}
Get a single Dataset Series
getSeries 1 param → 200400404500
PUT
/datasetseries/{id}
Create or Update a Dataset Series
putSeries 1 param body → 201400500
DELETE
/datasetseries/{id}
Delete a Dataset Series
deleteSeries 1 param → 200202400404500
Catalogues 6
GET
/catalogues
List catalogues
listCatalogues 1 param → 200400404500
POST
/catalogues
Create a catalogue
createCatalogue 1 param body → 201202400500
GET
/catalogues/{id}
Get a catalogue
readCatalogue 1 param → 200400404500
PUT
/catalogues/{id}
Create or Update a catalogue
createOrUpdateCatalogue 2 params body → 200201202400404500
PATCH
/catalogues/{id}
Modify a catalogue
modifyCatalogue 2 params body → 200202400404500
DELETE
/catalogues/{id}
Delete a catalogue
deleteCatalogue 1 param → 200202400404500
Vocabularies 10
GET
/vocabularies
Get list of indexed vocabularies
readVocabularies → 200400404500
GET
/vocabularies/{vocabulary}
Get a vocabulary
readVocabulary 1 param → 200400404500
PUT
/vocabularies/{vocabulary}
Create or Update a vocabulary
createOrUpdateVocabulary 2 params body → 200201202400404500
DELETE
/vocabularies/{vocabulary}
Delete a vocabulary
deleteVocabulary 1 param → 200202400404500
POST
/vocabularies/{vocabulary}
Create a vocable
createVocable 2 params body → 201202400500
GET
/vocabularies/{vocabulary}/vocable
Get a vocable by URI
readVocableByResource 2 params → 200400404500
GET
/vocabularies/{vocabulary}/{id}
Get a vocable
readVocable 2 params → 200400404500
PUT
/vocabularies/{vocabulary}/{id}
Create or Update a vocable
createOrUpdateVocable 3 params body → 200201202400404500
PATCH
/vocabularies/{vocabulary}/{id}
Modify a vocable
modifyVocable 3 params body → 200202400404500
DELETE
/vocabularies/{vocabulary}/{id}
Delete a vocable
deleteVocable 2 params → 200202400404500
Gazetteer 1
GET
/gazetteer/autocomplete
Gazetteer
gazetteerAutocomplete 1 param → 200400500
Ckan 3
GET
/ckan/package_list
Package list
ckanPackageList 2 params → 200400500
GET
/ckan/package_search
Package search
ckanPackageSearch 8 params → 200400500
GET
/ckan/package_show
Package show
ckanPackageShow 1 param → 200400404500
Organizations 5
GET
/organizations
List organizations
listOrganizations 2 params → 200400500
POST
/organizations
Create an organization
postOrganization body → 201202400500
GET
/organizations/{id}
Get an organization
readOrganization 1 param → 200400404500
PUT
/organizations/{id}
Create or Update an Organization
putOrganization 1 param body → 201400500
DELETE
/organizations/{id}
Delete an organization
deleteOrganization 1 param → 204202400404500
Resources 1
GET
/resources
List resource types
listResourceTypes → 400404500200
EditorialContent 5
GET
/resources/editorial-content
List EditorialContents
listEditorialContent 2 params → 400401404500200
GET
/resources/editorial-content/{id}
Get a EditorialContent
readEditorialContent 1 param → 400401403404500200
DELETE
/resources/editorial-content/{id}
Delete a EditorialContent
deleteEditorialContent 1 param → 400404500204
PUT
/resources/editorial-content/{id}
Create or Update a EditorialContent
createOrUpdateEditorialContent 2 params body → 400404500201202204
PUT
/bulk/resources/editorial-content
Bulk-create/update of EditorialContent
createOrUpdateBulkEditorialContent 1 param body → 400404500201202204

Schemas 15

The contract defines 15 schemas that model the data the API accepts and returns. The most detailed are Dataset (57 properties), Query (29 properties), Distribution (25 properties), Catalogue (25 properties). Each schema is shown below with its type and property counts.

Query
object
Query
29 properties
BoundingBox
object
Filter queries by bounding box
4 properties
DatasetArray
object
A array of datasets
1 property 1 required
Dataset
object
Base model for a dataset
57 properties
DataService
object
Base model for a data service
22 properties
CatalogueArray
object
A array of catalogues
1 property 1 required
Catalogue
object
Base model for a catalogue
25 properties
DistributionArray
object
A array of Distribution
1 property 1 required
Distribution
object
25 properties
Vocabulary
object
A representation of a Vocabulary
1 property 1 required
Vocable
object
A representation of a vocable
3 properties
Date
string
DateTime
string
EditorialContent
object
Editorial Content
8 properties
EditorialContentArray
object
An array of EditorialContent
1 property 1 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

eu-open-data-portal-hub-search-openapi.yaml Raw ↑

Other APIs EU Open Data Portal publishes across the network.

EU Open Data Portal Registry API (hub-repo)
EU Open Data Portal MQA Metrics Cache API
EU Open Data Portal SHACL Validation API
EU Open Data Portal MQA Metrics Reporter API
EU Open Data Portal Statistics API
EU Open Data Portal SPARQL API
Where this information came from

This is an independent, third-party profile of EU Open Data Portal Search API (hub-search), published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.