EU Open Data Portal Statistics API

The hub statistics service exposes portal-wide counts over time — datasets per category, per catalogue, per country, per format and per licence — behind a Swagger 2.0 contract served from a Flask/flask-apispec application. Read operations are public; the maintenance reset operation requires an X-API-KEY header.

Operations 5

GET /data
GET /data/{identifier}
GET /grab-data
GET /reinit-db
PUT /test

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-statistics-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

eu-open-data-portal-hub-statistics-swagger.json Raw ↑
{
  "swagger": "2.0",
  "info": {
    "title": "hub statistics API",
    "version": "v1.3"
  },
  "host": "data.europa.eu",
  "basePath": "/api/hub/statistics",
  "schemes": [
    "https"
  ],
  "paths": {
    "/data": {
      "get": {
        "description": "Retruns an overview about the available dates for further requests.",
        "parameters": [],
        "responses": {},
        "tags": [
          "Data"
        ]
      }
    },
    "/data/{identifier}": {
      "get": {
        "description": "Retruns specific dates for identifier.",
        "parameters": [
          {
            "description": "The identifier of specific data.",
            "in": "path",
            "name": "identifier",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {},
        "tags": [
          "Data"
        ]
      }
    },
    "/grab-data": {
      "get": {
        "description": "Initialize the data harvesting.",
        "parameters": [],
        "responses": {},
        "tags": [
          "Data"
        ]
      }
    },
    "/reinit-db": {
      "get": {
        "description": "Drops all tables and recreates the schema. ALL DATA WILL BE LOST. Requires X-API-KEY header.",
        "parameters": [
          {
            "description": "Secret key to authorize database reset",
            "in": "header",
            "name": "X-API-KEY",
            "required": true
          }
        ],
        "responses": {},
        "tags": [
          "Maintenance"
        ]
      }
    },
    "/test": {
      "put": {
        "description": "Execute a test case for data upload.",
        "parameters": [],
        "responses": {},
        "tags": [
          "Test"
        ]
      }
    }
  }
}