EU Open Data Portal Datasets API

Search and retrieve EU open datasets

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/eu-open-data-portal-datasets-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

eu-open-data-portal-datasets-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: EU Open Data Portal Search Catalogs Datasets API
  description: The EU Open Data Portal Search API (data.europa.eu) provides REST access for discovering, searching, and querying European Union open datasets. The API follows DCAT-AP metadata standards and supports discovery of datasets from EU institutions, member state portals, and federated open data sources. No authentication required.
  version: 1.0.0
  contact:
    name: EU Open Data Portal Support
    url: https://data.europa.eu/en/contact
  license:
    name: Creative Commons Attribution 4.0
    url: https://creativecommons.org/licenses/by/4.0/
servers:
- url: https://data.europa.eu/api/hub/search
  description: EU Open Data Portal Search API
tags:
- name: Datasets
  description: Search and retrieve EU open datasets
paths:
  /datasets:
    get:
      operationId: searchDatasets
      summary: Search datasets
      description: Search for datasets in the EU Open Data Portal using full-text search and faceted filtering. Returns DCAT-AP compliant metadata for matching datasets including titles, descriptions, keywords, publishers, and distribution links.
      tags:
      - Datasets
      parameters:
      - name: q
        in: query
        required: false
        schema:
          type: string
        description: Free-text search query
      - name: page
        in: query
        schema:
          type: integer
          default: 1
          minimum: 1
        description: Page number (1-based)
      - name: limit
        in: query
        schema:
          type: integer
          default: 10
          maximum: 100
        description: Number of results per page
      - name: filter
        in: query
        schema:
          type: string
        description: SOLR filter query (e.g., "publisher.id:http://publications.europa.eu/resource/authority/corporate-body/ESTAT")
      - name: facets
        in: query
        schema:
          type: string
        description: Comma-separated list of facet fields to include
      - name: sort
        in: query
        schema:
          type: string
          enum:
          - relevance
          - modified
          - issued
          - title
          default: relevance
      - name: language
        in: query
        schema:
          type: string
        description: Preferred language for multilingual fields (ISO 639-1, e.g. "en")
      responses:
        '200':
          description: Dataset search results returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatasetSearchResponse'
        '400':
          description: Invalid query parameters
  /datasets/{datasetId}:
    get:
      operationId: getDataset
      summary: Get dataset by ID
      description: Returns full DCAT-AP metadata for a specific dataset including all distributions, publisher information, themes, and temporal coverage.
      tags:
      - Datasets
      parameters:
      - name: datasetId
        in: path
        required: true
        schema:
          type: string
        description: Unique dataset identifier (URL-encoded URI)
      - name: language
        in: query
        schema:
          type: string
        description: Preferred language for multilingual fields
      responses:
        '200':
          description: Dataset metadata returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Dataset'
        '404':
          description: Dataset not found
components:
  schemas:
    FacetValue:
      type: object
      properties:
        id:
          type: string
        label:
          type: object
          additionalProperties:
            type: string
        count:
          type: integer
    Publisher:
      type: object
      properties:
        id:
          type: string
          description: Publisher URI from the EU corporate body authority
        name:
          type: object
          additionalProperties:
            type: string
          description: Multilingual publisher name
        type:
          type: string
    TemporalCoverage:
      type: object
      properties:
        startDate:
          type: string
          format: date
        endDate:
          type: string
          format: date
    DatasetSummary:
      type: object
      properties:
        id:
          type: string
          description: Dataset URI
        title:
          type: object
          additionalProperties:
            type: string
          description: Multilingual title map (language code to text)
        description:
          type: object
          additionalProperties:
            type: string
          description: Multilingual description map
        issued:
          type: string
          format: date-time
        modified:
          type: string
          format: date-time
        publisher:
          $ref: '#/components/schemas/Publisher'
        theme:
          type: array
          items:
            type: string
          description: Dataset theme URIs from the EU Data Theme vocabulary
        keyword:
          type: array
          items:
            type: string
        distributionCount:
          type: integer
        license:
          type: string
    Dataset:
      type: object
      properties:
        id:
          type: string
        title:
          type: object
          additionalProperties:
            type: string
        description:
          type: object
          additionalProperties:
            type: string
        issued:
          type: string
          format: date-time
        modified:
          type: string
          format: date-time
        publisher:
          $ref: '#/components/schemas/Publisher'
        contactPoint:
          $ref: '#/components/schemas/ContactPoint'
        theme:
          type: array
          items:
            type: string
        keyword:
          type: array
          items:
            type: string
        language:
          type: array
          items:
            type: string
        spatial:
          type: array
          items:
            type: string
          description: Geographic coverage URIs
        temporal:
          $ref: '#/components/schemas/TemporalCoverage'
        accrualPeriodicity:
          type: string
          description: Update frequency URI (from EU frequency vocabulary)
        conformsTo:
          type: array
          items:
            type: string
        distributions:
          type: array
          items:
            $ref: '#/components/schemas/Distribution'
        license:
          type: string
        rights:
          type: string
        accessRights:
          type: string
    Distribution:
      type: object
      properties:
        id:
          type: string
        title:
          type: object
          additionalProperties:
            type: string
        description:
          type: object
          additionalProperties:
            type: string
        accessURL:
          type: string
          format: uri
        downloadURL:
          type: string
          format: uri
        format:
          type: string
          description: File format URI from the EU file type vocabulary
        mediaType:
          type: string
          description: MIME type
        byteSize:
          type: integer
        issued:
          type: string
          format: date-time
        modified:
          type: string
          format: date-time
        license:
          type: string
        conformsTo:
          type: array
          items:
            type: string
    DatasetSearchResponse:
      type: object
      properties:
        success:
          type: boolean
        result:
          type: object
          properties:
            count:
              type: integer
              description: Total number of matching datasets
            facets:
              type: object
              additionalProperties:
                type: array
                items:
                  $ref: '#/components/schemas/FacetValue'
            results:
              type: array
              items:
                $ref: '#/components/schemas/DatasetSummary'
    ContactPoint:
      type: object
      properties:
        fn:
          type: string
        hasEmail:
          type: string
        hasURL:
          type: string
          format: uri
externalDocs:
  description: EU Data Provider Manual
  url: https://dataeuropa.gitlab.io/data-provider-manual/