Zoopla Property Detail Scraper — Valuation, by URL or Address
Pricing
from $6.75 / 1,000 property detail extracteds
Zoopla Property Detail Scraper — Valuation, by URL or Address
Paste Zoopla URLs, listing IDs, or UK addresses and get a full property dossier: price, beds, tenure, lease and ground rent, council-tax band, EPC, photos, floor plans, and agent. Add Zoopla sale and rent valuation, sold-price history, price changes, and EV charging. Bulk Zoopla API.
Pricing
from $6.75 / 1,000 property detail extracteds
Rating
0.0
(0)
Developer
SIÁN OÜ
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Zoopla Property Detail Scraper — Valuation, by URL or Address 🏡
🎉 The only Zoopla actor that returns a sale + rent VALUATION per property — the UK Zestimate, by listing URL/ID or any address
Built for PropTech teams, investors, and lead-gen — full UK dossiers plus valuation, sold-price history, and EV charging, one row per property
📋 Overview
Turn any Zoopla listing — or any UK address — into a clean, structured dossier. Paste listing URLs, listing IDs, or addresses with a postcode and get price, tenure, EPC, size, photos, nearby schools and transport, and the listing branch. Then toggle the headline add-on: a Zoopla sale and rent valuation — the UK equivalent of a Zestimate — that no other Zoopla tool offers.
Why property teams choose us:
- ✅ Zoopla valuation per property: sale + rent estimate, confidence band, and last-sale delta — by listing URL/ID or by any UK address+postcode (off-market homes included). Nobody else on the Store does this.
- ⚡ Full UK dossier in one row: price, tenure, leasehold years, ground rent, service charge, council-tax band, EPC rating, beds/baths/receptions, size in sqft, description, all photos + floor plans, nearby schools and transport links, and the listing branch.
- 🎯 3 lookup modes, one clean schema: listing URLs, listing IDs, and UK addresses — mix and match, duplicates removed automatically, one row per property.
- 💰 Fair pricing, no punitive start fee: pay per property, only for lookups that resolve — not-found lookups are never billed, and there is no $0.05 start tax.
- 💎 Opt-in intelligence add-ons: sold-price / land-registry history, dated price changes, and the 20 nearest EV charge points — data no Zoopla scraper exposes.
- ✨ Bulk-ready: feed hundreds of URLs, IDs, or addresses from a CSV and export clean JSON, CSV, or Excel.
✨ Features
- 💷 Zoopla Valuation: sale + rent estimate with lower/upper band, confidence, and last-sale change — the UK property valuation nobody else returns per listing.
- 🏡 Complete Property Dossier: tenure, lease years, ground rent, service charge, council-tax band, EPC, size, and full description.
- 🖼 All Photos + Floor Plans: every listing image URL and floor-plan bundled free with the base row.
- 🏫 Neighbourhood Intel: nearest schools, stations, tube, and transport links included at no extra charge.
- 📜 Sold-Price & Land-Registry History: past sales, prices, and photos per property (add-on).
- 📉 Price-Change Tracking: dated reductions and increases on the live listing (add-on).
- 🔌 EV-Charging Proximity: the 20 nearest public charge points to any listing (add-on).
- 🧭 Three Lookup Modes: URL, listing ID, or UK address — whichever your data has.
- 💰 Pay-Per-Result: charged only for properties that resolve; not-found lookups are free.
🎬 Quick Start
Add listing URLs, listing IDs, or UK addresses, pick any add-ons, and run. You get one dossier row per property in seconds.
curl -X POST "https://api.apify.com/v2/acts/sian.agency~zoopla-property-detail-scraper/runs?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"propertyUrls": ["https://www.zoopla.co.uk/for-sale/details/73767353/"], "includeValuation": true}'
🚀 Getting Started (3 Simple Steps)
Step 1: Add your properties
Paste Zoopla listing URLs, listing IDs, or UK addresses (with postcode) — one per line, mix and match.
Step 2: Pick add-ons (optional)
Toggle Zoopla valuation, sold-price history, price changes, or EV charging for extra intelligence per property.
Step 3: Run and export
Start the actor and download clean JSON, CSV, or Excel from the dataset.
That's it! In under a minute, you'll have:
- A structured dossier per property with price, tenure, EPC, and photos
- A Zoopla sale + rent valuation for every home (when toggled or looked up by address)
- Sold-price history, price changes, and nearby EV chargers on demand
📥 Input Configuration
| Field | Type | Required | Description |
|---|---|---|---|
propertyUrls | array | No | Zoopla listing-details URLs (for-sale, to-rent, new-homes) |
listingIds | array | No | Numeric Zoopla listing IDs (the digits after /details/) |
addresses | array | No | Full UK addresses including a postcode — resolves to a valuation |
includeValuation | boolean | No | Add-on: Zoopla sale + rent valuation for listing lookups |
includeSoldPriceHistory | boolean | No | Add-on: land-registry / sold-price history |
includePriceChanges | boolean | No | Add-on: dated price changes on the live listing |
includeEvCharging | boolean | No | Add-on: 20 nearest EV charge points |
Example — listing lookup with valuation:
{"propertyUrls": ["https://www.zoopla.co.uk/for-sale/details/73767353/"],"listingIds": ["73767353"],"includeValuation": true,"includeSoldPriceHistory": true}
Example — value any UK address (no live listing needed):
{"addresses": ["Cranley Close, Guildford, GU1 2JN"],"includeSoldPriceHistory": true}
📤 Output
Results are saved to the Apify dataset with 60+ fields per property, including:
| Field | Type | Description |
|---|---|---|
listingId | string | Zoopla listing ID |
displayAddress | string | Property address |
postcode | string | Full UK postcode |
price / priceValue | string / number | Display price and numeric GBP value |
section | string | for-sale, to-rent, or new-homes |
propertyType | string | flat, detached, terraced, ... |
beds / baths / receptions | number | Room counts |
sizeSqft | number | Floor size in square feet |
tenureLabel | string | Freehold / leasehold / share of freehold |
leaseholdYears | number | Remaining lease years |
councilTaxBand | string | Council-tax band |
epcRating | string | EPC energy rating (A–G) |
photos / floorPlans | array | All image URLs |
pointsOfInterest / transports | array | Nearby schools + transport |
branchName | string | Listing branch / agent |
valuation | object | Zoopla sale + rent estimate (band + confidence) |
soldPriceHistory | object | Land-registry sale history (add-on) |
priceChanges | object | Dated price changes (add-on) |
evCharging | object | 20 nearest EV charge points (add-on) |
Example:
{"listingId": "73767353","uprn": "10009804462","displayAddress": "Southwark Bridge Road, Borough, London SE1","postcode": "SE1 0BQ","price": "£550,000","priceValue": 550000,"section": "for-sale","propertyType": "flat","beds": 2,"baths": 2,"sizeSqft": 764,"tenureLabel": "Share of freehold","councilTaxBand": "A band has not yet been confirmed.","epcRating": "B","valuation": {"saleEstimateCurrent": 586000,"saleEstimateLower": 556000,"saleEstimateUpper": 615000,"saleConfidence": "HIGH","rentEstimateCurrent": 2750,"currency": "GBP"},"branchName": "Kinleigh Folkard & Hayward - Kennington"}
💼 Use Cases & Examples
1. Zoopla Valuation for Any UK Address
Analysts and PropTech teams valuing a portfolio or a lead list.
Input: UK addresses with postcodes. Output: A Zoopla sale + rent estimate with confidence band and last-sale delta per address. Use: Value off-market homes, seed AVMs, or benchmark asking prices — no live listing required.
2. Bulk Listing Enrichment for PropTech ETL
Data engineers feeding a warehouse.
Input: Zoopla URLs or listing IDs from your pipeline. Output: Clean 60+ field dossiers ready for BigQuery, Snowflake, or pandas. Use: Replace brittle in-house Zoopla scraping with a structured, bulk-ready feed.
3. Investor Underwriting with Sold-Price History
Buy-to-let and flip investors.
Input: Listing IDs plus the sold-price and price-change add-ons. Output: Land-registry sale history and dated reductions per property. Use: Build comps, gauge negotiation room, and time offers.
4. Lead-List Enrichment with Branch & Agent
Agents and prop-tech marketers.
Input: A CSV of Zoopla URLs. Output: Rows with the listing branch, price, tenure, and full attributes. Use: Prioritise outreach and sync straight into a CRM.
5. Amenity & EV-Readiness Screening
Developers, relocation, and lending teams.
Input: Listing IDs with the EV-charging add-on. Output: Nearby schools and transport (free) plus the 20 nearest EV chargers. Use: Score liveability and EV readiness at scale.
🔗 Integration Examples
JavaScript/Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('sian.agency/zoopla-property-detail-scraper').call({propertyUrls: ['https://www.zoopla.co.uk/for-sale/details/73767353/'],includeValuation: true});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items[0]);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_TOKEN')run = client.actor('sian.agency/zoopla-property-detail-scraper').call(run_input={'addresses': ['Cranley Close, Guildford, GU1 2JN']})for item in client.dataset(run['defaultDatasetId']).iterate_items():print(item)
cURL
curl -X POST 'https://api.apify.com/v2/acts/sian.agency~zoopla-property-detail-scraper/runs?token=YOUR_TOKEN' \-H 'Content-Type: application/json' \-d '{"listingIds": ["73767353"], "includeSoldPriceHistory": true}'
Automation Workflows (N8N / Zapier / Make)
- Trigger: Schedule or webhook
- HTTP Request: Call the actor API
- Process: Handle JSON results
- Action: Save, notify, or transform
📊 Performance & Pricing
FREE Tier (Try It Now)
- Up to 5 properties per run — full dossier quality
- No credit card required
- Perfect for testing and small projects
PAID Tier (Production Ready)
- Unlimited properties per run
- All add-ons unlocked: valuation, sold-price history, price changes, EV charging
- Pay-per-result: charged only for properties that resolve; not-found lookups are free
💰 Fair, transparent pricing — a per-property base rate plus a small charge only for add-ons that actually return data, and a start fee 10× lower than the incumbent detail tool.
❓ Frequently Asked Questions
Q: How many properties can I process? A: FREE tier: up to 5 per run. PAID tier: unlimited.
Q: Can I get a Zoopla valuation without a live listing?
A: Yes — use the addresses input with a full UK postcode. Each address resolves to a sale + rent estimate, even for off-market homes.
Q: What happens if a property isn't found? A: It's skipped and you are never charged for it.
Q: What input does the address mode need?
A: A full UK address including the postcode, e.g. Cranley Close, Guildford, GU1 2JN. Addresses without a postcode are rejected before any charge.
Q: What output formats are available? A: JSON, CSV, and Excel — export directly from the Apify dataset.
Q: Is this legal? A: Yes — we only extract publicly available data. See the legal section below.
Q: How much does each add-on cost? A: Each successful add-on (valuation, sold-price history, price changes, EV charging) is charged once, and only when it returns data.
🐛 Troubleshooting
Address lookup returns "not found"
- Make sure the address includes a full UK postcode (e.g.
SE1 0BQ). - Use the format
street, town, POSTCODE.
A listing URL is rejected
- Use a listing-details URL (
zoopla.co.uk/.../details/<id>/), not a search-results page.
An add-on returned nothing
- Add-ons only apply where they make sense (price changes and EV charging need a live listing) and are only charged when data is returned — a blank add-on is free.
Fewer rows than inputs
- Duplicates across URL / ID / address modes are removed automatically, and not-found lookups are skipped.
⚖️ Is it legal to scrape data?
Our actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.
However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.
You can also read Apify's blog post on the legality of web scraping.
⚠️ Trademark Disclaimer
Zoopla™ is a trademark of Zoopla Limited. This actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Zoopla Limited. All product names, logos, and brands are the property of their respective owners and are used for identification and descriptive purposes only. This actor only accesses publicly available information and is intended for lawful use in compliance with applicable terms and regulations.
🤝 Support
Join our active support community
- For issues or questions, open an issue in the actor's repository
- Check SIÁN Agency Store for more automation tools
- 📧 apify@sian-agency.online
Built by SIÁN Agency | More Tools