Real Estate · Vibe Scraping
Pricing
from $1.00 / 1,000 results
Real Estate · Vibe Scraping
The last real estate scraper you'll need. Our AI analyzes any listing site, builds a custom crawler, and delivers rich property data in a consistent schema.
Pricing
from $1.00 / 1,000 results
Rating
5.0
(2)
Developer

Extralt
Actor stats
3
Bookmarked
17
Total users
6
Monthly active users
8 hours ago
Last modified
Categories
Share
Real Estate · Vibe Scraping
One actor, any real estate website
Part of our Vibe Scraping series:
AI-built crawlers for structured data extraction.
⚠️ Beta Release
This actor is currently in beta. We're actively improving based on feedback. Report issues on the issues tab.
🔥 Why This Actor
The last real estate scraper you'll need. One actor, any listing site, consistent schema.
- Any real estate site: Works on most listing sites out of the box — no hunting for site-specific actors
- Consistent schema: Same property structure across all sites — no per-site field mapping
- Portable: Reuse across portals with consistent output for your pipeline
- Fast & cheap: Custom Rust engine — no AI during extraction, orders of magnitude faster than LLM-based scraping
✨ Use Cases
- Market Analysis: Monitor property prices and trends across multiple listing sites
- Lead Generation: Track new listings across agencies and portals
- Investment Research: Aggregate property data from entire markets
- Multi-portal Aggregation: Combine listings from dozens of sites into one consistent dataset
💡 About Extralt
We're rethinking web scraping. Our crawlers are generated by AI but run as compiled code — giving you enterprise-scale performance without the brittleness of traditional scrapers or the cost of pure AI solutions.
🪙 Pricing
This actor uses a pay-per-event pricing model — you only pay for successfully extracted pages:
| Subscription | Discount | Price per dataset item |
|---|---|---|
| Starter | Bronze | $0.002 |
| Scale | Silver | $0.0015 |
| Business | Gold | $0.001 |
Example: Extracting 1,000 pages on a Business plan costs: 1,000 × $0.001 = $1.00
All-inclusive pricing: We only use premium residential proxies, with no hidden costs or add-ons.
Why paid plans only? Apify excludes free plan users from revenue calculations (see docs), so we restrict this actor to paying customers only.
Concurrent runs: You can run up to 3 Extralt actors simultaneously. If you need more concurrent runs, please wait for one to finish before starting a new one. This number will increase as we scale up our infrastructure.
⬇️ Input
| Parameter | Required | Description |
|---|---|---|
| Start URLs | Yes | One or more URLs to begin crawling |
| Country | Yes | Proxy location for regional content |
| Budget | No | Maximum number of listings to extract |
| Graph Mode | No | Also extract non-item pages and generate site structure |
Start URLs
The crawler adapts based on URL type:
- Listing/search page: Follows pagination, extracts listings until budget is reached
- Any other page: Parses sitemap or follows internal links
Constraints:
- All URLs must be from the same host
- URLs should match your target country (e.g.,
example.frorexample.com/frfor France) - Only real estate URLs are supported (this actor uses a listing-specific schema)
Graph Mode
Extracts all page types (Home, List, Item, Other) and generates a site structure graph.
When to use: You need to understand the website's architecture before extraction.
When to skip: You just want listing data. Non-graph mode is faster, cheaper, and better leverages sitemaps.
For more details about graph mode, see the Graph · Vibe Scraping actor.
⬆️ Output
1. Dataset
Each extracted item contains metadata and extracted data:
| Field | Description |
|---|---|
extracted_at | Unix timestamp of extraction |
url | Page URL |
page_kind | Page type: home, list, item, or other |
title | Page title |
data | Extracted listing data (item pages only) |
outbound_links | Links found on the page |
Use the Overview view in Apify to browse results as a formatted table, or download in JSON, CSV, HTML, or Excel.
Page Kind
The crawler classifies each page into one of four kinds:
| Page Kind | Description | Example |
|---|---|---|
home | Main entry point of the site | https://www.zillow.com/ |
list | Category or collection pages listing multiple items | https://www.zillow.com/homes/3227_rid/ |
item | Pages containing 1 main item | https://www.zillow.com/homedetails/357-Vallejo-St-361A-San-Francisco-CA-94131/459839930_zpid/ |
other | Landing, navigation, help, or non-content pages | https://www.zillow.com/browse/homes/ |
Data
The data field is only present for item pages. See below for the extraction schema as well as an example.
Outbound Links
The crawler extracts different links depending on the page type:
| Page Kind | Graph Mode Only | Links Extracted |
|---|---|---|
home | Yes | Header navigation links only |
list | Yes | Item pages in the catalog (ignores navigation, header, footer) |
item | No | Related / recommended listings |
other | Yes | All content links (excludes header/footer navigation) |
Dataset Views
Use the Overview view to browse all fields, or the Highlight view for a quick glance at key listing info (title, city, price, image).


Listing Data Schema
The data field contains comprehensive property information. Fields depend on what's available on the target website.
{"breadcrumbs": {"description": "Page navigation breadcrumbs.","type": "string"},"categories": {"description": "List of category names.","type": "array"},"condition": {"description": "Condition of the property (e.g., New construction, Renovated, Good, Needs renovation).","type": "string"},"description": {"description": "Detailed description of the property.","type": "string"},"energy_rating": {"description": "Energy efficiency rating.","type": "string"},"features_dict": {"description": "Dictionary of additional property details.","type": "dict"},"features_list": {"description": "List of features and amenities.","type": "array"},"floor_level": {"description": "Floor level for apartments.","type": "string"},"floor_size": {"description": "Interior living area with unit.","type": "string"},"furnished": {"description": "Furnishing status. Primarily relevant for rentals.","type": "string"},"heating_type": {"description": "Type of heating.","type": "string"},"identifiers": {"description": "Listing identifiers.","properties": {"listing_id": {"description": "Unique identifier for this listing on the website.","type": "string"},"reference_number": {"description": "Reference number or MLS ID used by agents/agencies.","type": "string"}},"type": "record"},"images": {"description": "List of image URLs for the property.","type": "array"},"listing_date": {"description": "Date the listing was published on the website.","type": "date"},"location": {"description": "Property location details.","properties": {"address": {"description": "Street address.","type": "string"},"city": {"description": "City name.","type": "string"},"coordinates": {"description": "Geographic coordinates.","properties": {"latitude": {"description": "Latitude coordinate.","type": "number"},"longitude": {"description": "Longitude coordinate.","type": "number"}},"type": "record"},"country": {"description": "Country name or code.","type": "string"},"neighborhood": {"description": "Neighborhood, district, or area name if displayed.","type": "string"},"postal_code": {"description": "Postal or ZIP code.","type": "string"},"region": {"description": "State, province, or region.","type": "string"}},"type": "record"},"lot_size": {"description": "Total land/lot size with unit.","type": "string"},"main_image": {"description": "Main image URL of the property.","type": "url"},"number_of_bathrooms": {"description": "Number of bathrooms.","type": "number"},"number_of_bedrooms": {"description": "Number of bedrooms.","type": "number"},"number_of_rooms": {"description": "Total number of rooms.","type": "number"},"offer": {"description": "Offer details including price, agent/seller, and availability.","properties": {"agent": {"description": "Agent or seller information.","properties": {"email": {"description": "Contact email address.","type": "string"},"name": {"description": "Name of the agent, agency, or seller.","type": "string"},"phone": {"description": "Contact phone number.","type": "string"},"type": {"description": "Type of seller (typically agency, private, developer)","type": "string"}},"type": "record"},"price": {"description": "Price information for the property.","properties": {"amount": {"description": "Listed price amount. For rentals, this is typically monthly rent.","type": "number"},"currency": {"description": "Currency code (e.g., EUR, USD, GBP).","type": "string"},"price_per_sqm": {"description": "Price per square meter/foot.","type": "number"},"price_period": {"description": "Price period for rentals (e.g., 'per month', 'per week', 'per year').","type": "string"},"price_type": {"description": "Type of price if specified (e.g., 'Asking price', 'Fixed price', 'Negotiable', 'Auction').","type": "string"}},"type": "record"}},"type": "record"},"orientation": {"description": "Property orientation or exposure.","type": "string"},"outdoor_space": {"description": "Outdoor space details.","type": "string"},"parking": {"description": "Parking information.","type": "string"},"property_type": {"description": "Type of property.","type": "string"},"subtitle": {"description": "Subtitle for the listing.","type": "string"},"title": {"description": "Title of the listing.","type": "string"},"total_floors": {"description": "Total number of floors in the building.","type": "number"},"transaction_type": {"description": "Type of transaction.","options": ["sale","rent"],"type": "enum"},"videos": {"description": "List of video URLs for the property.","type": "array"},"virtual_tour_url": {"description": "URL for 360� virtual tour or 3D walkthrough, if available.","type": "url"},"year_built": {"description": "Year the property was built.","type": "number"}}
Example Output
This page was extracted from https://www.zillow.com:
{"extracted_at": 1764864060100,"url": "https://www.zillow.com/homedetails/650-Pendlebury-Ln-Blackfoot-ID-83221/119384950_zpid/","page_kind": "item","title": "650 Pendlebury Ln, Blackfoot, ID 83221","data": {"breadcrumbs": null,"categories": null,"condition": "Updated","description": "Move-in ready Blackfoot home featuring new carpet and hardwood bamboo flooring. Enjoy main-floor living with a spacious primary bedroom and updated ensuite bathroom, plus convenient main-level laundry. An oversized attached two-car garage offers great storage and parking. Brand new roof, mature landscaping including backyard fruit tree. Ready for new owners!","energy_rating": null,"features_dict": {"HOA": "$-- HOA","Zestimate": "$--","Pricepersqft": "$139/sqft"},"features_list": ["Garage","Updated Bathroom"],"floor_level": null,"floor_size": "3237 sqft","furnished": null,"heating_type": null,"identifiers": {"listing_id": "","reference_number": null},"images": ["https://photos.zillowstatic.com/fp/d9fa3a8a78bae3f88f6b9316e55d1d32-cc_ft_1536.jpg"],"listing_date": null,"location": {"address": "650 Pendlebury Ln","city": "Blackfoot","coordinates": {"latitude": 43.179153,"longitude": -112.33614},"country": "USA","neighborhood": null,"postal_code": "83221","region": "ID"},"lot_size": "0.34 Acres Lot","main_image": "https://photos.zillowstatic.com/fp/d9fa3a8a78bae3f88f6b9316e55d1d32-cc_ft_1536.jpg","number_of_bathrooms": 4,"number_of_bedrooms": 5,"number_of_rooms": null,"offer": {"agent": null,"price": {"amount": 450000,"currency": "USD","price_per_sqm": 139,"price_period": null,"price_type": null}},"orientation": null,"outdoor_space": "Deck","parking": "Garage","property_type": "Single Family Residence","subtitle": "Price cut: $9K (12/4)","title": "650 Pendlebury Ln, Blackfoot, ID 83221","total_floors": 1,"transaction_type": "sale","videos": null,"virtual_tour_url": null,"year_built": 1999},"outbound_links": []}
2. Key-Value Store
Only in Graph Mode, see our Graph Actor for more details.
⚙️ Under the Hood
How It Works
- First run — AI analyzes the site and generates a custom crawler (3-5 minutes)
- Subsequent runs — Crawler is reused, extraction starts immediately
The crawler is regenerated when you change the website or country.
Why It's Fast
Unlike LLM-based scrapers that call AI for every page, we use AI once to generate a compiled Rust extractor. This means:
- No per-page AI costs — extraction runs as pure code
- High throughput — up to 50 pages/second (3,000/minute)
- Consistent results — same extractor, deterministic output
Infrastructure
Extraction runs on our dedicated infrastructure, not Apify's platform. There may be a brief delay (~15-20s) while provisioning resources before the crawl starts.
Stealth
Our Rust engine includes custom HTTP and browser implementations built specifically for web scraping:
- Smart request routing (Chrome rendering, fast HTTP, direct API calls)
- Anti-detection measures to avoid blocks
- Premium residential proxies included
🛠️ Troubleshooting
Extraction taking longer than expected?
- First run: AI is generating your custom crawler (3-5 minutes). Subsequent runs start immediately.
- Provisioning: Brief delay (~15-20s) while infrastructure spins up.
Getting blocked or no results?
- Verify the start URL is accessible in your browser
- Ensure the selected country matches the website's region
- Try a smaller budget to reduce request volume
- Some sites have aggressive bot protection — report persistent issues
🎙️ Feedback & Support
We're actively improving extraction quality based on your feedback.
- Bugs, questions, feature requests: Issues tab