Rightmove Estate Agents Scraper avatar

Rightmove Estate Agents Scraper

Pricing

from $0.50 / 1,000 agent branches

Go to Apify Store
Rightmove Estate Agents Scraper

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

Keklik Technologies

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 hours ago

Last modified

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:

GroupFields
BranchBranch ID, display name ("Abatoria, Wapping"), brand, branch name, Rightmove page link, logo, short summary
ContactDirect phone line, sales phone, lettings phone, full address, postcode, link to the branch's Rightmove enquiry form
ClassificationDoes sales (yes/no), does lettings (yes/no), company type, company ID, brand ID
SearchThe location you searched that returned the branch

Turn on Fetch full branch details to add a details block to every branch:

DetailWhat it tells you
Company name and trading nameThe registered company behind the branch
Latitude and longitudeWhere the branch is, ready for a map
ServicesSales, lettings, commercial, build to rent, overseas and new homes
For sale and to letHow many properties the branch lists right now, with a link to those listings
Recently sold and recently letRecent deals: address, price, status, bedrooms, bathrooms and property type
DescriptionsThe branch's full description, plus its separate sales and lettings descriptions
AffiliationsIndustry bodies the branch belongs to, such as NAEA and ARLA
Testimonials and networkNumber 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

  1. Open Rightmove Estate Agents Scraper in Apify Console and go to the Input tab.
  2. Add one or more places to Locations, such as Manchester, Surrey or SW11. Or paste a "Find an agent" search URL or an agent branch page from rightmove.co.uk into Rightmove estate agent URLs.
  3. Pick a Search radius and an Agent type if you only want sales or lettings agents. Add an Agent name filter such as Foxtons to get one brand's branches.
  4. Tick Fetch full branch details if you want stock counts, coordinates and the rest of the branch profile.
  5. Set Max results to cap the run, or leave it empty to collect every branch.
  6. 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 formWhat it does
LocationsTowns, 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 radiusHow 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 typeAll agents (default), sales agents only, or lettings agents only.
Agent name filterOnly return branches of agents whose name matches, such as Foxtons. Applies to Locations only.
Fetch full branch detailsAdds the full branch profile to every branch. Takes longer and is billed as an add-on per branch. Off by default.
Max resultsStop after this many unique branches in total. Empty means every branch found.
Proxy configurationThe 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.
  • phone vs sales_phone and lettings_phone. phone is 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. iea is an independent estate agent, ila an independent letting agent, corporate a chain or corporate agent, commercial a commercial property agent and buildtorent a build-to-rent operator. A few branches carry other Rightmove codes, such as overseas.
  • Pasted branch pages have an empty search_location and brand_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 ApifyClient
client = 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

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_location and address on 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.

💬 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.