Skip to content
inburgering.help
Appearance

Light or dark

Your choice stays in this browser.

Language: English

Word API

Dutch words with translations, levels and themes, as JSON. Every data call needs an API key.

Your key

Send the key in the Authorization header as a bearer token, or in the X-API-Key header.

Authorization: Bearer ih_live_…

Free tier

A free key may make 10 calls a day. The count starts again at 00:00 UTC. Every call to a data endpoint counts as one, and the response headers X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset show where you stand.

Endpoints

All paths start with /api/v1. The full description is the OpenAPI file.

OpenAPI description (JSON)

The review_status field

Every value carries a review_status that says how far it has been checked: owner (entered or confirmed by the owner), reviewed, imported (taken from an open source), machine (a machine draft, not yet reviewed by a person) and draft. The /meta endpoint lists the statuses the API sends right now. Check the field if you need reviewed data only.

Errors

Every error has the same shape: an error object with status, code and message.

Example

The same call in curl, JavaScript and Python. Replace YOUR_KEY with your own key and never put it in public code.

curl

curl -H "Authorization: Bearer ih_live_YOUR_KEY" \
  "https://inburgering.help/api/v1/words/fiets?lang=en,fa"

javascript

const response = await fetch("https://inburgering.help/api/v1/words/fiets?lang=en,fa", {
  headers: { Authorization: "Bearer ih_live_YOUR_KEY" },
});
if (response.status === 429) {
  // Over the limit: try again after this many seconds.
  console.log("Retry after", response.headers.get("Retry-After"));
} else if (!response.ok) {
  console.log((await response.json()).error.message);
} else {
  console.log(await response.json());
}

python

import requests

response = requests.get(
    "https://inburgering.help/api/v1/words/fiets?lang=en,fa",
    headers={"Authorization": "Bearer ih_live_YOUR_KEY"},
    timeout=10,
)
if response.status_code == 429:
    # Over the limit: try again after this many seconds.
    print("Retry after", response.headers["Retry-After"])
else:
    response.raise_for_status()
    print(response.json())

Versions and changes

The API is at version 1 (/api/v1). Inside a version we only add fields and endpoints, so ignore fields you do not know. A change that could break a client gets a new version; the old one stays reachable for an announced notice period before it is switched off. The changes are listed below.

Request an API key

Keys are not being issued to new requesters yet. Please check back later.