Skip to content

kami4ka/funda-scraper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Funda Scraper

A Python scraper for extracting property listings from funda.nl, the leading Dutch real estate platform.

Features

  • Scrape property listings for buy (koop) and rent (huur)
  • Support for multiple Dutch cities (Amsterdam, Rotterdam, Utrecht, etc.)
  • Filter by property type (apartment, house, parking, land)
  • Parallel detail page fetching for faster scraping
  • Export to CSV format
  • Comprehensive property data extraction

Installation

# Create virtual environment
python3 -m venv .venv
source .venv/bin/activate

# Install dependencies
pip install -r requirements.txt

Configuration

Set your ScrapingAnt API key as an environment variable:

export SCRAPINGANT_API_KEY="your_api_key_here"

Or pass it directly via command line:

python main.py --api-key "your_api_key_here" --location amsterdam

Usage

Basic Usage

# Scrape properties for sale in Amsterdam
python main.py --location amsterdam

# Scrape rental properties in Rotterdam
python main.py --location rotterdam --contract rent

# Scrape only apartments in Utrecht
python main.py --location utrecht --property apartment

Advanced Options

# Limit to first 2 pages
python main.py --location amsterdam --max-pages 2

# Limit to 50 properties
python main.py --location amsterdam --limit 50

# Skip detail pages (faster, less data)
python main.py --location amsterdam --no-details

# Custom output file
python main.py --location amsterdam --output amsterdam_properties.csv

# Increase parallel workers
python main.py --location amsterdam --max-workers 10

# Verbose logging
python main.py --location amsterdam -v

Command Line Options

Option Short Description
--location -l City to search (default: amsterdam)
--contract -c Contract type: buy, rent (default: buy)
--property -p Property type: all, apartment, house, parking, land (default: all)
--output -o Output CSV file path (default: properties.csv)
--limit Maximum number of properties to scrape
--max-pages Maximum number of listing pages to scrape
--max-workers -w Maximum parallel requests (default: 5)
--no-details Skip fetching detail pages
--api-key -k ScrapingAnt API key
--verbose -v Enable verbose logging

Supported Cities

  • Amsterdam
  • Rotterdam
  • Den Haag (The Hague)
  • Utrecht
  • Eindhoven
  • Groningen
  • Tilburg
  • Almere
  • Breda
  • Nijmegen
  • And more...

Output Fields

Field Description
url Property listing URL
listing_id Unique listing identifier
title Property title
property_type Type (Appartement, Huis, etc.)
contract_type Koop (buy) or Huur (rent)
price Asking price in EUR
price_per_sqm Price per square meter
city City name
neighborhood Neighborhood/district
postal_code Dutch postal code
street_address Street address
rooms Total number of rooms
bedrooms Number of bedrooms
bathrooms Number of bathrooms
living_area Living area in m²
plot_size Plot size in m²
volume Building volume in m³
floor Floor level
has_elevator Elevator available
has_parking Parking available
has_balcony Balcony available
has_terrace Terrace available
has_garden Garden available
energy_rating Energy label (A-G)
year_built Construction year
construction_type New or existing construction
heating_type Heating system type
insulation Insulation details
status Listing status
vve_contribution Monthly VvE contribution
description Property description
agency_name Real estate agency name
agency_url Agency profile URL
date_scraped Scraping timestamp

Project Structure

FundaScraper/
├── main.py           # CLI entry point
├── scraper.py        # Main scraper class
├── models.py         # Property data model
├── utils.py          # Parsing utilities
├── config.py         # Configuration constants
├── requirements.txt  # Python dependencies
└── README.md         # This file

Requirements

  • Python 3.8+
  • ScrapingAnt API key

License

MIT License

About

Python scraper for Funda.nl Dutch real estate listings

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages