Skip to content

kami4ka/RightmoveScraper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rightmove Scraper

A Python scraper for Rightmove, the UK's largest property marketplace, powered by ScrapingAnt API.

Features

  • Scrape property listings from 20+ UK regions
  • Support for sale and rental listings
  • Filter by bedrooms, price range, and property type
  • URL-based pagination support
  • Export to CSV and JSON formats
  • Automatic deduplication of listings
  • Configurable request delays

Requirements

Note: The ScrapingAnt free plan has a concurrency limit of 1 thread. For higher throughput, consider upgrading to a paid plan.

Installation

  1. Clone the repository:
git clone https://github.com/scrapingant/RightmoveScraper.git
cd RightmoveScraper
  1. Create a virtual environment:
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Install dependencies:
pip install -r requirements.txt
  1. Set your ScrapingAnt API key:
export SCRAPINGANT_API_KEY="your_api_key_here"

Usage

Basic Usage

Scrape properties for sale in London (default):

python main.py

Scrape Multiple Regions

python main.py -r london manchester birmingham

Scrape Rentals

python main.py --type rent

Filter by Bedrooms

python main.py --min-beds 2 --max-beds 4

Filter by Price

python main.py --min-price 200000 --max-price 500000

Filter by Property Type

python main.py --property-type flats
python main.py --property-type houses

Control Pagination

python main.py -p 5  # Scrape 5 pages

List Available Regions

python main.py --list-regions

Export Options

python main.py -o results.csv      # Custom CSV filename
python main.py --json              # Also export to JSON

All Options

usage: main.py [-h] [-r REGIONS [REGIONS ...]] [-p PAGES] [-d DELAY]
               [-o OUTPUT] [--json] [--type {sale,rent}]
               [--property-type {all,houses,flats,bungalows,land,commercial}]
               [--min-beds MIN_BEDS] [--max-beds MAX_BEDS]
               [--min-price MIN_PRICE] [--max-price MAX_PRICE]
               [--list-regions] [--api-key API_KEY]

Options:
  -r, --regions         Regions to scrape (default: london)
  -p, --pages           Max pages per region (default: 2)
  -d, --delay           Delay between requests in seconds (default: 1.0)
  -o, --output          Output CSV filename
  --json                Also export to JSON format
  --type                Listing type: sale or rent (default: sale)
  --property-type       Property type filter
  --min-beds            Minimum bedrooms filter
  --max-beds            Maximum bedrooms filter
  --min-price           Minimum price filter
  --max-price           Maximum price filter
  --list-regions        List all available regions
  --api-key             ScrapingAnt API key (or use SCRAPINGANT_API_KEY env var)

Available Regions

Region Description
london Greater London
manchester Greater Manchester
birmingham Birmingham
leeds Leeds
glasgow Glasgow
liverpool Liverpool
bristol Bristol
edinburgh Edinburgh
sheffield Sheffield
newcastle Newcastle
nottingham Nottingham
cardiff Cardiff
belfast Belfast
leicester Leicester
brighton Brighton
oxford Oxford
cambridge Cambridge
bath Bath
york York
reading Reading

Output Format

CSV Fields

Field Description
title Property title/address
price Asking price or rent
address Full property address
property_type Type (Flat, Terraced, Detached, etc.)
bedrooms Number of bedrooms
bathrooms Number of bathrooms
description Property description
agent_name Estate agent name
added_date Date listing was added
listing_url Full URL to listing
property_id Rightmove property ID
region Search region
listing_type sale or rent
image_url Main property image URL
scraped_at Scraping timestamp

Project Structure

RightmoveScraper/
├── config.py          # Configuration settings
├── models.py          # Data models
├── scraper.py         # Main scraper logic
├── utils.py           # Utility functions
├── main.py            # CLI entry point
├── requirements.txt   # Dependencies
├── output/            # Output directory
│   └── .gitkeep
└── README.md

License

MIT License

About

Python scraper for Rightmove UK property marketplace powered by ScrapingAnt API

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages