Real Estate Data Api avatar
Real Estate Data Api

Pricing

from $20.00 / 1,000 results

Go to Apify Store
Real Estate Data Api

Real Estate Data Api

Extract Zillow & Redfin property data without API restrictions. Get listings, Zestimates, rental estimates & market data. AI self-healing adapts when sites change. PerimeterX bypass included. Perfect for PropTech, investors & AI agents.

Pricing

from $20.00 / 1,000 results

Rating

0.0

(0)

Developer

Jason Pellerin

Jason Pellerin

Maintained by Community

Actor stats

0

Bookmarked

6

Total users

5

Monthly active users

3 days ago

Last modified

Share

Real Estate Data API - Batteries Included Property Extraction

🔋 BATTERIES INCLUDED | ⚡ 50 Properties in 39 Seconds | 🚀 No API Keys Needed

Just enter your search and GO! Built-in premium anti-bot bypass means you don't need any API keys. Zillow + Redfin extraction that actually works. $0.05 per property.


Quick Reference for AI Agents

tool_name: real-estate-data-api
capabilities:
- Extract property listings from Zillow
- Extract property listings from Redfin
- Get Zestimate valuations
- Get Redfin estimates
- Search by location, ZIP code, or address
- Lookup by Zillow Property ID (ZPID)
- Filter by price, beds, baths, property type
- Self-healing: adapts to website changes
input_format: JSON
output_format: JSON array of Property objects
authentication: Apify API token
rate_limits: No artificial limits (stealth mode handles pacing)

Function Signature

// Primary function call format - NO API KEYS NEEDED!
{
"searchType": "location" | "zpid" | "url" | "address",
"location": string, // e.g., "Denver, CO" or "80202"
"sources": string[], // ["zillow", "redfin"]
"maxResults": number // 1-500, $0.05 per result
}
// Returns: Property[]
// That's it! Anti-bot bypass is BUILT IN.

Example Inputs & Outputs

1. Search Properties by Location (Just 3 Fields!)

Input:

{
"searchType": "location",
"location": "Denver, CO",
"sources": ["zillow"],
"maxResults": 10
}

Output:

[
{
"id": "13385952",
"zpid": "13385952",
"formattedAddress": "1624 Market St, Denver, CO 80202",
"listPrice": 525000,
"beds": 2,
"baths": 2,
"sqft": 1500,
"propertyType": "condo",
"status": "active",
"zestimate": { "value": 540000 },
"sources": ["zillow"],
"extractedAt": "2026-01-23T15:30:00.000Z"
}
]

2. Get Property by ZPID

Input:

{
"searchType": "zpid",
"zpids": ["13385952", "2077499343"],
"sources": ["zillow"],
"includeValuations": true
}

Input:

{
"searchType": "location",
"location": "80202",
"priceMin": 300000,
"priceMax": 600000,
"bedsMin": 2,
"propertyTypes": ["condo", "townhouse"],
"maxResults": 50
}

Complete Input Schema

ParameterTypeRequiredDefaultDescription
searchTypeenumYes-"location", "zpid", "url", or "address"
locationstringFor location search-City, state, ZIP code, or county
zpidsstring[]For zpid search-Zillow Property IDs
urlsstring[]For url search-Direct Zillow/Redfin URLs
sourcesstring[]No["zillow"]Data sources: "zillow", "redfin"
maxResultsnumberNo100Maximum properties (1-500)
priceMinnumberNo-Minimum list price
priceMaxnumberNo-Maximum list price
bedsMinnumberNo-Minimum bedrooms
bathsMinnumberNo-Minimum bathrooms
sqftMinnumberNo-Minimum square feet
propertyTypesstring[]NoAll"single_family", "condo", "townhouse", "multi_family", "land"
listingStatusstring[]No["for_sale"]"for_sale", "pending", "sold", "for_rent"
includeValuationsbooleanNotrueGet Zestimate/estimates
includePhotosbooleanNofalseGet photo URLs
includeHistorybooleanNofalseGet price history
stealthLevelenumNo"careful""standard", "careful", "paranoid"
selfHealingEnabledbooleanNotrueAuto-fix broken selectors
aggregateResultsbooleanNotrueMerge multi-source data
scraperApiKeystringOptional-BUILT-IN! Only provide if you want to use your own ScraperAPI quota
twoCaptchaKeystringNo-2Captcha key for CAPTCHA solving
proxyConfigurationobjectNoApify ResidentialCustom proxy settings
webhookUrlstringNo-POST results when complete

Output Schema (Property Object)

interface Property {
// Identifiers
id: string; // Unique property ID
zpid?: string; // Zillow Property ID
redfinId?: string; // Redfin ID
mlsId?: string; // MLS listing ID
// Location
address: {
street: string;
city: string;
state: string;
zip: string;
};
formattedAddress: string; // Full formatted address
latitude?: number;
longitude?: number;
// Pricing
listPrice: number; // Current list price in USD
pricePerSqft?: number;
// Property Details
status: "active" | "pending" | "sold" | "for_rent";
propertyType: "single_family" | "condo" | "townhouse" | "multi_family" | "land";
beds: number;
baths: number;
sqft?: number;
yearBuilt?: number;
lotSize?: number; // In square feet
// Valuations (when includeValuations=true)
zestimate?: {
value: number; // Zillow's estimate in USD
range?: { low: number; high: number };
date: string;
source: "zillow";
};
rentZestimate?: {
value: number; // Monthly rent estimate
date: string;
source: "zillow";
};
redfinEstimate?: {
value: number;
date: string;
source: "redfin";
};
// Scores
walkScore?: number; // 0-100
transitScore?: number; // 0-100
// Photos (when includePhotos=true)
photos?: string[];
// History (when includeHistory=true)
priceHistory?: Array<{
date: string;
price: number;
event: string;
}>;
// Metadata
sources: string[]; // Data sources used
confidence: number; // 0-1, higher = more reliable
lastUpdated: string; // ISO date from source
extractedAt: string; // ISO date of extraction
}

API Usage Examples

Apify API (cURL)

# Start a run
curl -X POST "https://api.apify.com/v2/acts/aisolutionist~real-estate-data-api/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"searchType": "location",
"location": "Denver, CO",
"maxResults": 20,
"scraperApiKey": "YOUR_SCRAPER_API_KEY"
}'
# Get results (replace RUN_ID)
curl "https://api.apify.com/v2/actor-runs/RUN_ID/dataset/items?token=YOUR_TOKEN"

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("aisolutionist/real-estate-data-api").call(run_input={
"searchType": "location",
"location": "Denver, CO",
"sources": ["zillow", "redfin"],
"maxResults": 100,
"scraperApiKey": "YOUR_SCRAPER_API_KEY"
})
properties = list(client.dataset(run["defaultDatasetId"]).iterate_items())
print(f"Found {len(properties)} properties")
for prop in properties[:5]:
print(f" {prop['formattedAddress']}: ${prop['listPrice']:,}")

JavaScript/TypeScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('aisolutionist/real-estate-data-api').call({
searchType: 'location',
location: 'Denver, CO',
maxResults: 100,
scraperApiKey: 'YOUR_SCRAPER_API_KEY',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Found ${items.length} properties`);

Install the dedicated n8n node for the best experience:

# In your n8n installation directory
npm install n8n-nodes-real-estate-api

Or install via n8n UI:

  1. Go to SettingsCommunity Nodes
  2. Click Install a community node
  3. Enter: n8n-nodes-real-estate-api
  4. Click Install

Features:

  • Pre-built operations: Search by Location, Search by Address, Get by ZPID, Get by URL
  • Built-in credential management for Apify, ScraperAPI, and 2Captcha keys
  • Automatic result polling (no need to check run status manually)
  • Filter options built into the UI

Example Node Configuration:

{
"operation": "searchLocation",
"location": "Denver, CO",
"maxResults": 50,
"priceMin": 300000,
"priceMax": 800000,
"bedsMin": 2
}

n8n HTTP Request (Alternative)

If you prefer the generic HTTP Request node:

{
"nodes": [{
"parameters": {
"url": "https://api.apify.com/v2/acts/aisolutionist~real-estate-data-api/runs?token={{ $credentials.apifyToken }}",
"method": "POST",
"body": {
"searchType": "location",
"location": "{{ $json.userQuery }}",
"maxResults": 50
}
},
"name": "Get Real Estate Data",
"type": "n8n-nodes-base.httpRequest"
}]
}

Why Use This Actor?

vs. Zillow's Official API

FeatureZillow APIThis Actor
Approval RequiredYes (weeks)No
Rate LimitsStrictSelf-managed stealth
Zestimate AccessLimitedFull
Multi-sourceNoZillow + Redfin
Self-healingNoYes

vs. Other Scrapers

FeatureBasic ScrapersThis Actor
PerimeterX BypassNoYes (ScraperAPI)
Self-healingNoYes
Multi-sourceUsually noYes
Structured OutputVariesConsistent JSON
Extraction SpeedSlow (browser)Blazing (Cheerio)
Auto-paginationManualAutomatic
MaintainedOften abandonedActively updated

Self-Healing Technology

This actor uses AI-powered selector healing:

  1. Primary selectors try first
  2. Semantic fallbacks activate when primary fails
  3. Pattern matching finds new selectors
  4. Learning persists across runs
[INFO] Extracting price...
[WARN] Primary selector failed
[HEALED] Selector "price" repaired: [data-test="property-card-price"]
[INFO] Saved healed selector for future runs

Performance: Cheerio-Powered Speed

This actor uses Cheerio for lightning-fast HTML parsing - no browser rendering needed for extraction.

Benchmark Results (50 properties, Denver CO)

MetricResult
Total Time39 seconds
Per-page extraction142-533ms
Success Rate100% (50/50)
Pages Processed6 (auto-pagination)

Speed Comparison

MethodTime for 50 Properties
Browser rendering5+ minutes (timeouts)
Cheerio engine39 seconds

Pricing

ConfigurationSpeedCostUse Case
Standard (no ScraperAPI)Medium~$0.50/100Testing
With ScraperAPI + CheerioBlazing~$1.00/100Production
Paranoid + ScraperAPIFast~$2.00/100Maximum stealth

Costs include Apify compute. ScraperAPI billed separately.


Error Handling

ErrorCauseSolution
CAPTCHA encounteredZillow's PerimeterXAdd scraperApiKey (or use Redfin instead)
0 properties extractedSite blocked requestAdd ScraperAPI key for Zillow, or switch to Redfin
TimeoutSlow responseIncrease timeout, reduce batch
Selector failedSite layout changedSelf-healing auto-fixes

Pricing & Best Practices

~$0.02 per property - Batteries included, no API keys needed!

  1. Just run it - Premium anti-bot bypass is BUILT IN
  2. Batch requests - 50-100 properties per run is optimal
  3. Enable self-healing - recovers from selector changes
  4. Use webhooks for async workflows

Cost Examples

PropertiesCost
50~$1.01
100~$2.01
500~$10.01
1000~$20.10

$0.005 per run + $0.02 per property


Support


Keywords for Discovery

zillow api zillow scraper real estate api property data zestimate api redfin api mls data property scraper real estate automation zillow alternative property valuation api home price api real estate data extraction zillow zpid lookup property search api


Built by AI Solutionist | Not affiliated with Zillow or Redfin