Skip to content

Homes.com Scraper

Try for free

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.

🏡 Homes.com Scraper

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.

✨ Why use Homes.com Scraper?

  • 🏷️ For sale, for rent and sold in one actor: monthly rents (including apartment communities with rent ranges) and sold homes with their sale dates.
  • 🗺️ Large areas covered: homes.com shows at most 700 listings per search, so bigger cities are split into map tiles automatically until your limit is reached.
  • 🔗 Paste any homes.com URL: search URLs keep their own filters (type, price, beds, baths, year built, keyword, sort), and property URLs return that one listing with full details.
  • 📇 Agent contacts: listing agent name, phone and brokerage on every row; email, license number and brokerage phone with full details.
  • 🎛️ 17 filters: price, beds, baths, square feet, lot size, year built, HOA, keywords, property types and 11 sort orders.
  • 💸 Cheap and simple pricing: $1.00 per 1,000 listings, $2.00 per 1,000 with full details.

🎯 Use cases

  • 💼 Real estate investors: pull sold comps with sale dates, find price drops and long-listed homes in a ZIP code.
  • 🤝 Agents and brokerages: build lead lists of active listing agents and brokerages per city; watch competitor inventory.
  • 🏢 Property managers: track rents and new rental communities in a market.
  • 📊 Proptech and data teams: feed prices, sizes, coordinates and features into valuation models and dashboards.
  • 🔎 Market researchers: follow inventory, price per square foot and days on market by area.
  • 🏦 Lenders and insurers: enrich property records with HOA fees, taxes and deed history.

🚀 How to use

  1. Type one or more locations (for example Austin, TX or 10001), or paste homes.com URLs.
  2. Pick the listing type (for sale, for rent, sold) and any filters.
  3. Set Max listings, and switch on Full listing details if you need agent emails, history and schools.
  4. Click Start and watch the rows arrive.
  5. Export the dataset to JSON, CSV, Excel or HTML, or read it through the API.

📥 Input

FieldTypeDescription
locationsarrayUS cities, ZIP codes, counties, neighborhoods or states, one per line
startUrlsarrayhomes.com search or property URLs
maxItemsintegerMost listings to save in the run (default 20, 0 = no limit)
listingTypestringforSale (default), forRent or sold
propertyTypesarrayhouse, townhouse, condo, coop, multiFamily, apartment, land, mobile
sortBystringrecommended, newest, priceLowToHigh, priceHighToLow, priceReduced, sqftHighToLow, bedsHighToLow, pricePerSqft, yearBuiltNewToOld, lotSizeHighToLow, openHouse
minPrice, maxPriceintegerAsking price, sold price, or monthly rent
minBeds, maxBeds, minBaths, maxBathsintegerBedrooms and bathrooms
minSqft, maxSqftintegerLiving area in square feet
minLotAcres, maxLotAcresnumberLot size in acres
minYearBuilt, maxYearBuiltintegerYear built
maxHoaFeeintegerHighest monthly HOA fee (0 = no HOA)
keywordsstringWords the listing must mention, like pool
includeDetailsbooleanOpen each listing page for the full set of fields
maxItemsPerLocationintegerMost 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
}

📤 Output

One row per listing. Search rows carry the fields in the first table; full details add the second.

FieldDescription
propertyKey, listingKeyhomes.com ids
listingType, statusLabelforSale, forRent or sold, and the badge shown on the card (price drop, sold date, ...)
address, street, unit, city, state, postalCodeAddress in full and in parts
latitude, longitudeCoordinates
price, priceMax, priceLabel, soldDatePrice (or the bottom and top of a rent range) and sale date
beds, bedsMax, baths, bathsMax, sqftSize
propertyType, description, photoUrl, photoCount, has3dTour, openHousesListing basics
agentName, agentPhone, brokerage, buildingName, builder, communityWho lists it
detailUrl, searchLocation, scrapedAtListing link, which input found it, and when
Full details fieldDescription
agentEmail, agentLicenseNumber, agentProfileUrl, brokeragePhone, agentsAgent and brokerage contacts (everyone on the listing in agents)
yearBuilt, lotSizeSqft, lotSizeAcres, garageSpacesBuilding and lot
hoaFeeMonthly, annualTax, estimatedValue, pricePerSqftCosts and value
listDate, daysOnMarket, mlsName, mlsNumber, parcelIdListing records
priceHistory, taxHistory, saleHistoryHistory tables, including deeds with buyers and sellers
schools, neighborhood, county, featuresArea and the full MLS feature list by category
photos, floorPlans, views, favoritesMedia 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/"
    }
]

💰 Pricing

  • $1.00 per 1,000 listings ($0.001 per row) for search rows.
  • $2.00 per 1,000 listings ($0.002 per row) when Full listing details is on, or for property URLs.
  • With full details on, a listing whose page still fails after a retry keeps its search data and is billed at the search price ($0.001).
  • Example: 1,000 listings ≈ $1.00, or $2.00 with full details.
  • Platform usage (compute and datacenter proxy traffic) is billed separately and is small: a 1,000-listing search run used about $0.003 in our tests.
  • Set a maximum cost per run and the actor stops before going over it.

❓ FAQ

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.

⚠️ Limits

  • Agent profile pages, agent search, building, school and local-guide pages are not scraped.
  • Map-drawn shapes and map rectangles from the homes.com site are not supported; use a location or a search URL instead.
  • Search rows carry the search card's short description and no lot size or year built (shown on sold cards only); switch on full details for those.
  • Mortgage records and "only new listings" monitoring are not included.
  • Prices, statuses and history are exactly what homes.com shows at run time.

Related actors

G2
4.7/5
Excellent
Trustpilot

The internet is full of data.
Start owning yours.

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.

No credit card. No setup calls.