EU Open Data Landscape avatar

EU Open Data Landscape

Pricing

$2.00 / 1,000 facet count row returneds

Go to Apify Store
EU Open Data Landscape

EU Open Data Landscape

Counts, not records: how many EU open datasets exist per country, theme, format and licence, for any slice you filter. One row per facet value.

Pricing

$2.00 / 1,000 facet count row returneds

Rating

0.0

(0)

Developer

Igor Lima

Igor Lima

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 hours ago

Last modified

Share

Counts, not records. How many datasets on data.europa.eu exist per country, per data theme, per format, per licence — for any slice you filter. One row per facet value, with the count, its rank inside the facet and its share of the slice.

The search endpoint answers which datasets. This Actor answers how many, and where, which is the question you have before you decide what to download. Getting the same answer from a search endpoint means one request per value you are curious about: forty countries, fourteen themes, hundreds of formats. The portal computes all of it in a single response.

What a row looks like

{
"id": "country:de",
"facet": "country",
"facet_title": "Provenance",
"facet_meaning": "publishing country",
"value": "de",
"value_label": "Germany",
"dataset_count": 31482,
"share_of_total": 0.336041,
"rank": 1
}

That row came from the live API on 2026-09-17 for query: "air quality", where total_matches was 93,685.

Input

Every field is optional. With no input you get the default breakdown of the whole portal.

FieldWhat it does
queryfull-text filter, same syntax as the portal search
countrylowercase ISO codes, as the portal spells them: be, de, fr
cataloguecatalogue ids such as data-gov-be — get them from EU Open Data Catalogue Directory
categoriesEU data theme codes: ENVI, TECH, AGRI, SOCI, EDUC, ECON, ENER, GOVE, HEAL, INTR, JUST, REGI, TRAN
formatsCSV, JSON, XML, …
licenseslicence ids as the portal publishes them
breakdown_bywhich facets to break the slice down by. Default: country, categories, format, license
min_countdrop values below this count
max_values_per_facethow many values per facet, 1 to 250. Default 25
languagewhich language to collapse multilingual labels to. Default en

The filters narrow the slice and the counts: query: "air quality" with country: ["be"] returned 1,445 datasets on 2026-09-17, and the format breakdown then described those 1,445 and nothing else.

The facets you can break down by

country, catalog, categories, format, formatTypes, license, publisher, keywords, subject, dataScope, is_hvd, hvdCategory, source_type, superCatalog, in_series, corporate-body-classification, scoring.

Naming anything else fails the run with the list, instead of quietly returning an empty breakdown.

Two things the output says out loud

  • shares_may_exceed_one. A dataset can carry several values of the same facet — two formats, three keywords — so the shares inside one facet can add up to more than 1. The field is always there so you never have to guess whether your arithmetic is wrong.
  • facets_absent. When the slice has no value at all for a facet you asked for, the portal drops that facet from its answer. The name shows up here instead, because an empty breakdown is a measurement and should not look like a failure.

Licensing and attribution

Portal metadata is dedicated to the public domain under CC0 1.0 (legal notice). The source block on every run carries the terms URL and the notice, so a stored result explains its own licence.

No personal data. The upstream records carry contact fields; this Actor never reads them, and the run fails before writing anything if one shows up in the output.

Billing

You are charged per row delivered to your dataset. A run that matches nothing delivers no rows and costs nothing.