Query one dataset
POST /v1/datasets/{dataset_id}/querycURL
curl -X POST "https://api.datasets.nordicdevhouse.com/v1/datasets/finnish-vehicle-market-listings/query" \
-H "Authorization: Bearer $DATASET_API_KEY" \
-H "Content-Type: application/json" \
-H "X-API-Version: 1" \
-d '{
"release_id": "dsv-preview-finnish-vehicle-market-listings",
"filters": { "make": "Toyota" },
"fields": ["make", "model", "year", "price_eur"],
"limit": 50
}'Always send release_id for reproducibility
release_id is optional in the schema, but production importers should send it. Omitting it delegates release selection to server policy and makes repeated requests harder to compare.
Filters are exact matches
The v1 preview adapter compares filter values exactly after string normalization. Supported filter values are string, number, boolean, or an array of strings. Do not assume ranges, contains, sorting, joins, or full-text search unless a later contract version adds them.
Project only the fields you need
fields accepts at most 100 names. A projection reduces payload size and makes downstream ownership clearer. Validate field names against the dataset definition instead of silently depending on misspelled fields.
Results are bounded, not paginated
200 JSON
{
"data": [
{ "make": "Toyota", "model": "Corolla", "year": 2022, "price_eur": 23900 }
],
"meta": {
"count": 1,
"dataset_id": "finnish-vehicle-market-listings",
"release_id": "dsv-preview-finnish-vehicle-market-listings",
"dataset_version": "dsv-preview-20260813",
"quality_status": "complete",
"partial": false
}
}Propagate response metadata
| Field | Why it matters |
|---|---|
| count | Number of rows returned in this response |
| dataset_id | Confirms the selected catalog |
| release_id | Makes the result reproducible |
| dataset_version | Identifies the data version |
| quality_status | Carries the release quality decision |
| partial | Machine-readable partial-data signal |