For the complete documentation index, see llms.txt. This page is also available as Markdown.

Authentication, input and response

Endpoint

POST https://api.altum.ai/subsidy

Request headers

Header
Required
Value

x-api-key

Yes

Your Altum AI API key

Content-Type

Yes

application/json

The fastest way to see the API working is to send a single field, postcode, and inspect the response.

curl -X POST https://api.altum.ai/subsidy \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "postcode": "3511 AA"
  }'

This returns all available subsidies for the postcode (municipal, provincial, and national) with Loans.eligible_programs empty and no isde_2026 block.

From here, three usage flows extend the request:

Flow
Add to request
Returns

Discover subsidies

level, limit, tags

Filtered subsidies only

Check loan eligibility

applicant object

Eligible loan programs with calculations

Estimate ISDE subsidy

isde object

isde_2026 calculation block

You can combine all three in a single request.

Returns subsidies, loan eligibility, and ISDE 2026 estimates for a given postcode. The applicant and isde objects are optional. The response always returns the same top-level structure; sections you didn't request return empty arrays or are omitted.

Request body - top level

Field
Type
Required
Description

postcode

string

Yes

Dutch postcode in 1234 AB format (with space).

level

array of strings

No

Filter subsidies by level. One or more of municipality, province, national. Defaults to all three.

limit

integer

No

Maximum number of subsidies returned per level.

tags

array of strings

No

Filter subsidies by topic. See Tags reference.

object

No

Personal and financial details for loan eligibility. See Applicant object.

isde

object

No

Project details for ISDE 2026 calculation. See ISDE object.

Complete request example

Usage flows

Flow 1 - Discover subsidies only

Send postcode with optional level, limit, and tags. The response returns subsidies grouped by level. Loans.eligible_programs will be empty and the isde_2026 block will be absent.

Request

Response (truncated)

Subsidy entry fields

Field
Type
Description

location_name

string

Municipality, province, or country name.

name

string

Program name (Dutch).

description

string

Program description (Dutch).

eligibility

string

Semicolon-separated eligibility conditions (Dutch).

application_deadlines

string

Deadline string. Formats: until:<date> or from:<date> to:<date>. Dates in Dutch (e.g. 31 december 2026).

subsidy_amounts

string

Amount range string. Format: min:€<amount> max:€<amount>.

budget_ceilings

string

Total budget cap for the program, if specified.

application_process

string

How to apply (Dutch).

url

string

Official program page.

contact_info

string

Contact details for the issuing body.

level

string

One of municipality, province, national.

Flow 2 - Loan eligibility

Add the applicant object to the request. The response returns matching loan programs with applicant-specific calculations (interest rate, monthly payment, total cost).

All fields are required when applicant is provided unless marked otherwise.

Field
Type
Description

age

integer

Applicant's age in years. Some programs (e.g. NWF 1) have age caps.

is_homeowner

boolean

Whether the applicant owns the property.

is_occupant

boolean

Whether the applicant lives in the property.

residence_country

string

Country of residence. Most programs require Netherlands.

property_use_residential_percent

integer

Percentage of the property used for residential purposes (0–100).

credit_approved

boolean

Whether the applicant has passed a credit check.

previously_rejected_nwf1

boolean

Whether the applicant was previously rejected for an NWF 1 loan.

rejection_reason

string | null

Reason for prior rejection, if applicable.

requested_amount

number

Requested loan amount in EUR.

existing_nwf_loan_balance

number

Current outstanding balance on existing NWF loans (EUR).

specific_target_group

boolean

Whether the applicant belongs to a specific target group eligible for special terms.

collective_neighborhood

boolean

Whether the application is part of a collective neighbourhood project.

has_mortgage_security

boolean

Whether a mortgage security is in place.

business_part_connected

boolean | null

Indicates connection to a business part of the property.

gross_household_income

number

Gross annual household income in EUR. Used for income-based interest tiers.

desired_loan_period_years

integer

Requested repayment period in years.

Request

Response

Eligible program fields

Field
Type
Description

program_name

string

Loan product name.

description

string

Short summary of the loan product.

min_max_loan_amount

array [min, max]

Allowed loan amount range in EUR.

max_loan_period_years

integer

Maximum repayment period in years.

interest_type

string

Human-readable description of how interest is determined.

repayment

string

Human-readable description of repayment terms.

key_features

array of strings

Bullet points describing the program.

loan_amount

number

Amount applied to this calculation (echoes applicant.requested_amount).

loan_period_years

integer

Period applied to this calculation (echoes applicant.desired_loan_period_years).

applied_interest_rate_percent

number

Interest rate applied for this specific applicant.

total_interest

number

Total interest over the loan period (EUR).

total_cost

number

Principal + total interest (EUR).

monthly_payment

number

Monthly annuity (EUR), rounded to two decimals.

Flow 3 - ISDE 2026 calculation

Add the isde object to the request. The response returns an isde_2026 block with the total subsidy estimate, per-category breakdown

Measure
Codes

Insulation

WB002a, WB002b, WB002c, WB002d, WB002f, WB143, WB001e, WB009a, WB009b, WB009c, WB392, WB207, WB242, WB268, WB361, WB362, WB363, WB004, WB005, WB145, WB212a, WB214b

Glazing

WB019a, WB019b, WB161a, WB147b, WB147c

Heat pump

WB112, WB149a, WB149b, WB149c, WB159, WB198, WB199

Solar boiler

WB136, WB138, WB157

Ventilation

WB405, WB418

District heating connection

WB131

Electric cooking

ES001

By default only the area (area_m2) needs to be supplied to Insulation and Glazing

Request

Response

isde_2026 object

Field
Type
Description

total_subsidy_euro

number

Sum of all category amounts (EUR).

category_count

integer

Number of categories that returned an amount > 0.

eligibility

object

eligibility and conditions per category group.

breakdown

object

Per-category breakdown. See below.

breakdown

Each category (insulation, glazing, ventilation, heat_pump_primary, heat_pump_extra, solar_boiler, district_heating, electric_cooking) follows the same shape:

Field
Type
Description

amount_RVO-code

number

Calculated subsidy amount for this category (EUR).

Some RVO codes are not eligible for an ISDE subsidy. In such cases, you may receive the following warning:

Flow 4 - Combined

Send postcode, applicant, and isde in one request to get subsidies, loans, and ISDE calculation in a single response. The top-level response structure is the same as in the Complete request example.

Tags reference

The tags field filters subsidies by topic. Pass one or more values, exact case-sensitive match, Dutch only.

Sustainability (general) Duurzaamheid, Duurzaamheid en samenleving, Duurzaam ondernemen, Duurzaam bouwen en verbouwen, Duurzaam en slim rijden, Duurzaam financieren, Duurzaam produceren, Duurzaam voedsel, Verduurzamen

Climate & emissions Klimaatadaptatie, Klimaatakkoord, Klimaatbeleid, Klimaatneutraal, Klimaatverandering, CO2, CO2-neutraal, CO2-opslag, CO2-reductie, Emissiereductie, Emissie, Emissiehandel, Niet-CO2-broeikasgassen

Air quality Fijn stof, Luchtkwaliteit, NOx-beperkende technieken, Stikstof

Renewable energy Hernieuwbare energie, Duurzame energie, Duurzame energievoorziening, Duurzame elektriciteit, Zonnepanelen, Zon-PV-installaties, Zonneboilers, Wind, Wind op land, Wind op zee, Windmolens, Windturbines, Waterstof, Waterstofcellen, Biomassaketels, Groen gas, Aardgasvrij, Energie uit water, Bodemenergie

Energy efficiency & buildings Energiebesparing, Energieopslag, Opslag van elektriciteit, Netcongestie, Isolatie, Isoleren, Warmtepompen, Warmte Koude Opslag, Duurzame warmte en koude, Ledverlichting, Ventilatie en binnenmilieu, Gebouwde omgeving

Circular economy & materials Circulair ondernemen, Biobased economy, Biobased materialen, Afval, Grondstoffen, Valorisatie

Nature & environment Natuur, Natuurbeheer, Natuurterreinen, Bodem, Oppervlaktewater, Grondwater, Verontreiniging, Lucht, Milieu, Milieuzorg, Eco-activiteiten

Mobility & innovation Duurzame mobiliteit, Duurzame ontwikkeling, Duurzame technologie, Duurzame innovatie, Elektrisch rijden, Mobiliteit en ruimte

UN SDGs SDG7 Betaalbare en duurzame energie, SDG11 Duurzame steden en gemeenschappen, SDG12 Verantwoorde consumptie en productie, SDG13 Klimaatactie, SDG14 Leven in het water, SDG15 Leven op het land

Laatst bijgewerkt