Discover/Belastingdienst API
live

Belastingdienst APIbelastingdienst.nl

Access Dutch tax brackets, VAT rates, payroll rules, and more from the official Belastingdienst website. 14 endpoints covering income, corporate, and property taxes.

This API takes change requests — .
Endpoint health
verified 6d ago
get_inheritance_gift_tax_brackets
get_income_tax_brackets
get_box2_box3_rates
get_tax_credits
get_vat_rates
12/12 passing latest checkself-healing
Endpoints
14
Updated
1mo ago

What is the Belastingdienst API?

The Belastingdienst API provides structured access to official Dutch tax information across 14 endpoints, covering everything from Box 1 income tax brackets to energy tax rates and AOW pension data. The get_income_tax_brackets endpoint returns rate bands with exact lower/upper bounds and percentages for 2025 and 2026, while search lets you run full-text queries across all Belastingdienst information pages to locate any topic by Dutch keyword.

This call costs1 credit / call— charged only on success
Try it
Number of results to return (1-100).
Search terms in Dutch (e.g. 'btw aangifte', 'inkomstenbelasting').
api.parse.bot/scraper/7bf4673a-67d5-43de-b9da-266551d6c913/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X POST 'https://api.parse.bot/scraper/7bf4673a-67d5-43de-b9da-266551d6c913/search' \
  -H 'X-API-Key: $PARSE_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "count": "10",
  "query": "btw aangifte"
}'
Python SDK · recommended

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 belastingdienst-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.

"""Walkthrough: Belastingdienst_API SDK — bounded, re-runnable; every call capped."""
from parse_apis.Belastingdienst_API import Belastingdienst, TaxType, PageNotFound

client = Belastingdienst()

# Search for tax info pages on VAT returns
for result in client.pages.search(query="btw aangifte", limit=3):
    print(result.title, result.url)

# Get income tax brackets for 2025
for bracket in client.income_tax_results.get(year="2025", limit=3):
    print(bracket.bracket, bracket.income_range, bracket.rate_percent)

# Get only BPM motor vehicle tax data using the TaxType enum
for item in client.motor_vehicle_tax_results.get(year="2025", tax_type=TaxType.BPM, limit=1):
    print(item.bpm.description, item.bpm.source_url)

# Drill down: fetch full page from a search result
hit = client.pages.search(query="inkomstenbelasting", limit=1).first()
try:
    page = hit.details()
    print(page.title, page.meta_description)
except PageNotFound as e:
    print("page gone:", e.path)

print("exercised: pages.search, income_tax_results.get, motor_vehicle_tax_results.get, SearchResult.details")
All endpoints · 14 totalmissing one? ·

Full-text search over all Dutch tax information pages. Returns ranked results with title, description, and URL. Each item is a summary with enough context to decide which page to fetch in full.

Input
ParamTypeDescription
countintegerNumber of results to return (1-100).
queryrequiredstringSearch terms in Dutch (e.g. 'btw aangifte', 'inkomstenbelasting').
Response
{
  "type": "object",
  "fields": {
    "query": "The search query that was executed",
    "results": "Array of search result items with title, description, and url",
    "estimated_count": "Total estimated matching results across the index"
  },
  "sample": {
    "data": {
      "query": "btw aangifte",
      "results": [
        {
          "url": "https://www.belastingdienst.nl/wps/wcm/connect/nl/jonge-ondernemers/jonge-ondernemers",
          "title": "Jonge ondernemers en de btw-aangifte",
          "description": "We willen jonge ondernemers graag helpen met de btw-aangifte. Een foutje is namelijk snel gemaakt."
        },
        {
          "url": "https://www.belastingdienst.nl/wps/wcm/connect/nl/btw/content/ik-moet-btw-aangifte-doen-hoe-vul-ik-die-in",
          "title": "Ik moet btw-aangifte doen - hoe vul ik die in?",
          "description": "Hebt u hulp nodig met het invullen van de btw-aangifte? Op deze pagina leggen we u stap voor stap uit hoe u de btw-aangifte invult."
        }
      ],
      "estimated_count": 449
    },
    "status": "success"
  }
}

About the Belastingdienst API

Tax Rate Endpoints

The API exposes dedicated endpoints for the major Dutch tax categories. get_income_tax_brackets returns Box 1 bracket objects with year, bracket, income_range, lower_bound, upper_bound, and rate_percent fields, filterable by year. get_box2_box3_rates covers substantial interest income (Box 2) with bracket thresholds and rates, alongside the Box 3 flat rate for savings and investments. get_corporate_tax_rates returns the vennootschapsbelasting tiered structure with profit threshold, low rate, and high rate. All rate endpoints accept an optional year parameter; omitting it returns all available years.

Payroll, VAT, and Property Taxes

get_payroll_tax_info returns werkkostenregeling (WKR) vrije ruimte percentage tiers, reiskostenvergoeding per kilometre, and 30%-ruling salary thresholds — all per year. get_vat_rates returns the four BTW categories (standard 21%, reduced 9%, zero 0%, exempt) with descriptions of which goods and services fall under each. Property-related endpoints include get_transfer_tax_rates, which returns residential_rate_percent, commercial_rate_percent, and a first_time_buyer_exemption object describing the startersvrijstelling, and get_inheritance_gift_tax_brackets, which breaks down erfbelasting rates by relationship category (partner/children, grandchildren, others).

Search and Full-Page Content

The search endpoint accepts a Dutch-language query string and an optional count (1–100), returning ranked results with title, description, url, and estimated_count. get_page fetches the full content of any Belastingdienst page by its path segment, returning structured sections (each tagged as h1–h4, p, or li), links with text and URL, title, and meta_description. This pair makes it possible to locate and read any guidance page programmatically.

Specialised Tax Endpoints

get_energy_tax_rates covers energiebelasting rates per unit across consumption tiers for gas (€/m³) and electricity (€/kWh) for years 2019–2026, including ODE surcharges. get_motor_vehicle_tax_rates returns BPM CO2-based rate tables and motorrijtuigenbelasting general information. get_aow_pension_info provides AOW eligibility age, premium rates, transition monthly rates, and the tax brackets applicable to AOW holders, across multiple tax years.

Reliability & maintenanceVerified

The Belastingdienst API is a managed, monitored endpoint for belastingdienst.nl — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when belastingdienst.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 belastingdienst.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.

Last verified
6d ago
Latest check
12/12 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a Dutch net salary calculator using Box 1 brackets from get_income_tax_brackets and travel allowance data from get_payroll_tax_info.
  • Automate annual tax compliance checks by querying updated corporate tax tiers via get_corporate_tax_rates each budget cycle.
  • Populate a BTW invoicing tool with the correct VAT category and rate for each product type using get_vat_rates.
  • Calculate property acquisition costs for Dutch real estate transactions by combining residential and commercial rates from get_transfer_tax_rates.
  • Retrieve current 30%-ruling thresholds for expat HR onboarding workflows via get_payroll_tax_info.
  • Search Belastingdienst guidance by keyword using search and surface the full article text via get_page for a Dutch tax Q&A assistant.
  • Track year-on-year changes in energy tax rates across consumption bands using get_energy_tax_rates with a year filter.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does the Belastingdienst have an official developer API?+
The Belastingdienst does not publish a public developer API for structured tax data. The official website at belastingdienst.nl is the authoritative source for tax rates and guidance, but it provides no machine-readable data feed.
What does `get_tax_credits` return and how is it structured?+
get_tax_credits returns an array of tax_credits objects per year, each with credit_name, label, and a details field that includes income ranges, amounts, and phase-out formulas as published on the Belastingdienst site. It covers algemene heffingskorting and arbeidskorting. Filter by year (e.g. '2025' or '2026') to limit results to a single tax year.
Does the API cover gift tax (schenkbelasting) separately from inheritance tax?+
Currently get_inheritance_gift_tax_brackets combines erfbelasting bracket data by relationship category. Schenkbelasting exemption tables and annual gift allowances are not returned as a separate structured endpoint. You can fork the API on Parse and revise it to add an endpoint dedicated to gift tax thresholds and exemptions.
How current is the tax rate data?+
Rate data is sourced from the official Belastingdienst information pages. The source_url field returned by most rate endpoints points to the exact page on belastingdienst.nl the data originates from, so you can verify the publication date directly. The Belastingdienst typically updates rates pages in late autumn for the following tax year.
Does the API return data on toeslagen (benefits/allowances) such as zorgtoeslag or huurtoeslag?+
Toeslagen data is not covered by the current endpoints, which focus on tax rates, payroll rules, and guidance pages. The search endpoint can locate Belastingdienst pages about toeslagen, and get_page will fetch their text content, but there is no structured toeslag-specific endpoint. You can fork the API on Parse and revise it to add structured endpoints for zorgtoeslag income thresholds or huurtoeslag tables.
Page content last updated . Spec covers 14 endpoints from belastingdienst.nl.
Related APIs in Government PublicSee all →
incometaxindia.gov.in API
Search and retrieve official Income Tax Department notifications from India spanning over 60 years, with the ability to filter by year, search by text, and browse through paginated results. Access detailed information about each notification including its number, title, date, documents, and categories to stay updated on tax policy changes and regulatory updates.
kvk.nl API
Search for Dutch businesses and retrieve detailed company information such as registration numbers, addresses, and business details directly from the official KVK trade register. Look up specific companies to access their official registration data and verify business information in the Netherlands.
drimble.nl API
Search and access detailed business information from Drimble.nl, including company addresses, SBI classifications, and activity descriptions. Find specific companies or browse listings to get comprehensive details about Dutch businesses.
ato.gov.au API
Search and retrieve official Australian Taxation Office rulings, legislation, court cases, and interpretative decisions to find authoritative tax guidance and legal information. Access specific tax documents directly to research compliance requirements and regulatory interpretations relevant to your situation.
werk.nl API
Search for job vacancies across the Dutch national job board werk.nl and instantly access structured job details including title, company, location, hours, contract type, education level, and publication date. Find your next opportunity by filtering through thousands of active listings with all the key information you need to apply.
bagviewer.kadaster.nl API
Search for Dutch addresses with autocomplete, look up building and residential unit details, and access historical records from the National Address and Building Registry. Find properties by coordinates, retrieve comprehensive building information, and explore how addresses and structures have changed over time.
cbic-gst.gov.in API
Look up current GST tax rates for goods and services, search products and services by classification, browse GST schedules, and stay updated with the latest GST notifications and policy changes from the CBIC portal. Quickly find applicable tax rates for specific items and access real-time updates on what's new in GST regulations.
amazon.nl API
Search Amazon.nl for products by keyword, retrieve full product details and specifications, read customer reviews, and browse category bestseller lists.