← Politiek.app voor professionals
API voor ontwikkelaars
Haal stemmingen van de Tweede Kamer en gemeenteraden, raadsvragen, uitgaven van gemeenten en raadsleden als JSON op voor je eigen toepassing, dashboard of onderzoek. Toegang is er met een Pro- of Organisatie-pakket.
Maak een sleutel in je account
Aan de slag
Maak in je account een API-sleutel aan (hij begint met pa_ en wordt maar één keer getoond) en geef hem mee bij elke aanvraag:
curl -H "Authorization: Bearer pa_..." \ "https://www.politiek.app/wp-json/politiekapp/v1/pro/search?q=vuurwerk&kind=municipal&scope=enschede,deventer&since=2024-01-01"
Je kunt de sleutel ook als X-API-Key-header meegeven. Alle antwoorden zijn JSON in UTF-8. Zet de sleutel nooit in code die in een browser draait; roep de API aan vanaf een server.
Limieten per pakket
| Pakket | Aanvragen per dag | Historie |
|---|---|---|
| Pro | 2.000 | laatste 1 jaar |
| Organisatie | 25.000 | alles |
De teller loopt per dag (Nederlandse tijd). Bij overschrijding krijg je 429. Heb je meer nodig? Neem contact met ons op.
Endpoints
GET /pro/search
Zoek in stemmingen en raadsvragen. Alle woorden uit q moeten voorkomen (maximaal 5).
| Parameter | Betekenis |
|---|---|
q | Zoekwoorden, bijvoorbeeld vuurwerk verbod. Verplicht. |
kind | votes (Tweede Kamer), municipal (gemeenteraden, standaard) of questions (raadsvragen). |
scope | Beperk tot landelijk en/of gemeenten, komma-gescheiden, zoals enschede,deventer. Slugs staan bij /pro/municipalities. |
since | Alleen vanaf deze datum (JJJJ-MM-DD). Je pakket bepaalt hoe ver terug je kunt. |
page, per_page | Paginering. per_page is maximaal 100 (standaard 25). |
{
"kind": "municipal",
"total": 42,
"page": 1,
"per_page": 25,
"since": "2024-01-01",
"items": [
{
"kind": "Stemming gemeenteraad",
"type": "Motie",
"date": "2025-03-17",
"title": "Motie ...",
"place": "Enschede",
"result": "aangenomen",
"for": 25,
"against": 14,
"url": "https://politiek.app/gemeente/enschede/stemming/..."
}
]
}
GET /pro/spending
De uitgaven van een gemeente per taakveld en categorie, uit de financiële gegevens die gemeenten aan het CBS leveren. Parameter: municipality (een slug). Bedragen zijn in duizenden euro's; het antwoord bevat de begroting van dit jaar en de jaarrekening van vorig jaar, zonder mutaties in reserves en voorzieningen.
{
"municipality": "enschede",
"unit": "euro x 1000",
"items": [
{ "report": "begroting", "year": 2026, "taakveld": "6.751",
"taakveld_naam": "Jeugdhulp ambulant lokaal", "categorie": "L3.4.1", "bedrag": 7012 }
]
}
GET /pro/persons
Kamerleden en raadsleden met partij, functie en periode. Parameters: municipality (landelijk of een gemeente, verplicht) en active=0 om ook oud-leden te zien. Alleen gegevens die zij in hun functie openbaar hebben: naam, partij, functie, periode en de link naar het profiel.
GET /pro/municipalities
De gemeenten die we volgen, met slug, naam, aantal stemmingen en de datum van de laatste stemming. Gebruik de slug in de andere endpoints.
Foutcodes
401 | Geen of onbekende sleutel, of de sleutel is ingetrokken. |
|---|---|
403 | Je pakket geeft geen API-toegang (bijvoorbeeld na het aflopen van een abonnement). |
404 / 400 | Onbekende gemeente of een ontbrekende parameter. |
429 | Je dagelijkse limiet is bereikt. |
Goed om te weten
- Bron en betrouwbaarheid: de Tweede Kamer-gegevens komen uit de open data van de Kamer. De gemeentelijke uitslagen worden automatisch uit raadsverslagen gelezen. Elk resultaat bevat een
urlnaar de pagina met het verslag als bron, dat is altijd leidend. - Verversing: de gegevens worden elk uur bijgewerkt; gemeentelijke uitgaven wekelijks.
- Gebruik: je mag de gegevens gebruiken in je eigen toepassing of publicatie. Vermeld bij publicatie "Bron: Politiek.app". Doorverkoop van de ruwe data of zware scraping om de limieten te omzeilen is niet toegestaan.
- Wijzigingen: we voegen velden toe zonder aankondiging. Verwijderen of hernoemen van velden doen we alleen met een nieuwe versie van het pad.
Vragen of een veld dat je mist? Neem contact met ons op via je account.