Menzis APImenzis.nl ↗
Retrieve Menzis insurance reimbursements, plan details, and policy documents via 5 structured endpoints. Search vergoedingen, list plans, and fetch coverage details.
What is the Menzis API?
The Menzis.nl API exposes 5 endpoints for accessing Dutch health insurance data from menzis.nl, covering reimbursements (vergoedingen), insurance plans, and policy documents. Use get_vergoeding_detail to retrieve per-plan coverage objects, FAQ entries, and linked documents for any reimbursement page, or use search_vergoedingen to find relevant reimbursement pages by keyword before drilling into the detail.
curl -X GET 'https://api.parse.bot/scraper/e895d1c6-56ac-49a3-8fe3-3f34bafc1b6a/list_vergoedingen?letter=a' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace menzis-nl-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
from parse_apis.menzis_reimbursements_and_plans_api import Menzis, Reimbursement, ReimbursementDetail, SearchResult, InsurancePlan, ConditionsPage, Letter
menzis = Menzis()
# List reimbursements for a specific letter using the Letter enum
for reimbursement in menzis.reimbursements.list_by_letter(letter=Letter.A):
print(reimbursement.name, reimbursement.slug)
# Search for reimbursements by keyword
for result in menzis.reimbursements.search(query="fysiotherapie"):
print(result.title, result.description, result.url)
# Get detailed coverage for a specific reimbursement by slug
detail = menzis.reimbursement("acnebehandeling").detail()
print(detail.title, detail.url, detail.description)
for plan_name, coverage in detail.coverage.items():
print(plan_name, coverage.info)
for faq in detail.faq:
print(faq.question, faq.answer)
# List all insurance plans
for plan in menzis.insuranceplans.list():
print(plan.name, plan.type, plan.monthly_premium)
# List policy conditions pages
for page in menzis.conditionspages.list():
print(page.title, page.url)
List all reimbursements for a specific letter (a-z) from the A-Z index on Menzis.nl. Returns reimbursement names, URLs, and slugs for the given letter. Pages are organized alphabetically; each letter returns all matching items in a single response without further pagination.
| Param | Type | Description |
|---|---|---|
| letter | string | Single lowercase alphabetical letter to filter reimbursements (a-z). |
{
"type": "object",
"fields": {
"letter": "string — the letter that was queried",
"reimbursements": "array of objects with keys: name (string), url (string), slug (string)"
},
"sample": {
"data": {
"letter": "a",
"reimbursements": [
{
"url": "https://www.menzis.nl/zorg-en-vergoedingen/a/acnebehandeling",
"name": "Acnebehandeling",
"slug": "acnebehandeling"
},
{
"url": "https://www.menzis.nl/zorg-en-vergoedingen/a/algemene-check-up",
"name": "Algemene check-up",
"slug": "algemene-check-up"
},
{
"url": "https://www.menzis.nl/zorg-en-vergoedingen/a/allergeenvrije-schoenen",
"name": "Allergeenvrije schoenen",
"slug": "allergeenvrije-schoenen"
}
]
},
"status": "success"
}
}About the Menzis API
Reimbursement Data
list_vergoedingen accepts a single lowercase letter parameter (a–z) and returns all reimbursement entries indexed under that letter, each with a name, url, and slug. These slugs feed directly into get_vergoeding_detail, which accepts either a full url or a letter + slug combination. The detail response includes a title, description, a coverage object whose keys are plan or coverage-tier names and whose values contain descriptive info text, an faq array of question/answer pairs, and a documents array with linked titles and URLs.
Search and Plan Listing
search_vergoedingen takes a query string — for example 'fysiotherapie' or 'tandarts' — and returns matching results with title, description, and url fields. This is useful for locating reimbursement pages without browsing the A–Z index. list_insurance_plans requires no inputs and returns all Menzis basis and aanvullend (supplemental) plans with their name, type, monthly_premium, and url.
Policy Documents
get_verzekeringsvoorwaarden returns a flat list of policy-conditions pages organized by year, each with a title and url. This covers the formal verzekeringsvoorwaarden (insurance terms) documents published by Menzis, useful for compliance checks or archival comparisons across policy years.
The Menzis API is a managed, monitored endpoint for menzis.nl — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when menzis.nl changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official menzis.nl API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Map which Menzis plan tiers cover physiotherapy by comparing the
coverageobject keys fromget_vergoeding_detailfor the fysiotherapie slug. - Build a Dutch health insurance comparison tool that surfaces reimbursement coverage differences across basis and aanvullend plans.
- Automate annual tracking of policy-document changes by diffing
get_verzekeringsvoorwaardenresults across years. - Populate a benefits-search UI using
search_vergoedingenwith user-entered keywords like 'tandarts' or 'brillen'. - Extract FAQ content from reimbursement detail pages to feed a healthcare chatbot with up-to-date Menzis coverage Q&A.
- Aggregate
monthly_premiumvalues fromlist_insurance_plansto monitor pricing trends across Menzis plan types. - Enumerate every reimbursement in the A–Z index by iterating
list_vergoedingenfrom a to z.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Menzis have an official developer API?+
What does `get_vergoeding_detail` return and how do I identify the right page?+
title, description, a coverage object (keys are plan names, values contain an info text), an faq array, and a documents array. You can identify the target page either by supplying a full url or by combining a letter (e.g. 'f') with a slug (e.g. 'fysiotherapie-vanaf-18-jaar-b'). If url is provided, the other two parameters are ignored.Does the API return numeric reimbursement amounts (euro values) for each plan?+
info strings inside the coverage object, which may contain amounts described in prose. The API covers plan-level coverage descriptions, FAQ entries, and linked documents. You can fork this API on Parse and revise it to add structured amount extraction if the source pages carry parseable figures.Are reimbursements for all Menzis labels (e.g. Anderzorg, IntwineHealth) included?+
Does `list_vergoedingen` paginate, and what happens if no letter is supplied?+
letter parameter is optional; omitting it may return a default or full listing depending on how the source page behaves, but for reliable results it is best to pass an explicit letter from a to z.