Purplebricks Property Scraper
parseforge/purplebricks-property-scraper
Real estate
Scrapes UK property listings from Purplebricks search result URLs. Returns each listing as a flat row with price, address, bedrooms, bathrooms, and listing URL.
- Total users
- 2
- Monthly active
- 1
- Total runs
- 32
- Bookmarked
- 0
- Rating
- Not rated yet
- Last modified
- 2 days ago
Overview
Purplebricks Property Scraper
Scrape Purplebricks property listings from any search URL. Every listing comes with its price, address, postcode, bedrooms, bathrooms, receptions, property type, agent and full description. No login or API key. Export to CSV, JSON, Excel, or XML.
Purplebricks doesn't offer a public API for its UK property listings, so market researchers and agents have to copy data by hand. This reads the public search results directly, follows pagination, and returns each property in one fixed schema. Build the search you want on the Purplebricks site: location, price, bedrooms, property type, and paste the URL in; every filter in it is applied to the run.
| Who uses it | What they scrape Purplebricks for |
|---|---|
| Market researchers | Track asking prices and stock levels in a target area |
| Estate agents | Monitor competitor listings and pricing strategies |
| Property investors | Find undervalued properties by comparing list prices |
| Data analysts | Build a clean dataset of UK housing market trends |
What it does
This Actor collects Purplebricks property listings from any listing page URL and returns each one as a flat row.
- ๐ Any search URL: paste a for-sale or to-rent search results page and the Actor reads it, filters included.
- ๐ Flat row per property: each listing is returned as one record with price, address, postcode, bedrooms, bathrooms, receptions, type, status, agent and description.
- ๐ Pagination handled: the Actor walks the result pages automatically until it reaches your max items limit.
- โก Fast: a 100-listing run finishes in seconds, so a daily schedule costs almost nothing in compute.
- ๐ก๏ธ Proxy support: route requests through Apify Proxy to keep runs stable.
Results export to CSV, JSON, Excel, or XML, or straight from the API.
What you can do with Purplebricks data
๐ Track asking prices in a postcode.
A market researcher runs the Actor on a Purplebricks search URL for a postcode and compares asking prices week over week to spot pricing trends.
๐ Monitor competitor listings.
An estate agent scrapes all Purplebricks listings in their town to see what rivals are charging and how long properties stay on the market.
๐ท Find investment opportunities.
A property investor scrapes listings under a price threshold in up-and-coming areas to build a shortlist of potential purchases.
๐ Build a UK housing dataset.
A data analyst runs the Actor daily on multiple search URLs and exports the results to CSV for a time-series analysis of the housing market.
Why choose this scraper
| What you get | |
|---|---|
| No API key | Purplebricks has no public API, so this reads the site directly |
| Fixed schema | Every property comes back with the same fields, ready for analysis |
| Pagination | The Actor walks the result pages so you don't have to |
| Proxy support | Use Apify Proxy to keep your runs stable and avoid blocks |
How it compares
This Actor focuses on scraping any Purplebricks search URL with its filters, pagination and proxy support, while the competitor offers location suggestions and property ID lookups.
| Feature | ParseForge | Purplebricks Scraper |
|---|---|---|
| Scrape any search URL | Yes | Not listed |
| Search filters applied from the URL | Yes | Not listed |
| Pagination handling | Yes | Not listed |
| Proxy support | Yes | Not listed |
| Location suggestions | Not listed | Yes |
| Fetch property by ID | Not listed | Yes |
Configure the run
Drive the Actor from any Purplebricks search URL and set a maximum number of properties to scrape. Filters already in the URL: price, bedrooms, radius, property type, sort order: are applied to the run, so only matching listings reach your dataset. The Input tab lists every parameter.
A first run with the defaults:
{
"startUrls": [
{
"url": "https://www.purplebricks.co.uk/search/property-for-sale/greater-london/london"
}
],
"maxItems": 100,
"proxyConfiguration": {
"useApifyProxy": true
}
}
A filtered pull: four-bedroom houses in Birmingham over ยฃ400,000, newest first:
{
"startUrls": [
{
"url": "https://www.purplebricks.co.uk/search/property-for-sale/west-midlands/birmingham?bedroomsFrom=4&priceFrom=400000&type=1&sortBy=4"
}
],
"maxItems": 500,
"proxyConfiguration": {
"useApifyProxy": true
}
}
Rentals work the same way: swap property-for-sale for property-to-rent. A URL with no location in it (https://www.purplebricks.co.uk/property-for-sale) covers six major UK cities instead.
Purplebricks stops serving results past 10,000 per search, so to pull more than that, split the work across several narrower search URLs (by area, price band, or property type).
Pricing
Pay-per-result: $0.0022 per result collected. You pay only for the results written to your dataset.
| Results collected | Approximate cost |
|---|---|
| 100 results | $0.22 |
| 1,000 results | $2.20 |
| 10,000 results | $22.00 |
New Apify accounts start with $5 in free credit.
Free users
Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 100,000 results per run.
Run it
- Create a free Apify account with $5 in credit.
- Open the Purplebricks Property Scraper.
- Set your inputs and any filters, then click Start.
- Export the results as CSV, Excel, JSON, or XML from the Dataset tab.
Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.
Use with AI agents (MCP)
Give an AI agent live access to Purplebricks through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:
claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/purplebricks-property-scraper"
Then prompt it in plain language to run the scraper and read back the results.
Troubleshooting
Why am I getting no results?
Check that your start URL is a valid Purplebricks listing page and that the filters on the page are not too restrictive. Also make sure your proxy is working and the max items is set above zero.
Why did I get fewer results than I asked for?
A single Purplebricks search returns at most 10,000 listings, and most searches have far fewer than that, the log prints the total the site reports for your search. Widen the radius, drop a filter, or add more start URLs.
Why are some listings missing fields?
Some listings don't have every field filled in on Purplebricks: priceQualifier, rentFrequency and closingDate are often blank. The Actor returns whatever the site publishes and omits the rest.
Why did the run fail with a proxy error?
Your proxy may be down or blocked. Try switching to a different proxy group, or clear the proxy setting, the Purplebricks search data is public and the Actor works without one.
Can I scrape rental listings?
Yes. Paste a property-to-rent search URL into the start URLs field and each row comes back with toLet, rentFrequency and listingType set for rentals.
FAQ
| Question | Answer |
|---|---|
| Does Purplebricks have an official API? | No, Purplebricks does not offer a public API for property listings. This Actor scrapes the public website directly. |
| Can I scrape a single property listing? | No: this Actor reads search result pages. Search for the property's postcode and it will come back in the results. |
| How do I filter by price or bedrooms? | Use the filters on the Purplebricks website to build a search URL, then paste that URL in. The Actor reads the filters straight out of the URL and applies them. |
| What is the maximum number of listings I can scrape? | Set max items to whatever you need. One search tops out at 10,000 listings on the Purplebricks side, so bigger pulls need several narrower search URLs. |
| Does the Actor handle pagination? | Yes, the Actor walks the result pages until it reaches your max items limit or the end of the results. |
| Do I need a proxy? | Not strictly, the search data is public. Apify Proxy is enabled by default to keep scheduled runs stable. |
| What data does each listing include? | id, title, url, imageUrl, imageCount, price, currency, priceQualifier, address, postcode, town, distanceMiles, propertyType, propertyCategory, bedrooms, bathrooms, receptions, carSpaces, status, sold, underOffer, toLet, rentFrequency, listingType, closingDate, agentName, agentPhotoUrl and summary. |
| Can I export the results? | Yes, you can export the dataset to CSV, JSON, Excel, or XML directly from the Apify platform. |
| Is this Actor legal to use? | You should only scrape public data in accordance with Purplebricks' terms of service and applicable laws. Apify provides tools, but you are responsible for how you use them. |
| Can I schedule this Actor to run daily? | Yes, you can set up a schedule in Apify to run the Actor at regular intervals, such as daily or weekly. |
Related actors
Browse the full ParseForge collection for more scrapers.
๐ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.
โ ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Purplebricks Group PLC. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.
Input
| Field | Type | What it does | Default |
|---|---|---|---|
| startUrls required | array | Purplebricks search result pages to scrape. Build the search on purplebricks.co.uk: location, price, bedrooms, property type, and paste the resulting URL here. Any filter in the URL is applied to the run. A URL without a location (https://www.purplebricks.co.uk/property-for-sale) covers six major UK cities instead. | [{"url":"https://www.purplebricks.co.uk/ |
| maxItems | integer | Maximum number of property listings to scrape across all start URLs. Purplebricks stops serving results past 10,000 per search, so wider pulls need several narrower search URLs. | 100 |
| proxyConfiguration | object | Proxy used for the requests to Purplebricks. Apify Proxy is enough; the site serves its search data over a public JSON endpoint. | {"useApifyProxy":true} |
Pricing
from $1.99 per 1,000 results
| Charged for | What it is | Price each |
|---|---|---|
| result | Single result in the default dataset. | $0.00199 to $0.0022 |
Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.
API
One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.
curl -X POST "https://api.apify.com/v2/acts/parseforge~purplebricks-property-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"helloWorld": 123
}' Examples
Input that runs as-is.
{
"helloWorld": 123
} Reviews
No reviews yet. Be the first.
Issues
We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.
Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.
