Bouwgrondvinden Pipeline API

Hiermee stuur je de pipeline aan: aanbod scrapen, kavels verrijken, matches draaien. Elke request heeft de header X-API-Key nodig (de key staat in de .env op de server).

Technische referentie: /docs (Swagger — op de server met login)

Scraper

POST /scrape/runsAanbod ophalen, alleen JSON terug (schrijft niets)
POST /store/runsAanbod ophalen én in Airtable zetten (incl. dedup, wijzigingen, log)
GET /vendorsLijst van de 17 bronnen

Runs (lange taken)

Scrape/store/match geven direct een run_id terug. Daarna:

GET /runsLaatste runs
GET /runs/{id}Status + resultaat (JSON)
GET /runs/{id}/logLogregels van die run

Verrijken

POST /enrichEén adres → verrijkte kavel (±35 velden, incl. Kans-score, duurt ~30-60s)
POST /enrich/batchMeerdere adressen tegelijk (run_id)

Optionele body-vlaggen (standaard false → geen betaalde calls): include_paid = ook Google reisafstand/-tijd; include_ai = ook de AI Kans-score-toelichting (OpenAI). De Kans-score-waarde wordt altijd gratis berekend. Deze vlaggen werken ook op /enrich/batch en /promote/runs.

Matchen

POST /match/runsAlle zoekers x kavels scoren en in Matches zetten
GET /match/previewEén paar scoren, zonder te schrijven
POST /match/scenarioWat als de zoeker flexibeler is? (criteria verruimen)

Promoveren

POST /promote/runsGevalideerde review-rijen → verrijken → echte Kavels

Overig

POST /faillissementen/runsNieuwe faillissementen sinds een datum
GET /export/kavels.geojsonKavels als GeoJSON (kaart/website)
GET /alertsAlle huidige problemen in één lijst — n8n: als has_alerts, stuur alert
GET /eventsLog-tail (filter op level/source)
GET /healthWerkt alles? (geen key nodig)
GET /creditsFirecrawl-tegoed

Voorbeeld

curl -X POST http://127.0.0.1:8300/enrich   -H "X-API-Key: JOUW_KEY" -H "Content-Type: application/json"   -d "{"address": "Industrieweg 7, Bladel"}"

Let op: /store/runs schrijft echt naar Airtable en /scrape/runs draait ~15 min over alle bronnen.