A Python scraper for extracting rental property listings from pararius.com, the leading Dutch rental property website.
- Scrape rental property listings across the Netherlands
- Support for multiple Dutch cities (Amsterdam, Rotterdam, Utrecht, etc.)
- Filter by property type (apartment, house, studio, room)
- Parallel detail page fetching for faster scraping
- Export to CSV format
- Comprehensive property data extraction (40+ fields)
# Create virtual environment
python3 -m venv .venv
source .venv/bin/activate
# Install dependencies
pip install -r requirements.txtSet 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# Scrape rental properties in Amsterdam
python main.py --location amsterdam
# Scrape only apartments in Rotterdam
python main.py --location rotterdam --property apartment
# Scrape houses in Utrecht
python main.py --location utrecht --property house# 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_rentals.csv
# Increase parallel workers
python main.py --location amsterdam --max-workers 10
# Verbose logging
python main.py --location amsterdam -v| Option | Short | Description |
|---|---|---|
--location |
-l |
City to search (default: amsterdam) |
--property |
-p |
Property type: all, apartment, house, studio, room (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 |
- Amsterdam
- Rotterdam
- Den Haag (The Hague)
- Utrecht
- Eindhoven
- Groningen
- Tilburg
- Almere
- Breda
- Nijmegen
- Haarlem
- Arnhem
- Amstelveen
- Delft
- Leiden
- Maastricht
- And more...
| Field | Description |
|---|---|
| url | Property listing URL |
| listing_id | Unique listing identifier |
| title | Property title |
| property_type | Type (Apartment, House, Studio, Room) |
| street_address | Street address |
| postal_code | Dutch postal code |
| city | City name |
| neighborhood | Neighborhood/district |
| price | Monthly rental price in EUR |
| deposit | Deposit amount in EUR |
| living_area | Living area in m² |
| volume | Building volume in m³ |
| rooms | Total number of rooms |
| bedrooms | Number of bedrooms |
| bathrooms | Number of bathrooms |
| floors | Number of floors |
| interior | Interior type (Furnished, Upholstered, Shell) |
| upkeep | Property condition |
| house_type | Specific house type |
| construction_type | New/Existing building |
| year_built | Construction year |
| energy_rating | Energy label (A-G) |
| has_balcony | Balcony available |
| has_garden | Garden available |
| has_terrace | Roof terrace available |
| has_parking | Parking available |
| parking_type | Type of parking |
| has_garage | Garage available |
| has_storage | Storage/shed available |
| facilities | Facilities list |
| available_from | Availability date |
| rental_agreement | Agreement type |
| smoking_allowed | Smoking permitted |
| pets_allowed | Pets permitted |
| target_audience | Target tenant type |
| status | Listing status |
| offered_since | Listing date |
| description | Property description |
| agency_name | Real estate agency name |
| agency_url | Agency profile URL |
| date_scraped | Scraping timestamp |
ParariusScraper/
├── 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
- Python 3.8+
- ScrapingAnt API key
MIT License