Skip to documentation content
Dataset APIDocs

Dataset API quick start

Discover a dataset and query one immutable release.

In this guide
  1. 1Configure a bearer token
  2. 2Discover a release
  3. 3Query bounded rows
  4. 4Check quality metadata
In this guide
  1. 1Configure a bearer token
  2. 2Discover a release
  3. 3Query bounded rows
  4. 4Check quality metadata

Before you start

Use a server-side environment with a Dataset API bearer key. The examples use the production v1 base URL; use the sandbox host for test traffic.

1. List the catalog

cURL
curl "https://api.datasets.nordicdevhouse.com/v1/datasets" \
  -H "Authorization: Bearer $DATASET_API_KEY" \
  -H "Accept: application/json" \
  -H "X-API-Version: 1"

Choose the dataset by id and inspect fields, identity_fields, and latest_release before building an importer.

2. Pin a release

cURL
curl "https://api.datasets.nordicdevhouse.com/v1/datasets/finnish-vehicle-market-listings/releases/dsv-preview-finnish-vehicle-market-listings" \
  -H "Authorization: Bearer $DATASET_API_KEY" \
  -H "X-API-Version: 1"

Require immutable=true. Decide explicitly whether your workflow accepts quality_status=partial or only complete releases.

3. Query rows

cURL
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
  }'
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
  }
}

4. Prepare for production

  1. 1
    Store the selected release ID with imported rows
  2. 2
    Set connect and total request timeouts
  3. 3
    Retry only safe reads and clearly transient failures
  4. 4
    Log request_id from error responses
  5. 5
    Monitor partial releases separately from complete releases
Was this page helpful?