Property Listing Scraper
Pricing
from $0.10 / 1,000 property listings
Property Listing Scraper
Extract structured data from any real estate listing. Works with Zillow, Rightmove, Imobiliare, Idealista and more. Gets price, photos, bedrooms, area, coordinates, and agent details from any property page.
Pricing
from $0.10 / 1,000 property listings
Rating
0.0
(0)
Developer
Oaida Adrian
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
0
Monthly active users
7 days ago
Last modified
Categories
Share
Property Listing Scraper — Universal Real Estate Data Extractor
Extract clean, structured real estate data from any property website — Zillow, Rightmove, Idealista, Imobiliare, Realtor, Domain, or a local agency site you found this morning. Point it at a single listing or a whole search-results page and get back one tidy JSON item per property: price, location, size, rooms, and images.
No per-site templates to maintain. The scraper reads the structured data that modern property sites already embed (JSON-LD, microdata, OpenGraph) and falls back to smart HTML parsing, so it keeps working when a site changes its layout.
Why this Actor?
- Works everywhere — one Actor for every portal instead of one brittle scraper per site.
- Search-page aware — give it a search URL and it discovers and follows the individual listing links for you (up to
maxListings). - Structured, null-tolerant output — every field is always present; missing values come back as
nullrather than breaking your pipeline. - Fast — up to 5 listings scraped concurrently.
Who is this for?
- Investors & analysts — build price-per-m² datasets across neighbourhoods and portals.
- PropTech & aggregators — feed a normalised listing stream into your own app.
- Agents & valuers — pull comparables from any market on demand.
- Data / RAG pipelines — clean, typed property records ready for a database or LLM.
Input
{"startUrls": [{ "url": "https://www.rightmove.co.uk/property-for-sale/find.html?searchLocation=London" },{ "url": "https://www.zillow.com/homedetails/123-Main-St/12345_zpid/" }],"maxListings": 50}
| Field | Type | Default | Description |
|---|---|---|---|
startUrls | array | required | Listing pages or search-results pages |
maxListings | int | 50 | Max listings to follow from each search page |
Residential proxy is enabled by default to reach geo-restricted portals reliably.
Output (one item per property)
{"id": "12345_zpid","title": "3-Bed Terraced House, Camden","price": 725000,"currency": "GBP","address": "42 Example Road, London NW1","propertyType": "House","areaSqm": 96,"bedrooms": 3,"bathrooms": 2,"images": ["https://.../photo1.jpg", "https://.../photo2.jpg"]}
Run it on a schedule or from your app
curl -X POST "https://api.apify.com/v2/acts/darknezz~property-listing-scraper/runs?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{ "startUrls": [{ "url": "https://www.idealista.com/venta-viviendas/madrid-madrid/" }], "maxListings": 100 }'
Schedule a daily run in the Apify Console to keep a market snapshot fresh, and pull new items from the dataset via the API.
Pricing
Pay per event — a small fee per property extracted. No subscription, no minimums: scrape one comparable or ten thousand listings and pay only for what you pull.
FAQ
Which sites are supported? Any property site that embeds standard structured data — that covers virtually every major portal (Zillow, Rightmove, Idealista, Realtor, Domain, Imobiliare, and thousands of regional sites). Unknown fields return null rather than a wrong guess.
Can I give it a search page instead of individual listings? Yes. The Actor detects search-results pages, follows the listing links, and scrapes each one up to your maxListings limit.
Do I need my own proxies? No. Residential proxy is configured by default so geo-restricted and bot-protected portals load reliably.
What if a listing is missing the price or area? The field comes back as null. Every output field is always present, so your downstream schema never breaks.