EU Open Data Portal · Capability
EU Open Data Portal Search API — Datasets
EU Open Data Portal Search API — Datasets. 2 operations. Lead operation: Search datasets. Self-contained Naftiko capability covering one Eu Open Data Portal business surface.
What You Can Do
GET
Searchdatasets
— Search datasets
/v1/datasets
GET
Getdataset
— Get dataset by ID
/v1/datasets/{datasetid}
MCP Tools
search-datasets
Search datasets
read-only
idempotent
get-dataset-id
Get dataset by ID
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: EU Open Data Portal Search API — Datasets
description: 'EU Open Data Portal Search API — Datasets. 2 operations. Lead operation: Search datasets. Self-contained Naftiko
capability covering one Eu Open Data Portal business surface.'
tags:
- Eu Open Data Portal
- Datasets
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
EU_OPEN_DATA_PORTAL_API_KEY: EU_OPEN_DATA_PORTAL_API_KEY
capability:
consumes:
- type: http
namespace: search-datasets
baseUri: https://data.europa.eu/api/hub/search
description: EU Open Data Portal Search API — Datasets business capability. Self-contained, no shared references.
resources:
- name: datasets
path: /datasets
operations:
- name: searchdatasets
method: GET
description: Search datasets
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: q
in: query
type: string
description: Free-text search query
- name: page
in: query
type: integer
description: Page number (1-based)
- name: limit
in: query
type: integer
description: Number of results per page
- name: filter
in: query
type: string
description: SOLR filter query (e.g., "publisher.id:http://publications.europa.eu/resource/authority/corporate-body/ESTAT")
- name: facets
in: query
type: string
description: Comma-separated list of facet fields to include
- name: sort
in: query
type: string
- name: language
in: query
type: string
description: Preferred language for multilingual fields (ISO 639-1, e.g. "en")
- name: datasets-datasetId
path: /datasets/{datasetId}
operations:
- name: getdataset
method: GET
description: Get dataset by ID
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: datasetId
in: path
type: string
description: Unique dataset identifier (URL-encoded URI)
required: true
- name: language
in: query
type: string
description: Preferred language for multilingual fields
exposes:
- type: rest
namespace: search-datasets-rest
port: 8080
description: REST adapter for EU Open Data Portal Search API — Datasets. One Spectral-compliant resource per consumed
operation, prefixed with /v1.
resources:
- path: /v1/datasets
name: datasets
description: REST surface for datasets.
operations:
- method: GET
name: searchdatasets
description: Search datasets
call: search-datasets.searchdatasets
with:
q: rest.q
page: rest.page
limit: rest.limit
filter: rest.filter
facets: rest.facets
sort: rest.sort
language: rest.language
outputParameters:
- type: object
mapping: $.
- path: /v1/datasets/{datasetid}
name: datasets-datasetid
description: REST surface for datasets-datasetId.
operations:
- method: GET
name: getdataset
description: Get dataset by ID
call: search-datasets.getdataset
with:
datasetId: rest.datasetId
language: rest.language
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: search-datasets-mcp
port: 9090
transport: http
description: MCP adapter for EU Open Data Portal Search API — Datasets. One tool per consumed operation, routed inline
through this capability's consumes block.
tools:
- name: search-datasets
description: Search datasets
hints:
readOnly: true
destructive: false
idempotent: true
call: search-datasets.searchdatasets
with:
q: tools.q
page: tools.page
limit: tools.limit
filter: tools.filter
facets: tools.facets
sort: tools.sort
language: tools.language
outputParameters:
- type: object
mapping: $.
- name: get-dataset-id
description: Get dataset by ID
hints:
readOnly: true
destructive: false
idempotent: true
call: search-datasets.getdataset
with:
datasetId: tools.datasetId
language: tools.language
outputParameters:
- type: object
mapping: $.