Stagemarkt APIstagemarkt.nl ↗
Search and retrieve Dutch MBO internship companies (leerbedrijven) from Stagemarkt.nl. Get contact details, addresses, CREBO qualifications, and sector data.
What is the Stagemarkt API?
The Stagemarkt.nl API exposes 3 endpoints for querying the Dutch MBO internship company register. Use search_companies to retrieve paginated lists of leerbedrijven with contact email, phone, website, and available internship positions, or call get_company_detail to pull full address data, GPS coordinates, business type, and the qualification specializations (with CREBO codes, sector, and level) that a company is approved to offer.
curl -X GET 'https://api.parse.bot/scraper/1d02fc8d-1749-4e92-af8c-2f3d778b32d1/search_companies?page=1&query=bakker&page_size=12' \ -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 stagemarkt-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.stagemarkt_nl_company_internship_api import Stagemarkt, CompanySummary, Company
stagemarkt = Stagemarkt()
# Search for bakery-related internship companies
for company in stagemarkt.companies.search(query="bakker", limit=5):
print(company.name, company.number_of_internships, company.address.city)
# Drill into full detail for the first result
detail = company.details()
print(detail.business_type, detail.description)
for qual in detail.qualifications:
print(qual.qualification_name, qual.level, qual.crebo_code)
for position in detail.internship_positions:
print(position.title, position.number_of_positions, position.days_per_week)
# Use autocomplete suggestions
for suggestion in stagemarkt.suggestions.search(term="amsterdam"):
print(suggestion)
Search for internship companies (leerbedrijven) in the Stagemarkt register. Returns a paginated list of companies with name, email, phone, website, address, company size, and number of internship positions. Without a query, returns all companies. Filters available in the response can be used to narrow results by sector, company size, or features. Paginated via page number; each page returns up to page_size results.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (1-based) |
| query | string | Search keyword for company name (e.g., 'bakker') |
| sector | string | Filter by sector ID (UUID from filters in response, e.g. '02ab4f5e-b356-e011-87cd-001372415b01') |
| country | string | Filter by country code (e.g., 'NL', 'BE', 'DE') |
| page_size | integer | Number of results per page |
| company_size | string | Filter by company size ID (UUID from filters in response) |
{
"type": "object",
"fields": {
"filters": "array of available filter groups (sbi, bedrijfsgrootte, kenmerken) each with id and options array",
"companies": "array of company objects with id, leerbedrijf_id, name, email, phone, website, logo_url, company_size, number_of_internships, trains_frequently, address, coordinates, features",
"pagination": "object with page, page_size, total_count, total_pages, has_next_page, has_previous_page"
},
"sample": {
"data": {
"filters": [
{
"id": "sbi",
"options": [
{
"id": "02ab4f5e-b356-e011-87cd-001372415b01",
"hits": 3477,
"label": "Restaurants"
}
]
}
],
"companies": [
{
"id": "ffbe4905-c2e6-e611-80d1-bb82e25ba0ea",
"name": "Bakker Centrale Inkoop B.V.",
"email": "[email protected]",
"phone": "+1 (555) 012-3456",
"address": {
"city": "Springfield",
"street": "123 Main St",
"country": "Nederland",
"postal_code": "62704",
"country_code": "NL",
"house_number": "20"
},
"website": "http://www.bakkerbarendrecht.nl",
"features": [],
"logo_url": null,
"coordinates": {
"lat": 51.85773635,
"lon": 4.56482179
},
"company_size": "251 tot en met 500 medewerkers",
"leerbedrijf_id": "100443095",
"trains_frequently": true,
"number_of_internships": 2
}
],
"pagination": {
"page": 1,
"page_size": 12,
"total_count": 10000,
"total_pages": 834,
"has_next_page": true,
"has_previous_page": false
}
},
"status": "success"
}
}About the Stagemarkt API
What the API covers
Stagemarkt.nl is the official Dutch register of recognized MBO internship companies (leerbedrijven). The API gives programmatic access to the same company data available on the site: contact details, company size, internship position counts, and the qualifications each company is approved to supervise. All three endpoints return structured JSON with no HTML parsing required on your end.
Searching and filtering companies
search_companies accepts a free-text query (e.g., 'bakker'), a sector ID, a country code (NL, BE, DE), a company_size ID, and pagination controls (page, page_size). Leaving query empty returns all registered companies. The response includes a filters array with available filter groups — sbi, bedrijfsgrootte, and kenmerken — each carrying an id and an options array you can pass back as filter parameters. The companies array contains fields like leerbedrijf_id, email, phone, website, logo_url, company_size, and number_of_internships.
Company detail and qualifications
get_company_detail takes a company id (the UUID from search_companies results) and returns a richer profile: a structured address object (street, house_number, postal_code, city, country_code), coordinates with lat and lon, a description, business_type, and the internship qualification data including CREBO code, sector name, and MBO level. This is the endpoint to use when building qualification-aware matching or geographic lookups.
Autocomplete
suggest_companies accepts a term string and returns an array of matching company name strings along with total_count and total_pages. It is useful for typeahead search interfaces or for resolving a partial name before calling search_companies with a precise query.
The Stagemarkt API is a managed, monitored endpoint for stagemarkt.nl — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when stagemarkt.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 stagemarkt.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?+
- Build a searchable directory of approved MBO internship companies filtered by sector and region using
search_companies. - Map leerbedrijven locations using
coordinates(lat/lon) fromget_company_detailfor geographic coverage analysis. - Match students to companies by CREBO code and MBO level from the qualifications data in
get_company_detail. - Export contact lists (email, phone, website) of internship companies in a specific sector for outreach campaigns.
- Power a typeahead company search field with
suggest_companiesbefore resolving full records. - Track the number of available internship positions per company using
number_of_internshipsfromsearch_companies. - Cross-reference registered leerbedrijven by
company_sizeto target SMEs or large employers for partnership programs.
| 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 Stagemarkt.nl offer an official developer API?+
What qualification data does `get_company_detail` return?+
get_company_detail returns the internship specializations a company is approved to offer, including the CREBO code (the Dutch national qualification code), the sector name, and the MBO education level for each qualification. This lets you filter or match companies by the exact program a student is enrolled in.How does pagination work in `search_companies`?+
pagination object in the response includes page, page_size, total_count, total_pages, has_next_page, and has_previous_page. Pass the page and page_size parameters to step through results. Omitting query returns all companies in the register, paged accordingly.Does the API return open internship vacancy listings or application data?+
number_of_internships). It does not return individual vacancy listings, application forms, or student-facing placement data. You can fork this API on Parse and revise it to add an endpoint targeting vacancy-level detail.Is coverage limited to companies in the Netherlands?+
search_companies accepts a country filter with codes including NL, BE, and DE, so some cross-border leerbedrijven recognised under Dutch MBO frameworks are included. Coverage outside the Netherlands is limited to companies formally registered in the Stagemarkt system.