A powerful tool for extracting detailed Rightmove agent data at scale. It reliably gathers agent profiles, contact information, and property statistics to support market research, lead generation, and real-estate analytics for UK-based property professionals.
Created by Bitbash, built to showcase our approach to Scraping and Automation!
If you are looking for Rightmove Agents Scraper you've just found your team — Let’s Chat. 👆👆
The Rightmove Agents Scraper collects structured information about real estate agents listed on Rightmove. It simplifies data gathering by automatically crawling search result listings and agent profile pages. This tool benefits analysts, agencies, investors, and platforms that depend on accurate and up-to-date agent data.
- Retrieves complete agent profiles, including address, phone numbers, and listing details.
- Supports monitoring logic to detect newly added or removed agents.
- Allows scraping from multiple listing URLs to maximize coverage.
- Extracts statistics for sales and lettings performance.
- Enables structured output ideal for integration into CRMs, dashboards, and analytics pipelines.
| Feature | Description |
|---|---|
| Multi-URL Scraping | Accept multiple listing URLs and crawl all paginated agent results. |
| Full Agent Profiling | Extracts complete agent details, phone numbers, location, coordinates, and property statistics. |
| Monitoring Mode | Detects newly listed agents by comparing against previous datasets. |
| Delisting Tracker | Identifies agents no longer active by maintaining and updating reference timestamps. |
| Task-Level Deduplication | Ensures accurate incremental updates, even across separate automation tasks. |
| Flexible Input Options | Scrape using listing URLs or direct agent URLs for precision targeting. |
| Structured Export | Output available in JSON, CSV, Excel, and more for seamless data workflows. |
| Field Name | Field Description |
|---|---|
| id | Unique identifier of the agent’s profile. |
| url | Direct link to the agent’s profile page. |
| name | Official agent/branch name. |
| branchName | Full branch name including brand. |
| brandName | Parent real-estate agency brand. |
| estateAgent | Indicates if the branch handles estate (sales) services. |
| lettings | Indicates if the branch handles lettings. |
| sales | Indicates if the branch handles sales. |
| phone | Primary public contact phone number. |
| directPhone | Direct number displayed on the profile. |
| address | Full branch postal address. |
| lettingsTelephone | Contact number for letting enquiries. |
| mainTelephone | Main listed branch telephone number. |
| salesTelephone | Contact number for sales enquiries. |
| postcode | Postcode extracted from the address. |
| companyName | Legal or trading name of the agency. |
| coordinates | Latitude and longitude of the branch. |
| lettingsProperties | Count of active lettings listings. |
| salesProperties | Count of active sales listings. |
| lettingsPropertiesUrl | URL to the branch’s lettings listings. |
| salesPropertiesUrl | URL to the branch’s sales listings. |
{
"id": "Aberdeen-Industrial-214091.html",
"url": "https://www.rightmove.co.uk/estate-agents/agent/Savills/Aberdeen-Industrial-214091.html",
"name": "Aberdeen Industrial",
"branchName": "Savills, Aberdeen Industrial",
"brandName": "Savills",
"estateAgent": false,
"lettings": true,
"sales": true,
"phone": "01224 007695",
"directPhone": "01224 971111",
"address": "37 Albyn Place\r\nAberdeen\r\nAB10 1YN",
"lettingsTelephone": "01224 007695",
"mainTelephone": "01224 971111",
"salesTelephone": "01224 007694",
"postcode": "AB10 1YN",
"companyName": "Savills",
"coordinates": {
"latitude": "57.14267347229752",
"longitude": "-2.124575889305664"
},
"lettingsProperties": 20,
"salesProperties": 6,
"lettingsPropertiesUrl": "https://www.rightmove.co.uk/commercial-property-to-let/find/Savills/Aberdeen-Industrial.html?locationIdentifier=BRANCH%5E214091&propertyStatus=all&includeLetAgreed=true&_includeLetAgreed=on",
"salesPropertiesUrl": "https://www.rightmove.co.uk/commercial-property-for-sale/find/Savills/Aberdeen-Industrial.html?locationIdentifier=BRANCH%5E214091&includeSSTC=true&_includeSSTC=on"
}
Rightmove Agents Scraper/
├── src/
│ ├── runner.py
│ ├── extractors/
│ │ ├── agents_parser.py
│ │ └── utils_normalize.py
│ ├── outputs/
│ │ └── exporters.py
│ └── config/
│ └── settings.example.json
├── data/
│ ├── inputs.sample.json
│ └── sample_output.json
├── requirements.txt
└── README.md
- Real-estate analysts use it to map agent coverage across regions, enabling smarter territory planning.
- Marketing agencies use agent data to reach targeted prospects for B2B outreach and lead generation.
- Property platforms integrate structured agent datasets to improve search, filtering, and listings enrichment.
- Startup founders leverage monitoring mode to track market movements and identify newly established branches.
- Data vendors incorporate agent statistics into commercial datasets for resale or enterprise customers.
Q: Can this scraper detect newly added agents? Yes. When monitoring mode is enabled, it identifies only new agents compared to your last dataset.
Q: How does delisting detection work? A timestamp-based tracking system updates each time an agent is seen. Agents not observed in the latest run are flagged as delisted.
Q: Do I need to scrape full agent details every time? No. You can disable full-detail mode for faster runs when only basic attributes are needed.
Q: Can overlapping listing URLs cause duplicate results? No. The scraper automatically deduplicates results within the same run.
Primary Metric: Average throughput of several hundred agent profiles per minute when full-detail mode is enabled.
Reliability Metric: Consistently strong stability across large UK region scans, maintaining high success rates even on paginated listings.
Efficiency Metric: Optimized request sequencing ensures minimal overhead, reducing unnecessary page fetches when basic details suffice.
Quality Metric: Extracted data maintains high completeness and accuracy, including structured coordinates, phone numbers, and property counts.
