CBS Netherlands Statistics Scraper avatar

CBS Netherlands Statistics Scraper

Pricing

from $4.52 / 1,000 results

Go to Apify Store
CBS Netherlands Statistics Scraper

CBS Netherlands Statistics Scraper

Scrapes CBS OpenData tables by table ID and returns each row of the TypedDataSet as a flat object. Supports up to 1,000,000 records per run.

Pricing

from $4.52 / 1,000 results

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 days ago

Last modified

Share

ParseForge

CBS Netherlands Statistics Scraper

Scrape CBS Netherlands statistics tables by table ID, up to a million records per run. Each row returns every column of the TypedDataSet, ready for CSV, JSON, Excel, or XML export. No API key or registration needed.

CBS Netherlands publishes official Dutch statistics as OpenData tables, but downloading them manually means clicking through the portal and stitching files together. This Actor reads a table's TypedDataSet directly from the CBS OpenData API and returns each record as a flat row, so you can analyze population, economy, or labor data in minutes.

Who uses itWhat they scrape CBS Netherlands for
Market researchersPull demographic or economic indicators for trend reports.
Data analystsFeed official Dutch statistics into dashboards or models.
JournalistsVerify figures on population, employment, or inflation.
Government policy staffMonitor key metrics across regions or time periods.

What it does

This Actor collects all rows and columns from a CBS OpenData table identified by its table ID, and returns each record as a flat object.

  • ๐Ÿ“‹ Table ID input: provide any CBS OpenData table identifier, such as 37556eng, and the Actor fetches its full TypedDataSet.
  • ๐Ÿ”ข Record limit: set maxItems from 1 to 1,000,000 to control how many rows are returned per run.
  • ๐Ÿ“ค Flat output: every row includes all columns from the table, with no nested structures, ready for export.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with CBS Netherlands data

๐Ÿ“Š Build a regional dashboard.

A data analyst scrapes a CBS table on municipal population and loads the flat rows into a BI tool to track changes by province.

๐Ÿ“ˆ Monitor economic indicators.

A market researcher pulls a table on consumer prices each month and compares the latest figures against historical data.

๐Ÿ—ž๏ธ Fact-check a news story.

A journalist enters the table ID for unemployment statistics and verifies the exact numbers before publication.

๐Ÿ›๏ธ Support policy analysis.

A government staffer scrapes a table on housing construction and uses the records to evaluate regional targets.

Why choose this scraper

What you get
Official sourceData comes directly from Statistics Netherlands, the authoritative Dutch statistical agency.
No API keyThe Actor uses the public CBS OpenData endpoint, so no registration or authentication is required.
Full table coverageEvery column in the TypedDataSet is included in each returned record.
ScalableFetch up to 1,000,000 records in a single run for large tables.

How it compares

No other Store actor targets CBS Netherlands the same way, so the honest comparison is with the alternatives teams actually weigh.

CBS Netherlands Statistics ScraperBuild it in-houseBy hand
SetupRun it now, zero configDays of engineeringNone, but hours per pull
When CBS Netherlands changesMaintained for youYou fix itYou re-learn the page
Proxies, retries, anti-botBuilt inYour problemBrowser only
OutputFixed JSON schema, CSV/Excel exportWhatever you buildCopy-paste
CostPay per resultEngineering timeAnalyst hours

Configure the run

Drive the Actor with a single CBS OpenData table ID and a maximum record count; the Actor reads the table's TypedDataSet and returns each row as a flat object. The Input tab lists every parameter.

A first run with the defaults:

{
"tableId": "37556eng",
"maxItems": 10
}

A larger pull:

{
"tableId": "37556eng",
"maxItems": 200
}

Pricing

Pay-per-result: $0.005 per result collected. You pay only for the results written to your dataset.

Results collectedApproximate cost
100 results$0.50
1,000 results$5.00
10,000 results$50.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the CBS Netherlands Statistics Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to CBS Netherlands through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

$claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/cbs-netherlands-statistics-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check that the table ID is correct and that the table has data. Some tables may be empty or retired. Try a known ID like 37556eng to test.

The run fails with an invalid table ID error.

Visit https://opendata.cbs.nl and search for the dataset. Copy the exact identifier from the URL, including the language suffix like 'eng' or 'ned'.

I only got a few records but expected more.

Increase the maxItems input up to 1,000,000. If the table itself has fewer rows, the Actor returns all available records.

The output has Dutch column names but I need English.

Use a table ID ending in 'eng' for English metadata. If the table only exists in Dutch, you can rename columns after export.

FAQ

QuestionAnswer
Where do I find the table ID?Visit https://opendata.cbs.nl, browse or search for a dataset, and copy the identifier from the URL or the table's metadata page. The ID often looks like '37556eng'.
Do I need an API key or account?No. The Actor uses the public CBS OpenData API, which does not require authentication.
What format is the output?Each record is a flat JSON object with all columns from the table's TypedDataSet. You can export the dataset to CSV, JSON, Excel, or XML from the Apify platform.
Can I scrape multiple tables in one run?This Actor is designed for one table ID per run. To scrape multiple tables, run the Actor separately for each ID or use multiple runs.
How many records can I get?You can set maxItems up to 1,000,000. If the table has fewer rows, the Actor returns all available records.
What if the table has more than a million rows?Set maxItems to 1,000,000 and run the Actor multiple times, or contact support for larger extractions.
Is the data in English or Dutch?The language depends on the table ID you choose. IDs ending in 'eng' return English metadata and column names; others may return Dutch.
Can I filter columns?The Actor returns all columns from the TypedDataSet. You can filter columns after export using tools like Excel or pandas.
How often is the data updated?The Actor fetches live data from CBS OpenData each time it runs, so you always get the latest published figures.
What if I get an error for an invalid table ID?Double-check the ID on the CBS OpenData portal. The Actor will fail with a clear message if the ID does not exist.

Browse the full ParseForge collection for more scrapers.

๐Ÿ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

โš ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Statistics Netherlands (Centraal Bureau voor de Statistiek). It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.