Skip to content

shadowfax92/Rightmove-Alerter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

124 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🏠 Rightmove Alerter

UK property alerts with commute-time filtering.

Find homes near work, not just near a postcode.

You're searching for a place in the UK and Rightmove's built-in alerts only filter by location and price. But what you really care about is: can I get to work in under an hour? This tool scrapes Rightmove's API, cross-references every listing with pre-computed travel times, and shows you only the properties worth viewing.

  • 🚂 Travel time filtering — skip everything above your commute threshold
  • 🔍 Daily property scans — catches new listings within 24 hours
  • Shortlist — save properties you like, review them later
  • Multi-threaded fetching — configurable thread pool with rate limiting
  • 🌐 Web UI — Vue frontend with collapsible filters and stats
  • 📄 HTML reports — generate offline reports with images and map links

Tech Stack

Backend Rust (Actix-web, SQLite, Rayon)
Frontend Vue 2 + Bootstrap-Vue
Data Pre-computed travel times from UK postcodes
API Rightmove unofficial API

Install

Requires Rust 1.56+, Node.js 14+, and Yarn.

# Backend
cd backend
cargo build --release

# Frontend
cd frontend
yarn install
yarn build

Quick Start

# 1. Populate UK outcode → postcode mappings (~10,000 regions)
cargo run -- --db data/test.db --cmd --outcode

# 2. Import travel time data
python scripts/parse_travel_time.py data/travel_time_search_data/postcode-data.json data/test.db

# 3. Start the server
cargo run -- --db data/test.db --vue frontend/dist --port 8080

Open http://localhost:8080 — set your price range, bedroom count, and max commute time.

CLI

# Server mode (default)
cargo run -- --db data.db --vue frontend/dist --port 8080 --threads 16 --sleep 500

# Command-line mode — fetch and generate HTML report
cargo run -- --db data.db --cmd --daily --html output.html
Flag Description
--db FILE SQLite database path
--vue DIR Vue build directory (server mode)
--port N Server port (default: 8080)
--threads N Thread pool size (default: 8)
--sleep MS Delay between API requests (default: 500)
--cmd Run in command-line mode
--daily Fetch today's properties (cmd mode)
--html FILE Output HTML report (cmd mode)

API Endpoints

GET  /get_latest_properties     # Today's matches
GET  /get_saved_properties      # Your shortlist
GET  /fetch?minPrice=&maxPrice=&minBedrooms=&maxTravelTimeMins=
GET  /trigger_latest_fetch      # Quick fetch with defaults
GET  /save/{property_id}        # Add to shortlist
GET  /remove/{property_id}      # Remove from shortlist

How It Works

The backend fetches property listings from Rightmove's API by iterating over UK outcodes, then joins each property's postcode against a pre-computed travel time database. Properties exceeding the commute threshold are filtered out. Results are stored in SQLite and served to the Vue frontend, which renders them sorted by travel time (ascending) then price (descending).

Travel time data is sourced from public transit calculations to a reference station (King's Cross by default). The multi-threaded fetcher uses configurable rate limiting to avoid IP blocks.


Personal tool built for UK property hunting. Feel free to fork and adapt.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages