Atlas / Categories / Government / Open Government, Spain Government — entry 077 of 90
Open Government, Spain Verified Sep 2026
Datos.gob.es is Spain's national open-data catalogue, built on its own custom NTI-based platform rather than CKAN. It exposes a dedicated "API de Datos" (apidata) at `/apidata/catalog/`, returning catalogue, dataset, and distribution metadata as JSON or XML by content negotiation, with no key required. The live endpoint sends a wildcard `Access-Control-Allow-Origin` header, so it can be queried directly from browser-side apps.
open-data government-data apidata dcat spain
Authentication None required Call it straight away — no key, no signup.
HTTPS Supported Traffic is encrypted in transit.
CORS Enabled Callable directly from browser JavaScript.
Pricing Free No paid tier — free for the documented use case.
Formats JSON, XML Responses can be requested as JSON or XML.
GreatAPIs Score Score 100 out of 100
Authentication 25/25 No authentication required
Pricing 20/20 Free to use
Docs 20/20 Machine-readable spec file bundled
Formats 15/15 Supports 2 response formats
Freshness 20/20 Verified within 6 months
Embed this badge <a href="https://greatapis.com/api/open-government-spain/"><img src="https://greatapis.com/badge/open-government-spain.svg" alt="Scored 100 on greatapis.com"></a>
Auth quickstart No key needed — call it now. Stored key No key stored Clear key
Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.
Endpoints NTI geographical coverage taxonomy 5 GET /nti/territory/Autonomous-regionFinds all autonomous regions Parameters Name In Required Type _sortquery no string _pageSizequery no integer _pagequery no integer
Responses Status Description Schema 200successful operation TerritorioResponse400Bad request — 403Access denied — 404Not found — 500Internal error —
GET /nti/territory/Autonomous-region/{id}Finds a autonomous region by the URI Identifier Parameters Name In Required Type idpath yes string
Responses Status Description Schema 200successful operation TerritorioResponse400Bad request — 403Access denied — 404Not found — 500Internal error —
GET /nti/territory/Country/{id}Finds a country by the URI Identifier Parameters Name In Required Type idpath yes string
Responses Status Description Schema 200successful operation TerritorioResponse400Bad request — 403Access denied — 404Not found — 500Internal error —
GET /nti/territory/ProvinceFinds all provinces Parameters Name In Required Type _sortquery no string _pageSizequery no integer _pagequery no integer
Responses Status Description Schema 200successful operation TerritorioResponse400Bad request — 403Access denied — 404Not found — 500Internal error —
GET /nti/territory/Province/{id}Finds a province by the URI Identifier Parameters Name In Required Type idpath yes string
Responses Status Description Schema 200successful operation TerritorioResponse400Bad request — 403Access denied — 404Not found — 500Internal error —
NTI primary sector taxonomy 2 GET /nti/public-sectorFinds all public sectors Parameters Name In Required Type _sortquery no string _pageSizequery no integer _pagequery no integer
Responses Status Description Schema 200successful operation PublicSectorResponse400Bad request — 403Access denied — 404Not found — 500Internal error —
GET /nti/public-sector/sector/{id}Finds a public sector by the URI Identifier Parameters Name In Required Type idpath yes string
Responses Status Description Schema 200successful operation PublicSectorResponse400Bad request — 403Access denied — 404Not found — 500Internal error —
dataset 9 GET /catalog/datasetFinds all datasets Parameters Name In Required Type _sortquery no string _pageSizequery no integer _pagequery no integer
Responses Status Description Schema 200successful operation DatasetResponse400Bad request — 403Access denied — 404Not found — 500Internal error —
GET /catalog/dataset/format/{format}Finds all datasets that have a distribution with a format that you use as parameter Parameters Name In Required Type formatpath yes string _sortquery no string _pageSizequery no integer _pagequery no integer
Responses Status Description Schema 200successful operation DatasetResponse400Bad request — 403Access denied — 404Not found — 500Internal error —
GET /catalog/dataset/keyword/{keyword}Finds all datasets that have a keyword that you use as parameter Parameters Name In Required Type keywordpath yes string _sortquery no string _pageSizequery no integer _pagequery no integer
Responses Status Description Schema 200successful operation DatasetResponse400Bad request — 403Access denied — 404Not found — 500Internal error —
GET /catalog/dataset/modified/begin/{beginDate}/end/{endDate}Finds all datasets that were modified between two dates Parameters Name In Required Type beginDatepath yes string endDatepath yes string _sortquery no string _pageSizequery no integer _pagequery no integer
Responses Status Description Schema 200successful operation DatasetResponse400Bad request — 403Access denied — 404Not found — 500Internal error —
GET /catalog/dataset/publisher/{id}Finds datasets by publisher Parameters Name In Required Type idpath yes string _sortquery no string _pageSizequery no integer _pagequery no integer
Responses Status Description Schema 200successful operation DatasetResponse400Bad request — 403Access denied — 404Not found — 500Internal error —
GET /catalog/dataset/spatial/{spatialWord1}/{spatialWord2}Finds all datasets that have a spatial that you use as parameter Parameters Name In Required Type spatialWord1path yes string spatialWord2path yes string _sortquery no string _pageSizequery no integer _pagequery no integer
Responses Status Description Schema 200successful operation DatasetResponse400Bad request — 403Access denied — 404Not found — 500Internal error —
GET /catalog/dataset/theme/{id}Finds datasets by theme Parameters Name In Required Type idpath yes string _sortquery no string _pageSizequery no integer _pagequery no integer
Responses Status Description Schema 200successful operation DatasetResponse400Bad request — 403Access denied — 404Not found — 500Internal error —
GET /catalog/dataset/title/{title}Finds datasets by title Parameters Name In Required Type titlepath yes string _sortquery no string _pageSizequery no integer _pagequery no integer
Responses Status Description Schema 200successful operation DatasetResponse400Bad request — 403Access denied — 404Not found — 500Internal error —
GET /catalog/dataset/{id}Finds a dataset by the URI Identifier Parameters Name In Required Type idpath yes string _sortquery no string _pageSizequery no integer _pagequery no integer
Responses Status Description Schema 200successful operation DatasetResponse400Bad request — 403Access denied — 404Not found — 500Internal error —
distribution 3 GET /catalog/distributionFinds all distributions Parameters Name In Required Type _sortquery no string _pageSizequery no integer _pagequery no integer
Responses Status Description Schema 200successful operation DistributionResponse400Bad request — 403Access denied — 404Not found — 500Internal error —
GET /catalog/distribution/dataset/{id}Finds all distributions of a dataset Parameters Name In Required Type idpath yes string _sortquery no string _pageSizequery no integer _pagequery no integer
Responses Status Description Schema 200successful operation DistributionResponse400Bad request — 403Access denied — 404Not found — 500Internal error —
GET /catalog/distribution/format/{format}Finds all distributions of a dataset that have the format that you use as parameter Parameters Name In Required Type formatpath yes string _sortquery no string _pageSizequery no integer _pagequery no integer
Responses Status Description Schema 200successful operation DistributionResponse400Bad request — 403Access denied — 404Not found — 500Internal error —
publisher 1 GET /catalog/publisherFinds all publishers Parameters Name In Required Type _sortquery no string _pageSizequery no integer _pagequery no integer
Responses Status Description Schema 200successful operation PublisherResponse400Bad request — 403Access denied — 404Not found — 500Internal error —
spatial 1 GET /catalog/spatialFinds all spatials Parameters Name In Required Type _pageSizequery no integer _pagequery no integer
Responses Status Description Schema 200successful operation SpatialResponse400Bad request — 403Access denied — 404Not found — 500Internal error —
theme 1 GET /catalog/themeFinds all themes Parameters Name In Required Type _sortquery no string _pageSizequery no integer _pagequery no integer
Responses Status Description Schema 200successful operation ThemeResponse400Bad request — 403Access denied — 404Not found — 500Internal error —
Developer reference Base URL https://datos.gob.es/apidata
Key endpoints GET /catalog/dataset GET /catalog/publisher GET /catalog/dataset/publisher/{id}
Availability Uptime 100%
Median latency 527 ms
Last check Up · 200 · Sep 2026
16 checks since Aug 2026. A person runs this check by hand, not an automated monitor.