
Global Sources Supplier Scraper
scrape.ly/store/cornerledger/globalsources-scraperLead generationE-commerce
2 monthly users

Scrape Realtor.com homes for sale, rentals, and sold properties by city, ZIP, or URL. Get price, beds, baths, photos, agents, tax and price history, schools, and flood and fire risk.
Pull Realtor.com listings for sale, for rent, or recently sold from any US city, ZIP code, county, or neighborhood. You can also paste Realtor.com URLs. Each property comes back with price, beds, baths, square footage, photos, agent and office contacts, price and tax history, nearby schools, and flood, wildfire and noise risk. No login, no browser, and 10 fully detailed listings finish in about 2 seconds of scraping time.
Las Vegas, NV or 89166), or paste Realtor.com URLs into Realtor.com URLs.| Field | What it does |
|---|---|
search | City, ZIP, county or neighborhood. Put several locations on separate lines. |
startUrls | Realtor.com search URLs (sale, /apartments/... rentals, /show-recently-sold) or property detail URLs. |
mode | BUY, RENT or SOLD for the location search. |
maxItems | Total number of properties to save. |
type, minPrice/maxPrice, minBed/maxBed, minBath/maxBath, minSqft/maxSqft, minLotSqft/maxLotSqft, minYearBuilt/maxYearBuilt | Property filters. In sold mode the price filter uses the sold price, and summary rows show the sold price in price (asking price in listPrice). |
daysOnMarket, soldWithin, keyword, tags, radius, includePending | Listing filters. |
includeDetails | Load the full property record (default on). |
includeFloorplans | Add floor plans for apartment communities. |
sort, page | Result order and the results page to start from (42 listings per page). |
{
"search": "Las Vegas, NV",
"mode": "BUY",
"maxItems": 20,
"type": ["single-family-home"],
"minBed": 3,
"maxPrice": 600000,
"tags": ["swimming-pool"],
"includeDetails": true
}
With full details on, each row is one property record:
| Field | Description |
|---|---|
id, listingId | Realtor.com property and listing IDs |
url | Property page |
status | for_sale, for_rent, sold, off_market, ... |
listPrice, lastSoldPrice, soldOn, priceReducedAmount | Prices and last sale |
beds, baths, bathsConsolidated, sqft, lotSqft, garage, stories, yearBuilt, type, subType | Property facts |
description, details | Listing text and feature lists |
address, coordinates, streetViewUrl | Location |
photos, photoCount, virtualTours, videos, matterport | Media |
agents, advertisers, branding | Agents, offices, brokers, phones and emails |
history, taxHistory, buildingPermitsHistory, otherListings, openHouses | History |
nearbySchools, local | Schools, and flood, wildfire and noise risk |
floorplans | Floor plans (when includeFloorplans is on) |
A real detailed row from a test run (trimmed to one entry per list):
{
"inputSource": "89166",
"includeDetails": true,
"id": "2593302014",
"listingId": "2995200958",
"url": "https://www.realtor.com/realestateandhomes-detail/7242-Regent-Pond-St_Las-Vegas_NV_89166_M25933-02014",
"status": "for_sale",
"listPrice": 379000,
"beds": 3,
"baths": 3,
"bathsConsolidated": "2.5",
"sqft": 1632,
"lotSqft": 2614,
"type": "single_family",
"yearBuilt": 2008,
"garage": 2,
"stories": 2,
"listDate": "2026-05-12T03:14:43.000000Z",
"lastSoldPrice": 285000,
"soldOn": "2018-08-15",
"address": {"street": "7242 Regent Pond St", "locality": "Las Vegas", "region": "NV", "postalCode": "89166", "county": "Clark", "countyFipsCode": "32003"},
"coordinates": {"latitude": 36.293576, "longitude": -115.321124},
"photoCount": 28,
"photos": [{"href": "https://ap.rdcpix.com/9c92b57360c24bffd12485aa00ce268al-m3409966105s.jpg", "webp_href": "https://ap.rdcpix.com/9c92b57360c24bffd12485aa00ce268al-m3409966105od-w480_h360_x2.webp", "tags": ["exterior"]}],
"history": [{"date": "2026-08-17", "eventName": "Price Changed", "price": 379000, "priceSqft": 232.23, "sourceListingId": "2782003", "sourceName": "LasVegas"}],
"taxHistory": [{"year": 2025, "tax": 2323, "assessment": {"building": 76621, "land": 30450, "total": 107071}, "market": {"building": 218917, "land": 87000, "total": 305917}}],
"nearbySchools": [{"name": "Henry & Evelyn Bozarth Elementary School", "rating": 9, "distance": 0.2, "levels": ["elementary"], "fundingType": "public"}],
"agents": [{"name": "Tony R. Augay", "phone": "7027939118", "officeName": "Signature Real Estate Group", "officePhone": "7022682631", "type": "seller"}],
"local": {"flood": {"score": 1, "severity": "minimal", "femaZone": ["X (unshaded)"]}, "wildfire": {"score": 2, "severity": "Minor"}}
}
With full details off, each row is a lighter summary:
{
"inputSource": "89166",
"includeDetails": false,
"propertyId": "2052768627",
"listingId": "3001750507",
"listDate": "2026-10-11T21:43:55.000000Z",
"price": "565000",
"listPrice": 565000,
"url": "https://www.realtor.com/realestateandhomes-detail/8072-Calico-Mesa-St_Las-Vegas_NV_89166_M20527-68627",
"status": "for_sale",
"beds": 5,
"baths": 3,
"sqft": 2577,
"lotSqft": 4792,
"garage": 2,
"type": "single_family",
"yearBuilt": 2017,
"photoCount": 50,
"photos": [{"href": "https://ap.rdcpix.com/881b67035c5fbdf107d7366dcb9e7f67l-m1635889604s.jpg"}],
"flags": {"isNewListing": true},
"branding": [{"type": "Office", "name": "Serhant", "photo": null}],
"location": {"city": "Las Vegas", "county": "Clark", "state": "NV", "postalCode": "89166", "address": "8072 Calico Mesa St", "latitude": 36.308207, "longitude": -115.306212}
}
You pay per property saved, plus a small amount of platform usage:
includeDetails is on.Worked examples:
There is no per-search fee, and an empty search costs only the few seconds of platform usage. The default memory is 256 MB, so platform usage stays at fractions of a cent per run. You can set a maximum charge on each run, and the scraper stops cleanly when it is reached.
Is it legal to scrape Realtor.com? The scraper only reads public listing pages that anyone can open without an account. You are responsible for how you use the data, including privacy laws for agent contact details and Realtor.com's terms.
Do I need a Realtor.com account or my own proxy? No. No login is needed, and the default datacenter proxy works. If datacenter addresses ever get blocked, the run switches to residential by itself.
How many results can I get?
As many as Realtor.com returns for the search, up to maxItems. Big cities have tens of thousands of listings. Narrow searches with filters or split them by ZIP code.
Why are some fields empty?
Realtor.com only fills what the listing provides. Land has no beds, many listings have no virtual tour, and rentals often have no tax history. Empty values come back as null or [].
Can I paste a filtered Realtor.com URL? Yes. Property type, beds, baths, price, size, lot size, radius, days on market, page and the sold and pending switches in the URL are applied.
Can I schedule it or call it from code? Yes. Use schedules for daily price tracking, or start runs and read datasets through the API.
exterior, kitchen) as returned by its data feed.search, startUrls, mode, maxItems, includeDetails and the filters) and most output fields are the same.Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
searchstringOptionalLocation search
City, ZIP code, county, or neighborhood to search, e.g. 'Las Vegas, NV' or '89166'. Put several locations on separate lines.
startUrlsarrayOptionalRealtor.com URLs
Realtor.com search URLs (filters in the URL are applied) or property detail URLs. Rental (/apartments/...) and sold (/show-recently-sold) search URLs work too.
modeenumOptionaldefault "BUY"Listing type
Which listings the location search returns. Search URLs carry their own type.
maxItemsintegerOptionaldefault 20Maximum properties
Stop after this many properties in total across all locations and URLs.
typearrayOptionalProperty type
Only these property types. Leave empty for all types.
minPriceintegerOptionalMin price
Lowest price. In sold mode this is the sold price.
maxPriceintegerOptionalMax price
Highest price. In sold mode this is the sold price.
minBedintegerOptionalMin bedrooms
Use 0 for studios.
maxBedintegerOptionalMax bedrooms
Max bedrooms.
minBathintegerOptionalMin bathrooms
Min bathrooms.
maxBathintegerOptionalMax bathrooms
Max bathrooms.
minSqftintegerOptionalMin living area (sqft)
Min living area (sqft).
maxSqftintegerOptionalMax living area (sqft)
Max living area (sqft).
minLotSqftintegerOptionalMin lot size (sqft)
Min lot size (sqft).
maxLotSqftintegerOptionalMax lot size (sqft)
Max lot size (sqft).
minYearBuiltintegerOptionalBuilt in or after
Built in or after.
maxYearBuiltintegerOptionalBuilt in or before
Built in or before.
daysOnMarketintegerOptionalListed within (days)
Only listings that went live in the last N days. Ignored in sold mode.
soldWithinenumOptionalSold within
How far back to look for sold homes. Defaults to 6 months. Used in sold mode only.
keywordstringOptionalKeyword
Only listings whose description mentions this keyword, e.g. 'pool' or 'solar'.
tagsarrayOptionalAmenities
Only listings with all of these amenities.
radiusintegerOptionalRadius (miles)
Also include listings this many miles around the location (max 50).
includePendingbooleanOptionaldefault trueInclude pending and contingent
Turn off to hide pending and contingent homes in for-sale searches.
includeDetailsbooleanOptionaldefault trueFull property details
Load the full detail of every listing: description, all photos, agents and advertisers, price and tax history, schools, flood/fire/noise risk, building permits. Turn off for faster, cheaper summary rows.
includeFloorplansbooleanOptionaldefault falseFloor plans
Add the floor plans (unit name, beds, baths, sqft, rent, availability) of apartment communities. Needs full property details.
sortenumOptionalSort order
Order of search results. A value the listing type does not support is ignored with a warning.
pageintegerOptionalStart page
Results page to start from (42 listings per page). Paging continues until the maximum is reached.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy configuration
Proxy used to reach Realtor.com. Datacenter works; the run switches to residential by itself only if datacenter is blocked.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| url | any | URL |
| status | any | Status |
| listPrice | any | List price |
| beds | any | Beds |
| baths | any | Baths |
| sqft | any | Sqft |
| lotSqft | any | Lot sqft |
| type | any | Type |
| yearBuilt | any | Year built |
| address.street | any | Street |
| address.locality | any | City |
| address.region | any | State |
| address.postalCode | any | ZIP |
| lastSoldPrice | any | Last sold price |
| soldOn | any | Sold on |
| listDate | any | Listed |
| coordinates.latitude | any | Latitude |
| coordinates.longitude | any | Longitude |
| id | any | Property ID |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Full property details | Charged once for each saved property that includes its full detail record. | $0.0004 |
| Property listing | Charged once for each property saved to the dataset. | $0.0001 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('roamandroof/realtor-scraper').call({
"search": "Las Vegas, NV",
"startUrls": [
"https://www.realtor.com/realestateandhomes-detail/8209-Spring-Arts-Ave_Las-Vegas_NV_89129_M18560-54834"
],
"maxItems": 20,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"DATACENTER"
]
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run roamandroof/realtor-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=roamandroof/realtor-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
Properties for sale with full details.
Sold in the last 6 months for 300k to 600k USD.
Rental apartments with floor plans.
Keyword search across Austin and 90210, listed in the last 30 days.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.