List datasets
Browse and search the Topolab dataset catalogue with paging, sorting, and theme/country filters. Public, costs no credits.
List datasets
List the datasets in the catalogue. This endpoint is public, costs no credits, and is the entry point for discovery, find a dataset's table here, then fetch its details, samples, or files.
Endpoint
GET /v1/dataset/all
No authentication is required. You may still send an X-API-Key (for example to keep one client configuration), but it is not needed and no credits are consumed.
Query parameters
| Parameter | Type | Description |
|---|---|---|
page |
integer | 1-based page number. Default 1. |
limit |
integer | Items per page. Default 20, maximum 100. |
sortBy |
string | Field to sort by, for example title, totalRecords, modified. |
sortOrder |
string | asc or desc. Default asc. |
search |
string | Free-text match across title, description, and keywords. |
theme |
string | Filter by theme slug, for example transportation. See discovery helpers. |
country |
string | ISO country code, for example nl. |
locale |
string | Language for localized text fields: en (default) or nl. |
Request
curl "https://api.topolab.nl/v1/dataset/all?country=nl&theme=transportation&sortBy=totalRecords&sortOrder=desc&page=1&limit=2"
Response
The response is a paginated envelope. Each item carries enough to render a catalogue row and link onward by table.
{
"data": [
{
"table": "transport_infrastructure_bushaltes",
"title": "Dutch Bus Stops",
"country": "nl",
"totalRecords": 51532,
"type": "point",
"qualityGrade": { "grade": "A", "score": 0.93 },
"metadata": {
"theme": "transportation",
"accrualPeriodicity": "monthly",
"modified": "2026-05-01",
"keywords": ["public transport", "bus", "points of interest"]
}
},
{
"table": "landuse_bossen_gelderland",
"title": "Dutch Forests of Gelderland",
"country": "nl",
"totalRecords": 6420,
"type": "polygon",
"qualityGrade": { "grade": "B", "score": 0.81 },
"metadata": {
"theme": "environment",
"accrualPeriodicity": "monthly",
"modified": "2026-04-18",
"keywords": ["forests", "land use", "nature"]
}
}
],
"meta": {
"currentPage": 1,
"itemsPerPage": 2,
"totalItems": 896,
"totalPages": 448,
"hasPreviousPage": false,
"hasNextPage": true
}
}
| Field | Description |
|---|---|
data[] |
Page of dataset summaries. |
data[].table |
Stable identifier used in every other dataset endpoint. |
data[].title |
Human-readable name. |
data[].country |
ISO country code. |
data[].totalRecords |
Number of rows in the dataset. |
data[].type |
Geometry type: point, polygon, or line. |
data[].qualityGrade |
Letter grade (A–F) and numeric score (0–1). |
data[].metadata |
Theme, cadence, last-modified date, keywords, and more. |
meta.currentPage |
The page returned. |
meta.itemsPerPage |
Page size in effect. |
meta.totalItems |
Total number of datasets matching the filters. |
meta.totalPages |
Number of pages at the current itemsPerPage. |
meta.hasPreviousPage, meta.hasNextPage |
Whether more pages exist in either direction. |
Page through results by incrementing page until meta.hasNextPage is false.
Discovery helpers
To populate filter controls or validate a theme value before querying, use these public, zero-credit endpoints:
curl "https://api.topolab.nl/v1/dataset/themes"
curl "https://api.topolab.nl/v1/dataset/industry-codes"
GET /v1/dataset/themes returns the themes present in the catalogue, each with a bilingual label and a count of datasets. Filter on the slug.
[
{
"slug": "transportation",
"name": { "en": "Transportation", "nl": "Vervoer" },
"count": 128
},
{
"slug": "retail",
"name": { "en": "Retail", "nl": "Detailhandel" },
"count": 405
}
]
GET /v1/dataset/industry-codes returns the industry classification codes datasets are tagged with, for code-driven filtering.
Errors
| Status | Meaning |
|---|---|
429 |
Rate limited, see Rate limits & credits. |
This endpoint does not return 401/403 because it is public. A non-matching filter returns an empty data array with meta.totalItems: 0, not 404.
Next
- Get a dataset, full detail for one
table. - Sample rows, inspect schema and a slice of rows for free.
- Need access to downloads? Contact us for the
API_ACCESSaddon.