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

Scrape Homes.com listings for sale, for rent or recently sold by city, ZIP, county, search URL or property URL. Get price, beds, baths, sqft, coordinates, photos and listing agent; optional full details with agent email, HOA, taxes, price and tax history, deeds and schools.
Scrape Homes.com listings for sale, for rent or recently sold in any US city, ZIP code, county, neighborhood or state, or straight from a homes.com search or property URL. Each listing comes back as one clean row with price, beds, baths, square feet, coordinates, photo and listing agent. Turn on full details to add the agent's email, brokerage, year built, HOA fee, taxes, price, tax and deed history, MLS number and schools. No login needed, and 1,000 listings take about 25 seconds.
Austin, TX or 10001), or paste homes.com URLs.| Field | Type | Description |
|---|---|---|
locations | array | US cities, ZIP codes, counties, neighborhoods or states, one per line |
startUrls | array | homes.com search or property URLs |
maxItems | integer | Most listings to save in the run (default 20, 0 = no limit) |
listingType | string | forSale (default), forRent or sold |
propertyTypes | array | house, townhouse, condo, coop, multiFamily, apartment, land, mobile |
sortBy | string | recommended, newest, priceLowToHigh, priceHighToLow, priceReduced, sqftHighToLow, bedsHighToLow, pricePerSqft, yearBuiltNewToOld, lotSizeHighToLow, openHouse |
minPrice, maxPrice | integer | Asking price, sold price, or monthly rent |
minBeds, maxBeds, minBaths, maxBaths | integer | Bedrooms and bathrooms |
minSqft, maxSqft | integer | Living area in square feet |
minLotAcres, maxLotAcres | number | Lot size in acres |
minYearBuilt, maxYearBuilt | integer | Year built |
maxHoaFee | integer | Highest monthly HOA fee (0 = no HOA) |
keywords | string | Words the listing must mention, like pool |
includeDetails | boolean | Open each listing page for the full set of fields |
maxItemsPerLocation | integer | Most listings from any one location or URL |
{
"locations": ["Austin, TX", "10001"],
"startUrls": [{ "url": "https://www.homes.com/chicago-il/homes-for-rent/?bed-min=2" }],
"listingType": "forSale",
"minPrice": 300000,
"maxPrice": 900000,
"minBeds": 3,
"includeDetails": false,
"maxItems": 100
}
One row per listing. Search rows carry the fields in the first table; full details add the second.
| Field | Description |
|---|---|
propertyKey, listingKey | homes.com ids |
listingType, statusLabel | forSale, forRent or sold, and the badge shown on the card (price drop, sold date, ...) |
address, street, unit, city, state, postalCode | Address in full and in parts |
latitude, longitude | Coordinates |
price, priceMax, priceLabel, soldDate | Price (or the bottom and top of a rent range) and sale date |
beds, bedsMax, baths, bathsMax, sqft | Size |
propertyType, description, photoUrl, photoCount, has3dTour, openHouses | Listing basics |
agentName, agentPhone, brokerage, buildingName, builder, community | Who lists it |
detailUrl, searchLocation, scrapedAt | Listing link, which input found it, and when |
| Full details field | Description |
|---|---|
agentEmail, agentLicenseNumber, agentProfileUrl, brokeragePhone, agents | Agent and brokerage contacts (everyone on the listing in agents) |
yearBuilt, lotSizeSqft, lotSizeAcres, garageSpaces | Building and lot |
hoaFeeMonthly, annualTax, estimatedValue, pricePerSqft | Costs and value |
listDate, daysOnMarket, mlsName, mlsNumber, parcelId | Listing records |
priceHistory, taxHistory, saleHistory | History tables, including deeds with buyers and sellers |
schools, neighborhood, county, features | Area and the full MLS feature list by category |
photos, floorPlans, views, favorites | Media and popularity |
Example rows (shortened; names and contacts are fictional):
[
{
"rowType": "listing",
"propertyKey": "x5zewgn876r6t",
"listingKey": "7qqz3lwfp9jpw",
"listingType": "forSale",
"statusLabel": "$35K PRICE DROP",
"address": "7516 Windrush Dr, Austin, TX 78729",
"city": "Austin",
"state": "TX",
"postalCode": "78729",
"latitude": 30.45113,
"longitude": -97.75499,
"price": 549000,
"priceLabel": "$549,000",
"beds": 4,
"baths": 2.5,
"sqft": 2884,
"propertyType": "House",
"description": "This move-in ready and updated home features new paint and flooring...",
"photoUrl": "https://images.homes.com/listings/115/7265341894-089973722/7516-windrush-dr-austin-tx-primaryphoto.jpg",
"has3dTour": true,
"agentName": "Jane Doe",
"agentPhone": "(555) 010-0001",
"brokerage": "Example Realty",
"detailUrl": "https://www.homes.com/property/7516-windrush-dr-austin-tx/x5zewgn876r6t/",
"searchLocation": "Austin, TX",
"scrapedAt": "2026-10-15T05:58:21.000Z"
},
{
"rowType": "listing",
"listingType": "sold",
"statusLabel": "Sold Sep 23, 2026",
"address": "50 W 30th St Unit 18-B, New York, NY 10001",
"unit": "18-B",
"buildingName": "The Noma",
"price": 2225000,
"soldDate": "2026-09-23",
"beds": 2,
"baths": 2.5,
"sqft": 1310,
"yearBuilt": 2017,
"hoaFeeMonthly": 1796,
"annualTax": 31783,
"agentName": "John Roe",
"agentEmail": "john.roe@example.com",
"agentLicenseNumber": "0000000",
"brokerage": "Example Brokerage",
"mlsName": "Real Estate Board of New York (REBNY)",
"mlsNumber": "RLS00000000",
"priceHistory": [{ "date": "09/23/2026", "event": "Sold", "price": 2225000, "changePercent": -2.2 }],
"taxHistory": [{ "year": 2026, "taxPaid": 31783, "assessment": 247740 }],
"schools": [{ "name": "P.S. 33 Chelsea Prep", "greatSchoolsRating": 8, "nicheGrade": "A" }],
"detailUrl": "https://www.homes.com/property/50-w-30th-st-new-york-ny-unit-18-b/9zhlr9ww2zrbw/"
}
]
Is it legal to scrape Homes.com? The actor reads public listing pages only, without logging in. You are responsible for how you use the data, including privacy and terms-of-use rules in your country.
Do I need a login or my own proxy? No. The default datacenter proxy works for homes.com.
How many listings can I get? As many as homes.com has for your search. A city with more than 700 matching listings is split into map tiles automatically; 1,000 Austin listings took about 25 seconds in our tests.
Why is a field empty? homes.com and the local MLS decide what each listing carries. Apartment communities have no listing agent, some MLSs publish no year built, and emails, history and schools need full details. Search rows show the description as it appears on the search card; full details return the complete text.
Can I schedule it or use the API? Yes. Schedule runs in the console, or start them through the API and read the dataset as JSON, CSV or Excel.
Can I search outside the US? No. Homes.com covers the United States only.
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.
locationsarrayOptionalLocations
US places to search, one per line: a city ("Austin, TX"), ZIP code ("10001"), county ("Travis County, TX"), neighborhood or state. Each one is matched with homes.com's own location search. Use this field, homes.com URLs, or both.
startUrlsarrayOptionalHomes.com URLs
homes.com search or property URLs. A search URL keeps its own filters (for sale / for rent / sold, property type paths like /condos-for-sale/, price-min, price-max, bed-min, bed-max, bath, yb-min, yb-max, kws, so). A property URL (https://www.homes.com/property///) returns that listing with full details.
maxItemsintegerOptionaldefault 20Max listings
Most listings to save in this run, across all locations and URLs. 0 = no limit.
Applied to Locations, and to homes.com search URLs wherever the URL itself does not set them.
listingTypeenumOptionaldefault "forSale"Listing type
For sale, for rent (monthly rents, including apartment communities) or recently sold homes.
propertyTypesarrayOptionalProperty types
Only these property types. Empty = all types.
sortByenumOptionaldefault "recommended"Sort by
Order of the results, as homes.com sorts them.
minPriceintegerOptionalMin price (USD)
Lowest price: asking price, sold price, or monthly rent for rentals.
maxPriceintegerOptionalMax price (USD)
Highest price: asking price, sold price, or monthly rent for rentals.
minBedsintegerOptionalMin bedrooms
Fewest bedrooms. 0 includes studios.
maxBedsintegerOptionalMax bedrooms
Most bedrooms.
minBathsintegerOptionalMin bathrooms
Fewest bathrooms.
maxBathsintegerOptionalMax bathrooms
Most bathrooms.
minSqftintegerOptionalMin square feet
Smallest living area.
maxSqftintegerOptionalMax square feet
Largest living area.
minLotAcresnumberOptionalMin lot size (acres)
Smallest lot in acres (0.25 acres is about 10,900 sq ft).
maxLotAcresnumberOptionalMax lot size (acres)
Largest lot in acres.
minYearBuiltintegerOptionalBuilt in or after
Only homes built in or after this year.
maxYearBuiltintegerOptionalBuilt in or before
Only homes built in or before this year.
maxHoaFeeintegerOptionalMax HOA fee (USD per month)
Highest monthly HOA fee. 0 = only homes without an HOA.
keywordsstringOptionalKeywords
Words the listing must mention, such as "pool" or "waterfront".
includeDetailsbooleanOptionaldefault falseFull listing details
Also open each listing's page and add every photo, agent email and license, brokerage phone, year built, HOA fee, annual tax, MLS name and number, parcel ID, price history, tax history, deed history, schools and the full MLS feature list. Slower, and billed at the detailed-result price.
maxItemsPerLocationintegerOptionalMax listings per location
Most listings to save from any one location or search URL. Empty = only the run limit applies.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy configuration
Proxy used to reach homes.com. Keep the datacenter group: homes.com refuses many residential exits, which makes runs slower.
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 |
|---|---|---|
| photoUrl | any | Photo |
| address | any | Address |
| listingType | any | Type |
| price | any | Price |
| priceMax | any | Price to |
| beds | any | Beds |
| baths | any | Baths |
| sqft | any | Sq ft |
| lotSizeAcres | any | Lot (acres) |
| propertyType | any | Property type |
| statusLabel | any | Status |
| agentName | any | Agent |
| agentPhone | any | Agent phone |
| brokerage | any | Brokerage |
| latitude | any | Latitude |
| longitude | any | Longitude |
| detailUrl | any | Listing |
| searchLocation | any | Search |
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 |
|---|---|---|
| Listing with full details | One Homes.com listing saved with full details (agent email, history, schools, features), including property URLs. | $0.002 |
| Listing | One Homes.com listing from search results saved to the dataset. | $0.001 |
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/homes-com-scraper').call({
"locations": [
"Austin, TX"
],
"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/homes-com-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/homes-com-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.
Recently sold homes in a ZIP code with details.
Homes for rent in a city.
Homes for sale filtered by year, beds and baths.
Full details from Homes.com property links.
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.