Rightmove Estate Agents Scraper
Pricing
from $0.50 / 1,000 agent branches
Rightmove Estate Agents Scraper
Rightmove agents scraper: export UK estate and letting agent branches by town, county or postcode, with phone numbers, address, services and optional live stock counts.
Pricing
from $0.50 / 1,000 agent branches
Rating
0.0
(0)
Developer
Keklik Technologies
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 hours ago
Last modified
Categories
Share
This Rightmove scraper exports UK estate and letting agent branches from Rightmove, the UK's largest property portal. Type a town, county or postcode district and get every agent branch there as clean data: name, phone numbers, address, postcode, services, logo and, if you want it, the full branch profile with live stock counts, coordinates and registered company name. To try it, enter Manchester in Locations and press Start. No Rightmove account, login or cookies needed.
🔎 What data can you extract from Rightmove?
Every agent branch comes back as one row with these fields:
| Group | Fields |
|---|---|
| Branch | Branch ID, display name ("Abatoria, Wapping"), brand, branch name, Rightmove page link, logo, short summary |
| Contact | Direct phone line, sales phone, lettings phone, full address, postcode, link to the branch's Rightmove enquiry form |
| Classification | Does sales (yes/no), does lettings (yes/no), company type, company ID, brand ID |
| Search | The location you searched that returned the branch |
Turn on Fetch full branch details to add a details block to every branch:
| Detail | What it tells you |
|---|---|
| Company name and trading name | The registered company behind the branch |
| Latitude and longitude | Where the branch is, ready for a map |
| Services | Sales, lettings, commercial, build to rent, overseas and new homes |
| For sale and to let | How many properties the branch lists right now, with a link to those listings |
| Recently sold and recently let | Recent deals: address, price, status, bedrooms, bathrooms and property type |
| Descriptions | The branch's full description, plus its separate sales and lettings descriptions |
| Affiliations | Industry bodies the branch belongs to, such as NAEA and ARLA |
| Testimonials and network | Number of customer testimonials and of other branches in the same network |
🎯 Use cases
- B2B lead generation. Build prospect lists of estate and letting agents to sell to: PropTech and CRM vendors, property photographers, EPC assessors, conveyancers, surveyors, mortgage brokers and marketing agencies. Every branch comes with phone numbers, address and postcode.
- Market mapping and competitor analysis. See who operates where. Map every branch in a town, county or postcode district, compare independents with corporate chains, and spot areas with few agents.
- Ranking agents by activity. With full details on, see how many properties each branch has for sale and to let right now, plus its recent sold and let deals, and sort the busiest branches to the top.
- Agent directories. Feed a directory, comparison site or CRM with UK agents, their logos, addresses, services and affiliations.
- Account-based outreach. Find every branch of one agent group, for example a national brand, in the areas you cover.
🧭 How to scrape Rightmove estate agents
- Open Rightmove Estate Agents Scraper in Apify Console and go to the Input tab.
- Add one or more places to Locations, such as
Manchester,SurreyorSW11. Or paste a "Find an agent" search URL or an agent branch page from rightmove.co.uk into Rightmove estate agent URLs. - Pick a Search radius and an Agent type if you only want sales or lettings agents. Add an Agent name filter such as
Foxtonsto get one brand's branches. - Tick Fetch full branch details if you want stock counts, coordinates and the rest of the branch profile.
- Set Max results to cap the run, or leave it empty to collect every branch.
- Press Start. When the run finishes, open the Output tab and export the data as JSON, CSV or Excel, or fetch it with the Apify API.
⚙️ Input
You need at least one location or one Rightmove URL.
| Field in the form | What it does |
|---|---|
| Locations | Towns, cities, counties or postcode districts, such as Manchester, Surrey or SW11. Each one is matched to the closest Rightmove location. |
| Rightmove estate agent URLs | "Find an agent" search URLs copied from rightmove.co.uk, or single agent branch pages. Use them instead of, or as well as, Locations. |
| Search radius | How far around each location to look: this area only (default), or ¼, ½, 1, 3, 5, 10, 15, 20, 30 or 40 miles. Applies to Locations only. |
| Agent type | All agents (default), sales agents only, or lettings agents only. |
| Agent name filter | Only return branches of agents whose name matches, such as Foxtons. Applies to Locations only. |
| Fetch full branch details | Adds the full branch profile to every branch. Takes longer and is billed as an add-on per branch. Off by default. |
| Max results | Stop after this many unique branches in total. Empty means every branch found. |
| Proxy configuration | The default setting works for most runs. You can also use your own proxies. |
Lettings agents within 5 miles of two places, with full details, capped at 200 branches:
{"locations": ["SW11", "Leeds"],"radius": "5","agentType": "LETTINGS","fetchBranchDetails": true,"maxResults": 200}
All Foxtons branches in London:
{"locations": ["London"],"brandName": "Foxtons"}
One branch from its Rightmove page:
{"startUrls": [{ "url": "https://www.rightmove.co.uk/estate-agents/agent/Abatoria/Wapping-33248.html" }],"fetchBranchDetails": true}
📦 Output
One row per agent branch. Here is a real result with Fetch full branch details on, shortened for reading (the descriptions and the recently sold and let lists come back in full):
{"id": 33248,"name": "Abatoria, Wapping","brand": "Abatoria","branch": "Wapping","url": "https://www.rightmove.co.uk/estate-agents/agent/Abatoria/Wapping-33248.html","phone": "020 7488 2020","sales_phone": "020 3873 1685","lettings_phone": "020 3873 1495","address": "121, Wapping High Street, London, E1W 2NX","postcode": "E1W 2NX","sales": true,"lettings": true,"company_type": "iea","company_id": 12776,"brand_id": 16220,"logo": "https://media.rightmove.co.uk/partner-logo/7304-LOGO-1765962762.png","summary": "We specialize in selling and letting prime residential properties in Wapping, St Katherines Dock, Limehouse and Canary Wharf. ...","contact_url": "https://www.rightmove.co.uk/estate-agents/contactBranch.html?branchId=33248","search_location": "Wapping","details": {"company_name": "Abatoria Limited","trading_name": "Abatoria","postcode": "E1W 2NX","latitude": 51.50444444977448,"longitude": -0.0567209030739665,"services": {"sales": true,"lettings": true,"commercial": false,"build_to_rent": false,"overseas": false,"new_homes": false},"for_sale": {"count": 45,"url": "https://www.rightmove.co.uk/property-for-sale/find/Abatoria/Wapping.html?locationIdentifier=BRANCH%5E33248&includeSSTC=true&_includeSSTC=on"},"to_let": {"count": 22,"url": "https://www.rightmove.co.uk/property-to-rent/find/Abatoria/Wapping.html?locationIdentifier=BRANCH%5E33248&propertyStatus=all&includeLetAgreed=true&_includeLetAgreed=on"},"recently_sold": [{"id": 172549703,"address": "Copperfield Road, London, E3","price": "£585,000","status": "UNDER OFFER","bedrooms": 2,"bathrooms": 2,"type": "Apartment"}],"recently_let": [{"id": 93807912,"address": "8 Dereham Place, Shoreditch, EC2A","price": "£762 pw","status": "UNDER OFFER","bedrooms": 2,"bathrooms": 2,"type": "Apartment"}],"description": "We specialize in selling and letting prime residential properties in Wapping, St Katherines Dock, Limehouse and Canary Wharf. ...","affiliations": ["National Association of Estate Agents","Association of Residential Letting Agents"],"testimonials": 0,"network_branches": 0}}
Without full details the row is the same minus the details block. Good to know about the data:
- One row per branch. A branch is returned once, even if it shows up in several of your locations. A branch that does both sales and lettings is a single row with both phone numbers.
phonevssales_phoneandlettings_phone.phoneis the branch's own direct line. The sales and lettings numbers are the ones Rightmove shows for each service, and they can differ.- Company types.
ieais an independent estate agent,ilaan independent letting agent,corporatea chain or corporate agent,commerciala commercial property agent andbuildtorenta build-to-rent operator. A few branches carry other Rightmove codes, such asoverseas. - Pasted branch pages have an empty
search_locationandbrand_id.
Results export to JSON, CSV, Excel, XML and HTML. In CSV and Excel the nested fields become columns such as details.for_sale.count and details.services.new_homes.
💷 How much does it cost to scrape Rightmove?
The scraper uses pay-per-event pricing, so you only pay for the branches you get:
- $0.75 per 1,000 agent branches on the Apify Free plan.
- Bronze, Silver and Gold Apify plans pay less: $0.70, $0.60 and $0.50 per 1,000 branches.
- Fetch full branch details is an add-on: $0.75 per 1,000 branches on the Free plan, and $0.70, $0.60 and $0.50 on Bronze, Silver and Gold.
- The add-on is only charged for branches whose full profile was actually added.
For example, London has around 3,600 agent branches. On the Bronze plan, all of them cost about $2.50, or about $5 with full details. Use Max results to cap what a run can spend.
Runs on the Apify Free plan stop at 100 agent branches per run. Any paid Apify plan removes that limit.
🔌 Integrations and API
Everything the scraper does is available through the Apify API, so you can run it from your own code or a pipeline. Get your API token from Apify Console → Settings → API & Integrations.
Python (pip install apify-client):
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("kekliktech/rightmove-agents-scraper").call(run_input={"locations": ["Manchester"],"agentType": "LETTINGS","maxResults": 100,})for agent in client.dataset(run["defaultDatasetId"]).iterate_items():print(agent["name"], agent["phone"], agent["postcode"])
Node.js (npm install apify-client):
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });const run = await client.actor('kekliktech/rightmove-agents-scraper').call({locations: ['Manchester'],maxResults: 100,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
More ways to use the data:
- Schedules. Refresh your agent list every week or month with Apify Schedules.
- Webhooks. Get notified, or trigger your own system, when a run finishes, from the Integrations tab.
- Make, Zapier and Google Sheets. Send new branches straight to a spreadsheet or CRM with Apify's ready-made integrations.
- AI agents. Let Claude, ChatGPT or any MCP client run this scraper through the Apify MCP server.
❓ FAQ
Is it legal to scrape Rightmove?
The scraper only collects information that Rightmove shows publicly to every visitor: business listings of estate and letting agents. Branch phone numbers and addresses are business contact details, but some agents are sole traders, so the data can still count as personal data. If you store or contact agents in the UK or EU, follow UK GDPR and PECR, have a legitimate reason, and offer an opt-out. Check with a lawyer if you are unsure.
Do I need a Rightmove account?
No. The scraper needs no Rightmove account, login or cookies.
Can I get agent email addresses or websites?
No. Rightmove does not publish agent email addresses or websites, so they are not in the data. To reach a branch, use its phone numbers or its contact_url, which opens the branch's enquiry form on Rightmove.
How do I get every agent in a city or county?
Enter it in Locations, for example Surrey or London, and leave Max results empty. To widen the area around a town or postcode, set Search radius.
How do I find only lettings agents, or all branches of one brand?
Set Agent type to lettings agents only (or sales agents only). For one brand, put its name in Agent name filter, for example Foxtons, and add the area in Locations.
Why did some inputs fail?
- A location returned nothing. Each location is matched to the closest Rightmove location. If no match is found, it is skipped and the run log says so. Try a town, city, county or postcode district instead, or run the search on rightmove.co.uk and paste its URL. Check
search_locationandaddresson your first run to confirm you got the area you meant. - The run stopped straight away. Every pasted URL must be a Rightmove estate agents page. If one isn't, the run stops and its status message names the URL.
- The run failed with no results. None of your locations or URLs could be loaded. The status message explains why. For URLs, copy the address straight from your browser after running the search on rightmove.co.uk.
- A branch has no
details. Its full profile could not be loaded, so the branch is returned without it and the add-on is not charged.
Why is a phone number empty?
Rightmove doesn't show every number for every branch. A branch that only does sales normally has no lettings phone.
Do the filters apply to pasted URLs?
Search radius and Agent name filter only apply to Locations, because a pasted search URL keeps its own settings. Agent type applies to search results from both, but a pasted single branch page is always returned.
🔗 Related scrapers
- Rightmove Property Scraper: the property listings themselves, to see what each agent has on the market.
- Zillow Property Listings Scraper: the same kind of property data for the US market.
- Instagram Profile Scraper: check the Instagram presence of the agencies on your list.
💬 Support
Found a bug, or need a field that isn't here? Open an issue in the Issues tab and we'll get back to you. You can also reach us by email at support@kekliktech.com or on WhatsApp.
Need data from another property site, or a scraper built for your workflow? We build custom scrapers on request.