Free Expat Data API: Netherlands Salary and Cost of Living (Data as of 17 March 2026) (0 guides)
Free static JSON with Dutch salary and cost of living figures (data as of 17 March 2026) for developers building expat tools and relocation apps.
If you are building a relocation tool, salary calculator, or cost-of-living comparison app and you need clean data on the Netherlands, you can use the endpoints below for free. No API key required. No rate limits. Just link back to us as your source.
Data as of 17 March 2026. Both files were last updated on 17 March 2026 and have not been refreshed since. Figures such as rents, salaries and insurance premiums may have changed. Check the source pages and official sources (Belastingdienst, Rijksoverheid) before relying on them.
Available Endpoints
Both endpoints return static JSON hosted at expatnetherlandshub.com. The data in both files is as of 17 March 2026 (data_as_of field).
Salaries
GET https://expatnetherlandshub.com/api/v1/salaries.json
Returns:
- Average gross and estimated net salary by city (Amsterdam, Rotterdam, Den Haag, Utrecht, Eindhoven, Groningen)
- Salary ranges by seniority level for 6 sectors (Software Engineering, Data Science, Finance/Banking, Consulting, Marketing, Engineering)
- Minimum wage (monthly, age 21+) as known on 17 March 2026
- 30% ruling income threshold
- Tax brackets with rates
Source page: Netherlands Salary Comparison
Cost of Living
GET https://expatnetherlandshub.com/api/v1/cost-of-living.json
Returns per city (Amsterdam, Rotterdam, Utrecht, Eindhoven, Groningen):
- Rent ranges for 1-bedroom and 2-bedroom apartments (EUR/month)
- Monthly grocery costs for a single person
- Monthly public transport pass cost
- Monthly health insurance cost
Source page: Expat Statistics Netherlands
Usage Examples
JavaScript (fetch)
// Salary data
fetch('https://expatnetherlandshub.com/api/v1/salaries.json')
.then(res => res.json())
.then(data => {
const cities = data.data.by_city;
cities.forEach(c => {
console.log(`${c.city}: €${c.avg_gross.toLocaleString()} gross`);
});
});
// Cost of living data
fetch('https://expatnetherlandshub.com/api/v1/cost-of-living.json')
.then(res => res.json())
.then(data => {
const amsterdam = data.data.by_city.find(c => c.city === 'Amsterdam');
console.log(`Amsterdam 1-bed rent: €${amsterdam.rent_1bed.min}–€${amsterdam.rent_1bed.max}/month`);
});
Python (requests)
import requests
# Salary data
r = requests.get('https://expatnetherlandshub.com/api/v1/salaries.json')
data = r.json()
for city in data['data']['by_city']:
print(f"{city['city']}: €{city['avg_gross']:,} gross / €{city['avg_net_est']:,} net (est.)")
# Cost of living
r = requests.get('https://expatnetherlandshub.com/api/v1/cost-of-living.json')
col = r.json()
for city in col['data']['by_city']:
rent = city['rent_1bed']
print(f"{city['city']}: 1-bed €{rent['min']}–€{rent['max']}/month")
Response Format
Each response includes top-level metadata alongside the data:
{
"source": "ExpatNetherlandsHub.com",
"source_url": "https://expatnetherlandshub.com/salary-comparison/",
"last_updated": "2026-03-17",
"data_as_of": "2026-03-17",
"status": "Data as of 17 March 2026. Not refreshed since; ...",
"license": "Free to use with attribution link to source_url",
"data": { ... }
}
The source_url field points to the page where the data originates; use this URL for your attribution link.
Attribution Requirement
The data is free to use. The one requirement is that you include a visible link to ExpatNetherlandsHub.com as your data source — either to the homepage or to the specific source_url returned in the response.
Example attribution:
Data source: <a href="https://expatnetherlandshub.com/salary-comparison/">ExpatNetherlandsHub.com</a>
That is it. No registration, no API key, no licence fee.
Data Notes
- Salary figures are gross annual amounts in EUR. Net estimates assume a standard employee without the 30% ruling. Actual net pay varies based on personal deductions, housing benefit, and other factors.
- Rent ranges reflect the private rental market in each city as of March 2026. They exclude social housing (which has long waiting lists for most expats).
- Health insurance costs are for basic mandatory Dutch health insurance (basisverzekering). Expats on certain visa types may have different requirements.
- All amounts are in EUR.
- All figures are as of 17 March 2026 and have not been refreshed since. There is no automatic update schedule.
Questions or Corrections
If you spot an error in the data or want to request additional fields, contact us via the contact page. We will consider adding new endpoints (e.g., 30% ruling calculator output, housing by neighbourhood) if there is demand.
No guides published yet. Check back soon.