Homes.com Listing Scraper avatar

Homes.com Listing Scraper

Pricing

from $0.60 / 1,000 listing saveds

Go to Apify Store
Homes.com Listing Scraper

Homes.com Listing Scraper

Private development candidate for Homes.com listing extraction. Cloud source-access testing is blocked; production readiness is unverified. Source-linked listing parser, bounded pagination and charge safeguards. Provisional $0.60/1,000 listings plus startup and platform usage.

Pricing

from $0.60 / 1,000 listing saveds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

17 hours ago

Last modified

Share

Turn Homes.com city, ZIP, filtered search and individual property URLs into one structured dataset for property research. Each row includes a canonical listing URL, address, advertised price, bedrooms, bathrooms, floor area, available photo links and retrieval time. The scraper preserves URL filters, follows the site's pagination and removes duplicate properties within a run.

This Actor is an independent tool and is not affiliated with Homes.com or CoStar Group. This private development build is blocked on source access: the HTTP and US residential browser cloud canaries returned no listings. It is not ready for production or Store publication.

Choose the right workflow

Use this Actor when you already have Homes.com listing or search URLs and need a bounded, source-linked property dataset. Analysts can compare advertised prices and floor areas or refresh a previously saved set of listing URLs. The source remains authoritative: advertised prices are not appraisals and the output is not an MLS feed or a complete market inventory.

The Actor returns property listing records. Agent-directory profiles, contact harvesting, authenticated pages, neighborhood reports, school records, property ownership and historical transaction feeds are outside its scope. Search URLs for sale, rent or sold pages require separate successful live tests before those modes are claimed as supported.

From a search page to a comparison dataset

A property researcher starts with an Austin search URL, sets a result and page limit, and exports the dataset as JSON, CSV or Excel through Apify. Rows carry the original source page and collection time so the researcher can open each property and check its current availability. Read the run outcome before comparing cities: a result cap, page cap or failed page means the scan is partial.

Quick start

{
"startUrls": [{"url": "https://www.homes.com/austin-tx/"}],
"maxResults": 100,
"maxPages": 5,
"transport": "auto"
}

startUrls accepts 1–50 HTTPS Homes.com URLs. maxResults limits unique saved rows across the complete run; maxPages limits successfully scanned pages. transport: auto attempts HTTP then browser retrieval. http and browser select one route for diagnostics. The browser route uses Apify US residential proxy by default; useResidentialProxy: false is available for direct-route diagnostics. Residential traffic is additional caller-paid platform usage. Request timeouts and an overall work deadline bound slow sources. Extra unused input settings are ignored.

To collect one property, pass its complete /property/.../.../ URL. Copy the actual URL from Homes.com rather than constructing a property ID.

What one result contains

FieldMeaning
listingId, listingUrlProperty identity and canonical source link
address, streetAddress, city, state, postalCodeAddress shown by the source
price, currency, priceTextAdvertised price and original price wording; unknown price is null
bedrooms, bathrooms, squareFeetSource counts and floor area in square feet; missing values are null
listingStatus, propertyTypeClassification when present in source metadata
description, photosUp to 1,000 description characters and ten photo URLs; images are not downloaded
latitude, longitude, yearBuiltOptional detail metadata when supplied
sourceUrl, scrapedAt, dataSource, extractionMethodRetrieval provenance and extraction route

Representative parser example, based on the source page inspected on October 14, 2026; it is not a cloud acceptance claim:

{
"listingId": "x5zewgn876r6t",
"listingUrl": "https://www.homes.com/property/7516-windrush-dr-austin-tx/x5zewgn876r6t/",
"price": 549000,
"currency": "USD",
"priceText": "$549,000",
"address": "7516 Windrush Dr, Austin, TX 78729",
"streetAddress": "7516 Windrush Dr",
"city": "Austin",
"state": "TX",
"postalCode": "78729",
"bedrooms": 4,
"bathrooms": 2.5,
"squareFeet": 2884,
"propertyType": "SingleFamilyResidence",
"listingStatus": "for sale",
"description": null,
"photos": [],
"latitude": null,
"longitude": null,
"yearBuilt": null,
"sourceUrl": "https://www.homes.com/austin-tx/",
"scrapedAt": "2026-10-14T12:00:00.000Z",
"dataSource": "homes.com",
"extractionMethod": "jsonLd+listingCard"
}

Pricing and predictable limits

Proposed Pay per event pricing is $0.60 per 1,000 saved listings, plus $0.00005 per startup event. Apify calculates startup events per GB of allocated memory, with a minimum of one; at the default 2 GB this is $0.00010. Compute, browser operation, storage and traffic usage are additional and paid by the caller. The live Pricing tab becomes authoritative once pricing is configured.

At these proposed rates, 100 saved listings at 2 GB cost $0.06010 in event fees, plus platform usage. One listing costs $0.00070 in event fees, plus platform usage. The result event is attached to the validated dataset write. Duplicate properties do not create additional result events. Empty or failed runs can still incur startup and platform usage costs. A maximum event-charge setting does not cap platform usage.

All supported inputs use the same extraction quality and output fields across account plans. Owner test event counts establish billing behavior, not earned revenue or non-owner FREE-account acceptance.

API example

export APIFY_TOKEN='YOUR_APIFY_TOKEN'
curl --request POST \
--header "Authorization: Bearer $APIFY_TOKEN" \
--header 'Content-Type: application/json' \
--data '{"startUrls":[{"url":"https://www.homes.com/austin-tx/"}],"maxResults":10,"maxPages":1}' \
'https://api.apify.com/v2/acts/khadinakbar~homes-com-listing-scraper/runs'

Keep API tokens in environment variables and authorization headers. Poll the returned run ID and retrieve its default dataset after completion. Fetch OUTPUT and RUN_SUMMARY from the default key-value store to assess completeness, page failures and named result events. Apify supports dataset exports to CSV, Excel and JSON.

AI-agent prompt card

Collect up to 25 unique Homes.com listings from this search URL. Return source links, advertised price, bedrooms, bathrooms and square feet. Read OUTPUT before summarizing; state whether the scan was partial. Do not treat missing values as zero or describe the results as a complete market inventory.

Use a small explicit result/page limit. Through Apify's hosted MCP, discover the Actor and inspect its current schema, start a run with the exact inputs, wait for its outcome and retrieve bounded dataset pages. Actual hosted MCP execution has not yet been verified for this private build; the HTTP API is a separate interface.

Best results and troubleshooting

  • Copy a working Homes.com search URL, including its filters. Start with one city and a small result limit.
  • Use several pages only when you need broader coverage. Homes.com can impose its own pagination and inventory limits; this Actor does not claim to remove them.
  • PARTIAL means useful data or a controlled stop remains inspectable. Check stopReason, failed-page counts and warnings.
  • VALID_EMPTY requires an explicit source empty-result marker. Access denial, challenges and markup drift are never silently labelled empty.
  • INVALID_INPUT explains which setting to correct. UPSTREAM_FAILED means the source returned no useful data; wait or narrow the run. CONFIG_ERROR identifies runtime or unresolved delivery state.
  • After an interruption, the saved state fingerprints the input and build. Uncertain listing writes or charges block additional billable work until reviewed; this is a conservative resume safeguard, not an exactly-once transaction guarantee.

Evidence and freshness

Local tests cover the fractional-bath discrepancy, genuine zero versus missing values, malformed metadata, challenge pages, pagination, deduplication, result/page limits, rate limits and resume safeguards. Two cloud canaries failed honestly with zero dataset rows and zero listing events; they do not pass acceptance. Cloud validation and measured cost evidence are recorded separately in the private release logbook. A successful browser page view or local test is not proof of a deployed working Actor or a production reliability percentage.

Builder's note: Homes.com's structured data can omit half baths shown in the visible listing card. The extractor merges by canonical property URL and gives the visible card count precedence, while retaining null for genuinely missing data.

Data-use boundary

Collect only information you have authority to access and use. Homes.com's current Terms of Use restrict automated extraction and redistribution. The owner must review rights and the intended use before publication. Source links and timestamps establish provenance, not permission. The Actor collects listing facts and photo links; it does not download photos or harvest agent phone numbers or emails.