Homes.com Scraper [$2/1k💰] | Agent Leads | Price Monitoring
Pricing
from $2.00 / 1,000 listings
Homes.com Scraper [$2/1k💰] | Agent Leads | Price Monitoring
Scrape Homes.com US property listings for market research, price monitoring and real estate agent lead generation: address, price, beds, baths, sqft, photos, description, agent phone and email, brokerage and open houses. An affordable Homes.com API alternative.
Pricing
from $2.00 / 1,000 listings
Rating
0.0
(0)
Developer
Ahmed Jasarevic
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Homes.com Scraper — US Property Listings for Market Research, Price Monitoring & Agent Leads
Extract Homes.com US property listings — price, beds, baths, sqft, photos, description, listing agent phone and email, brokerage and open houses — for real estate market research, price monitoring and agent lead generation.
Main Use Cases
- Real estate agent lead generation — collect listing agent name, phone, email and brokerage for targeted outreach
- Home price monitoring — schedule runs to track price changes over time in any US market
- Real estate market research — compare listings, prices and property characteristics across cities (Atlanta, Austin, Miami, Phoenix…)
- Sold homes & comps research — scrape sold-listing pages for valuations and investment analysis
- Rental market analysis — inventory and pricing for the homes-for-rent market
- Open house & new listing tracking — find open-house events and spot new listings the day they appear
All listing pages scraped are public, no login required.
Real Estate Market Research & Price Monitoring Without An Official Homes.com API
Homes.com does not offer a public developer API for bulk listing access. This actor works around that gap by using the same two data paths the website itself uses:
- Internal search API — on a warm session (same IP, cookies, fingerprint) it posts to the
/services/search/endpoint the Homes.com frontend calls, returning the clean listing payload and enabling fast API pagination (/p2/…/pN/). - Schema.org / JSON-LD parsing — when the API path isn't available, structured listing data is read directly from the page's JSON-LD nodes (RealEstateListing, Offer, PostalAddress, Event — the same data Google sees), so extraction survives markup changes far better than fragile DOM scraping.
Because extraction is plain-HTTP (no headless browser), each listing costs a fraction of browser-based scrapers, and runs stay fast and cheap at scale.
Homes.com Anti-Bot Handling (Akamai)
Homes.com is protected by Akamai Bot Manager. The actor handles it without any manual intervention:
- Mobile browser header/TLS impersonation in the crawler
- Session pool with automatic session retirement on block detection (fresh IP + fingerprint)
- Residential proxies by default (datacenter IPs are detected quickly on this site)
- Block signals (
access denied,verify you are human, CAPTCHA…) are checked on every response before parsing
For large or frequent runs, attaching your own residential proxy group (RESIDENTIAL or your proxy URL) in proxyConfiguration is recommended.
Collect Real Estate Agent Contact Data & Open Houses
On search pages the actor already returns the listing agent name, phone and brokerage for every property — no extra cost per property. Turning on scrapeDetail fetches each property page and adds:
- agentEmail, agentUrl, agentPhoto
- full photos gallery
- yearBuilt, datePosted, listingStatus (and
dateModifiedwhen available) - openHouses events (date, location, host)
That makes the actor a practical tool for building agent-outreach lists, spotting investor opportunities and following up on open-house traffic — without manually visiting hundreds of pages.
Property Scraper Input Settings
| Field | Type | Required | Default | Notes |
|---|---|---|---|---|
startUrls | Array | ✅ | — | Homes.com search URLs (cities, /sold/, /open-houses/, map ?bb=) or property detail URLs |
maxItems | Integer | — | 100 | Global result cap across the whole run (0 = unlimited) |
maxPagesPerSearch | Integer | — | 5 | Max pagination pages per search URL (API or HTML) |
maxRequestsPerCrawl | Integer | — | 500 | Hard cap on total HTTP requests |
includeDescription | Boolean | — | true | Include the property description field in results |
includePhotos | Boolean | — | true | Include the full photo gallery in detail records (scrapeDetail only) |
scrapeDetail | Boolean | — | false | Fetch each property's detail page (extra detail event per property) |
proxyConfiguration | Object | — | RESIDENTIAL | Apify proxy or your own residential proxy URL |
Search URLs can carry Homes.com filter parameters, e.g. ?price-min=300000&price-max=500000 for price bands or ?bb=33.7,-84.3,33.9,-84.1 for map-boundary searches (see Tips in the original docs).
US Property Listings Output Fields
Both modes share these core fields. Detail mode adds the fields marked (detail).
| Field | Type | Description |
|---|---|---|
propertyId | String | Homes.com property identifier |
url | String | Canonical property URL |
address / city / state / zip / country | String | Full postal address |
lat / lng | Number | Geocoordinates |
price | Number | Current list price |
priceCurrency | String | e.g. USD |
propertyType | String | e.g. House, Condo (from JSON-LD @type) |
beds / baths | Number | Bedrooms / total bathrooms |
sqft | Number | Floor size |
primaryPhotoUrl | String | Main photo URL |
listingAgent | String | Listing agent name |
agentPhone | String | Agent phone (search or detail) |
agentTitle | String | Agent job title |
brokerage | String | Brokerage / seller name |
status / listingStatus | String | Listing availability |
description | String | Property description (includeDescription) |
name | String | (detail) Listing name |
yearBuilt | Number | (detail) Construction year |
datePosted / dateModified | String | (detail) Listing dates |
agentEmail | String | (detail) Agent email |
agentUrl / agentPhoto | String | (detail) Agent profile / photo |
photos | Array | (detail) Full photo gallery (includePhotos) |
openHouses | Array | (detail) name, startDate, endDate, status, locationName, hostName, url |
Example Input
{"startUrls": [{ "url": "https://www.homes.com/atlanta-ga/houses-for-sale/" }],"maxItems": 100,"scrapeDetail": true,"includePhotos": true,"includeDescription": true}
Example Output
{"propertyId": "20901aef-...","url": "https://www.homes.com/property/123-main-st-atlanta-ga/20901aef.../","name": "123 Main St","address": "123 Main St","city": "Atlanta","state": "GA","zip": "30303","lat": 33.749,"lng": -84.388,"price": 425000,"priceCurrency": "USD","propertyType": "House","beds": 3,"baths": 2,"sqft": 1870,"yearBuilt": 2004,"listingStatus": "https://schema.org/InStock","datePosted": "2026-09-02","primaryPhotoUrl": "https://images.homes.com/...","listingAgent": "Jane Smith","agentPhone": "(404) 555-0123","agentEmail": "jane.smith@examplebrokerage.com","agentTitle": "Listing Agent","brokerage": "Example Brokerage","status": "For Sale","description": "Charming 3-bedroom home in Atlanta...","photos": ["https://images.homes.com/1.jpg", "https://images.homes.com/2.jpg"],"openHouses": [{"name": "Open House","startDate": "2026-09-12T14:00:00+00:00","endDate": "2026-09-12T17:00:00+00:00","locationName": "123 Main St, Atlanta, GA"}]}
Automate Property Data With the Apify API, Webhooks & Schedules
- API — integrate directly with the Apify API or any of the SDKs (JS/Python) to push listing data into your own data pipeline.
- Webhooks — trigger downstream processing (CSV export, CRM, Slack, email) the moment a run finishes.
- Scheduling — run daily or weekly for price monitoring, new-listing alerts and market watch. Recurring scheduled usage is the recommended pattern for this actor and also anchors it in the store's recommender.
For spreadsheets and reporting you can also use the built-in Apify dataset CSV/Excel/JSON export — no code needed.
Related Real Estate Data Actors
- one-api/homes-scraper — the most-used Homes.com actor on Apify; good cross-reference for results.
- sian.agency/homes-com-property-scraper — adds neighborhood/school intel and comps for deeper dossiers.
- ahmed_jasarevic/magicbricks-scraper — the same market-research playbook for the Indian property market (MagicBricks).
- agentx/all-property-scraper — multi-portal coverage (Zillow, Realtor.com, Redfin) on one run.
- fatihtahta/homes-com-scraper — lowest per-listing price alternative on the same portal.
Homes.com Data FAQ
Why use this actor instead of an official Homes.com API?
Homes.com does not provide a public developer API for bulk listing access. This actor extracts the same structured data the site shows — including agent contact details — with per-event billing, so you only pay for what you scrape.
Is it legal to scrape Homes.com?
The actor only reads publicly available listing pages — no login, no CAPTCHA solving, no paywall bypass. You are responsible for complying with Homes.com's Terms of Service and applicable data-protection laws (see the Legal & Compliance Disclaimer below). Agent contact data should not be used for unsolicited commercial outreach.
How do I get agent emails and phones from Homes.com?
Turn on scrapeDetail — each property page then returns agentEmail, agentPhone, agentUrl, agentPhoto and the full photo gallery. Note: on most listings the phone number is published on the listing page; emails are returned when present in the page's structured data.
What proxies work with Homes.com?
Homes.com sits behind Akamai Bot Manager, so residential proxies are strongly recommended (the actor uses them by default). Datacenter IPs get blocked quickly; the actor detects blocks and retires sessions automatically.
How much does it cost to scrape Homes.com?
Per-event pricing: $0.0005 per run start, $0.002 per listing, $0.005 per listing detail. A run of 100 listings without detail mode costs roughly $0.21 (start + 100 × $0.002).
How do I track home price changes over time?
Schedule the actor (daily/weekly) on the same search URLs and diff the returned price/dateModified values in your dataset. Combining price-min/price-max URL params with scheduled runs gives clean price-band watchlists.
Does Homes.com have better data than Zillow or Realtor.com?
All major portals draw from the same MLS feeds — the difference is presentation and lead ownership. Homes.com differentiates with its "Your Listing, Your Lead" model (no shared lead pool for agents), which is why agent-lead extraction from Homes.com is popular.
Can I scrape sold listings and open houses?
Yes. Use the /sold/ path for sold-home data and the /open-houses/ path for open-house listings; with scrapeDetail enabled, each open-house record also includes the openHouses event objects (dates, location, host).
SEO Keywords
homes.com scraper, scrape homes.com, homes.com api alternative, us real estate listings data, real estate agent contact data, real estate lead generation, home price monitoring, housing market data, property listing data api, new homes for sale alerts, sold homes data, real estate comps, rental property listings data, houses for rent data, open house leads, real estate investor data, zillow alternative, realtor.com alternative, atlanta real estate data, austin real estate data, real estate market analysis, us property database, real estate data pipeline
For AI Agents & LLM Apps
Purpose: returns Homes.com property listings (address, price, beds/baths/sqft, photos, description) and — with scrapeDetail: true — agent contact data (phone, email, brokerage) and open-house events from public Homes.com pages.
Minimal working input:
{ "startUrls": [{ "url": "https://www.homes.com/atlanta-ga/houses-for-sale/" }], "maxItems": 25 }
Variant inputs (distinct modes):
// Detail mode — full property + agent email/phone + photos + open houses{ "startUrls": [{ "url": "https://www.homes.com/atlanta-ga/houses-for-sale/" }], "maxItems": 25, "scrapeDetail": true, "includePhotos": true }
// Single-property dossier{ "startUrls": [{ "url": "https://www.homes.com/property/<address>/<id>/" }], "scrapeDetail": true }
Output fields (actual dataset keys): propertyId, url, name, address, city, state, zip, country, lat, lng, price, priceCurrency, propertyType, beds, baths, sqft, yearBuilt, status/listingStatus, datePosted, dateModified, primaryPhotoUrl, photos, description, listingAgent, agentPhone, agentEmail, agentTitle, agentPhoto, agentUrl, brokerage, openHouses (name, startDate, endDate, status, url, locationName, hostName).
Behaviors an agent should know:
- Search results already include
listingAgent,agentPhoneandbrokerageat the default listing price ($0.002/property) — no need to enablescrapeDetailjust for agent phone/brokerage.scrapeDetail: true($0.005/property extra) is only needed foragentEmail,agentPhoto,agentUrl,photos,yearBuilt,datePostedandopenHouses. maxItemsis a global billing/size cap across the whole run — if left at the default 100, the run stops at 100 listings regardless of how many pages are enqueued.startUrlsaccepts search URLs (city,/sold/,/open-houses/,?price-min=…&price-max=…, map?bb=…) as well as individual property detail URLs — mixing both works.- Do not set
maxRequestsPerCrawlbelow the listings you want: each detail page costs one request; search pages cost one per pagination page. - The actor retries blocked pages and retires sessions automatically on Akamai detection — failures are already handled internally; a small fraction of pages may still be dropped, so prefer
maxItemsslightly above your true need.
Billing: pay-per-event — $0.0005 Actor Start, $0.002 per listing, $0.005 per listing detail.
Legal & Compliance Disclaimer
This actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Homes.com or CoStar Group. It only accesses publicly available Homes.com listing pages — it does not bypass logins, solve CAPTCHAs, or circumvent paywalls or rate-limit controls beyond normal browsing behavior. You are solely responsible for complying with Homes.com's Terms of Service and with applicable data-protection law, including GDPR and CCPA where the data contains personal information (e.g., agent contact details). Agent names, phone numbers and email addresses extracted by this actor must not be used for unsolicited commercial outreach in violation of CAN-SPAM, TCPA, GDPR or similar regulations.