# Vacatures in je eigen toepassing.

Gebruik de openbare API vanuit JavaScript of Python. Behoud de vacaturelink en de oorspronkelijke bron.

## JavaScript · Node.js 22+

Openbare GET-verzoeken ondersteunen CORS. Gebruik textContent om vacaturetekst in een webpagina te tonen.

```
const url = new URL("https://werkenaanboord.nl/v1/jobs");
url.search = new URLSearchParams({ role: "schipper", limit: "5" });
const response = await fetch(url, { signal: AbortSignal.timeout(10000) });
if (!response.ok) throw new Error(`HTTP ${response.status}`);
const { data, next_cursor } = await response.json();
for (const job of data) console.log(job.title, job.job_url);
console.log("Volgende pagina:", next_cursor);
```

## Python · standaardbibliotheek

```
import json
from urllib.parse import urlencode
from urllib.request import urlopen

query = urlencode({"role": "schipper", "limit": 5})
with urlopen("https://werkenaanboord.nl/v1/jobs?" + query, timeout=10) as response:
    result = json.load(response)
for job in result["data"]:
    print(job["title"], job["job_url"])
```

## Gegevens actueel houden

updated_since is geen verwijderingslog. Een gesloten vacature komt niet meer voor in openbare resultaten.

Haal gegevens bijvoorbeeld ieder uur op. Bewaar eerder opgehaalde gegevens wanneer een aanvraag faalt.

1. Lees /v1/taxonomy voor vaste termen.
2. Haal alle pagina’s op via next_cursor. Houd dezelfde filters aan.
3. Werk bestaande records bij op basis van id.
4. Gebruik updated_since voor gewijzigde actieve vacatures.
5. Vergelijk regelmatig met een volledige lijst om gesloten of verwijderde vacatures weg te halen.

## Beschikbaarheid in je planning

Een match dekt de hele periode. Een boekingsverzoek reserveert niet automatisch een werknemer.

Gebruik POST /booking-requests met OAuth en een idempotentiesleutel om een verzoek vast te leggen.

```
curl --fail-with-body "https://werkenaanboord.nl/v1/availability?role=schipper&needed_from=2026-10-12&needed_to=2026-10-19"
```

- [API en boekingsvelden](https://werkenaanboord.nl/openapi.yaml)
