The fastest way to start scraping real-estate listings at scale. Our Realtor API returns structured JSON for listings, property detail, price & tax history, schools, and agent contacts across realtor.com (US) and realtor.ca (Canada) — with anti-bot bypass and country-matched proxies built in.
No credit card required · PAYG credits never expire
# Search for-sale homes in Austin, TX
import scrapebadger
client = scrapebadger.ScrapeBadger("sb_live_...")
results = client.realtor.search(
location="Austin, TX",
beds_min=3,
price_max=750000
){
"market": "us",
"total": 1284,
"results": [{
"property_id": "9312345678",
"status": "for_sale",
"list_price": 675000,
"beds": 3, "baths": 2, "sqft": 1980,
"address": { "city": "Austin", "state_code": "TX" }
}]
}Structured JSON responses with normalized data models. No HTML parsing. No proxy management.
/v1/realtor/search/v1/realtor/properties/{property_id}/v1/realtor/autocomplete/v1/realtor/marketsAll fields are normalized across markets. Prices are currency-aware (USD for realtor.com, CAD for realtor.ca) and property types are standardized.
property_idstringRealtor property identifierstatusstringfor_sale, for_rent, sold, pendinglist_pricenumberCurrent list price (currency-aware)price_per_sqftnumberPrice per square footbedsintegerNumber of bedroomsbathsnumberTotal bathrooms (full + half)sqftintegerLiving area square footagelot_sqftintegerLot size square footageyear_builtintegerYear the property was builtproperty_typestringsingle_family, condo, townhome…addressobjectLine, city, state, postal, coordinatephotosarrayListing photo CDN URLs (multiple sizes)days_on_marketintegerDays the listing has been activeagentsarrayListing agent(s) with office and contactsagent_idstringRealtor agent identifiernamestringAgent full nameemailstringAgent email addressphonesarrayPhone numbers with type and extofficeobjectBrokerage office name, email, phonesbrokerstringBroker / brokerage namenrds_idstringNational Realtor directory IDstate_licensestringState license numberhrefstringAgent profile URLphotostringAgent headshot URLrealtor.com and realtor.ca, each routed through a country-matched residential proxy. Results include local listings, currency, and language.
No proxy setup. No session management. No anti-bot configuration.
Call any Realtor endpoint with your API key and parameters — location, property ID, or market. REST or SDK.
ScrapeBadger routes the request through a country-matched residential proxy with Chrome impersonation, detects blocks, and falls back to a real browser when needed.
Receive normalized JSON with typed fields, photo CDN links, coordinates, and currency-aware prices — ready to store, analyse, or pipe into your application.
Scraping realtor.com and realtor.ca gives you real-time housing signals — list and sold prices, days-on-market, inventory, schools, and agent contacts.
Pull for-sale, for-rent, sold, and pending listings across the US and Canada to power your own real-estate search portal or lead product with fresh, structured data.
Track list prices, price reductions, price-per-sqft, and days-on-market. Detect softening or heating markets in near real time with price and tax history.
Build automated valuation and comparable-sales tools from beds/baths/sqft, lot size, year built, sold prices, and per-property estimates.
Extract listing agent, office, broker, and license details to build agent CRMs, recruiting lists, or brokerage market-share analytics.
Collect structured property data — descriptions, amenities, photos, schools, and history — to train pricing, classification, or recommendation models.
Compare housing supply and pricing between realtor.com (US) and realtor.ca (Canada) with normalized, currency-aware fields.
You only pay for successful responses — failed requests are always free. PAYG credits never expire; volume subscription tiers reduce per-credit cost further.
| Endpoint | Credits / request | PAYG | Subscription |
|---|---|---|---|
Search Properties /search | 8 credits | — | — |
Property Detail /properties/{property_id} | 10 credits | — | — |
Autocomplete /autocomplete | 2 credits | — | — |
List Markets /markets | Free | — | — |
See the full plan comparison on the pricing page — subscription tiers step down per-credit cost beyond the cheapest column shown above.
ScrapeBadger's Realtor Scraper API handles everything realtor.com and realtor.ca throw at automated requests — so your pipeline keeps running.
realtor.com is accessed through a US residential proxy and realtor.ca through a Canadian one — so you get correct local listings, pricing, and currency for each market.
Realtor sites use bot detection, IP reputation, and TLS/HTTP fingerprinting. ScrapeBadger handles fingerprinting and detects blocks automatically — no CAPTCHA solving on your end.
Responses are normalized typed JSON — beds, baths, sqft, coordinates, photos, schools, and agents — with no HTML to parse and no fragile CSS selectors.
A dedicated property endpoint surfaces price and tax history, schools, amenities, open houses, per-property estimates, and full agent/office/broker contacts.
Credits are only deducted for successful responses. If a request errors or times out, no credits are consumed. You only pay for data you actually receive.
Official SDKs for Python, Node.js, Go, Rust, PHP, C#, Java, Kotlin, Ruby, Swift, Dart and C++ — generated from one OpenAPI spec, always in sync with the API. Full documentation with working examples for every endpoint.
Get started in minutes with Python, Node.js, or plain HTTP requests.
The scrapebadger Python library wraps the Realtor API with typed methods. Install with pip install scrapebadger, then start scraping real-estate data in a few lines of code.
from scrapebadger import ScrapeBadger
client = ScrapeBadger("sb_live_...")
# Search for-sale homes in Austin, TX
results = client.realtor.search(
location="Austin, TX",
beds_min=3,
price_max=750000,
)
# Get full detail for the first result
for prop in results.results[:3]:
detail = client.realtor.property(
property_id=prop.property_id,
market="us",
)
print(detail.list_price, detail.beds, detail.baths)import ScrapeBadger from 'scrapebadger'
const client = new ScrapeBadger({
apiKey: 'sb_live_...'
})
// Search condos in Toronto on realtor.ca
const results = await client.realtor.search({
location: 'Toronto, ON',
market: 'ca',
property_type: 'condos',
})
for (const prop of results.results) {
console.log(prop.address.city, prop.list_price)
}Common questions about scraping realtor.com and realtor.ca with the API — Python, Node.js, or REST.
Search returns each property's ID, status, list price, price-per-sqft, beds, baths, sqft, lot size, year built, property type, address with coordinates, primary photo, days-on-market, and listing agents. Property detail additionally returns full photos, description, amenities, price history, tax history, schools, per-property estimates, open houses, and complete agent/office/broker contacts. Autocomplete returns location suggestions, and markets returns supported market metadata.
Two markets: the United States via realtor.com (USD, en-US) and Canada via realtor.ca (CAD, en-CA). Select a market with the market parameter (us or ca, default us). Each market routes through a country-matched residential proxy so results include the correct local listings, currency, and language.
Pass a free-text location to /search — a city and state ("Austin, TX"), a ZIP code, or a Canadian city ("Toronto, ON"). You can filter by status (for_sale, for_rent, sold, pending), price range, minimum beds and baths, square footage, and property type, then sort by relevance, newest, price, or photo count. Canadian power users can also pass a lat/lng bounding box.
Realtor sites combine bot detection, IP reputation, and TLS/HTTP fingerprinting. ScrapeBadger uses Chrome impersonation over country-matched residential proxies, detects blocks, and falls back to a real browser when needed — all automatically. You never configure proxies, manage fingerprints, or solve CAPTCHAs.
Autocomplete costs 2 credits, search costs 8 credits, and property detail costs 10 credits. The markets reference endpoint is free. PAYG pricing applies per credit and PAYG credits never expire; monthly subscriptions reduce the per-credit cost further. Failed requests are always free.
Per-request credit costs are listed above. For higher monthly volume, subscription tiers reduce the per-credit rate substantially. All Realtor endpoints — search, property detail, autocomplete, and markets across US & Canada — included on every plan.
1,000 free credits. No credit card. Get your API key in under a minute.
PAYG credits never expire · Pay only for successful requests · US & Canada included