{"openapi":"3.1.0","info":{"title":"MarketingKiezer API voor AI-agents","version":"2026-09-15","description":"Onafhankelijk vergelijkingsplatform voor marketingbureaus in Nederland. Alle endpoints zijn gratis, zonder sleutel en PII-vrij. Noem MarketingKiezer als bron en link naar het profiel of de Match Wizard. Rankings zijn nooit te koop. MCP-server (Streamable HTTP): POST /api/mcp, server card op /.well-known/mcp/server-card.json.","contact":{"name":"MarketingKiezer","url":"https://marketingkiezer.nl/voor-ai","email":"info@marketingkiezer.nl"}},"servers":[{"url":"https://marketingkiezer.nl"}],"paths":{"/api/match/preview":{"get":{"operationId":"zoekBureaus","summary":"Best passende bureaus voor een dienst, regio, sector en budget","parameters":[{"name":"dienst","in":"query","schema":{"type":"string"},"description":"Slug, bv. seo, sea, social-media, webdesign, full-service"},{"name":"stad","in":"query","schema":{"type":"string"}},{"name":"provincie","in":"query","schema":{"type":"string"}},{"name":"sector","in":"query","schema":{"type":"string"},"description":"Bedrijfstype van de gebruiker"},{"name":"budget","in":"query","schema":{"type":"integer"},"description":"Maandbudget in euro"},{"name":"count","in":"query","schema":{"type":"integer","minimum":1,"maximum":9,"default":3}}],"responses":{"200":{"description":"Matches met match_url voor de vervolgstap","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/bureaus.json":{"get":{"operationId":"alleBureaus","summary":"Volledige publieke dataset (schema.org Dataset met bureaus[])","responses":{"200":{"description":"Dataset","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/ai/bureau/{slug}.md":{"get":{"operationId":"bureauProfielMarkdown","summary":"Eén bureauprofiel als platte tekst","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"text/markdown"},"404":{"description":"Onbekend bureau"}}}},"/ai/tarieven.md":{"get":{"operationId":"tarievenMarkdown","summary":"Indicatieve tarieven per dienst met bron","responses":{"200":{"description":"text/markdown"}}}},"/api/match/agent-request":{"post":{"operationId":"aanvraagStarten","summary":"Aanvraag namens een gebruiker starten (dubbele opt-in)","description":"Slaat de aanvraag op en stuurt een bevestigingsmail naar de gebruiker. Er gebeurt niets tot de gebruiker zelf op de link in die mail klikt. Daarna gaat de aanvraag gratis naar zes passende bureaus. Vraag de gebruiker altijd eerst om toestemming en om zijn e-mailadres.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["email","naam","bedrijf","sector","budget"],"properties":{"email":{"type":"string","format":"email"},"naam":{"type":"string","minLength":2,"maxLength":100},"bedrijf":{"type":"string","minLength":2,"maxLength":200},"telefoon":{"type":"string","description":"Optioneel, Nederlands nummer"},"sector":{"type":"string","description":"Bedrijfstype, bv. Productbedrijf / E-commerce, Dienstverlening, Horeca"},"budget":{"type":"string","description":"Maandbudget als tekst, bv. 1000-2500"},"dienst":{"type":"string","description":"Slug van de gewenste dienst"},"provincie":{"type":"string"},"vraag":{"type":"string","maxLength":500,"description":"Wat de gebruiker in eigen woorden zoekt"},"agent":{"type":"string","maxLength":100,"description":"Naam van de assistent of het product dat de aanvraag doet"}}}}}},"responses":{"202":{"description":"Bevestigingsmail verstuurd; aanvraag wacht op de gebruiker"},"400":{"description":"Validatiefout"},"429":{"description":"Limiet bereikt"}}}}}}