NewHomeSource at a glance
NewHomeSource is a ready-to-run Apify actor from abotapi for collecting real estate data. Its documented output includes homeid, change type (incremental mode), floor plan, home price and home size (sq ft), which you can export as JSON, CSV or Excel or read through the Apify API. It costs $1.80 per 1,000 results on the Apify Free plan and from $1.00 on paid plans, with smaller per-run or optional feature charges listed on Apify.
- Runs on
- Apify cloud: console, API, schedules and integrations
- Data type
- Real Estate, Developer Tools, Automation
- Pricing
- $1.80 per 1,000 results (Free plan), from $1.00 on paid plans
- Output
- Documented below · JSON, CSV, Excel
- Inputs
- 24 options
Scrape new homes, floor plans, builders and communities from NewHomeSource.com. Search by US state or city, or paste URLs. Get prices, beds, baths, stories, garage, square footage, builder, location, amenities, community details and available plans.
What NewHomeSource can do
- Two ways to find data. Walk a whole state, optionally narrowed to one city, in search mode, or paste community, plan, spec-home, state or market links in URL mode. No need to build URLs by hand.
- One flat row per home. Every result carries the home's own specs, price and status alongside the community's price band, floor-plan count, quick-move-in count and address, and the builder's name, id and phone, all in one record.
- State-wide coverage on demand. Pick a state once and the actor walks its market areas, every community inside them, and every home or floor plan inside each community.
- Optional deep detail. Turn on full detail extraction to add the complete specification, photo gallery, videos, amenities, fees, school districts and sales-office contact per home, billed only for homes actually returned.
- Filters that narrow before you pay. Home type, price, bedroom, bathroom and size bounds apply to both search and URL mode, so filtered-out homes are never collected or charged.
- Built for monitoring, with views. The dataset has Homes, Home details and Changes views. Incremental mode tracks a search over time and returns only new and changed homes on recurring runs, and a run that could not reach the data source fails loudly instead of returning an empty dataset.
Choose what to collect
These inputs let you configure NewHomeSource - New Homes, Floor Plans & Communities. Open the actor on Apify to enter your values and review the current options.
| Input | What it controls |
|---|---|
modestring | search = pick a US state (and optionally a city) and get every matching new home, floor plan and community in one flat row per home. url = paste specific NewHomeSource links and scrape only those. |
statestring | US state to walk. The actor lists the state's market areas, every community in them, and every new home / floor plan inside each community. Big states (Texas, Florida, California) can produce tens of thousands of rows, use the Max items knob below to cap cost. |
citystring | Optional. Narrow the search to a single city inside the selected state, by plain name (for example 'Birmingham' or 'Columbiana'). Case-insensitive. A name that matches nothing logs a clear warning. Leave empty to cover the whole state. |
urlsarray | Only used when mode = url. Paste NewHomeSource community, home, state or market links. Community, state and market links expand to every home inside. Leaving this field untouched scrapes the four example links. |
startUrlsarray | Alias of NewHomeSource links, merged with it. Accepts plain strings or {"url": ...} objects. When you fill this field and leave the NewHomeSource links field untouched, only your Start URLs run (the four example links are NOT scraped or billed), and the run switches to URL mode automatically even if Mode says search. |
homeTypesarray | Which kinds of listings to include in the output. Both on by default, uncheck whatever you don't need. Floor plans are the builder's catalog of plans you can order. QMI / Spec homes are Quick Move-In homes, already built or under construction. In search mode and for a pasted community link the filter is applied upstream, so the other type's pages are never fetched. A pasted single-home link (plan, specdetail or basichome) is checked after its page is read: an excluded home is still never returned and never charged. |
minPriceinteger | Optional. Only keep homes priced at or above this amount. Leave empty for no lower bound. |
Show 17 more inputs
| Input | What it controls |
|---|---|
maxPriceinteger | Optional. Only keep homes priced at or below this amount. Leave empty for no upper bound. |
minBedroomsinteger | Optional. Only keep homes with at least this many bedrooms. |
minBathroomsinteger | Optional. Only keep homes with at least this many bathrooms. |
minSqftinteger | Optional. Only keep homes at least this many square feet. |
maxSqftinteger | Optional. Only keep homes at most this many square feet. |
fetchDetailsboolean | Adds the complete specification (all room areas, options, fees, utilities, amenities), the full photo gallery, videos and tours, builder and brand objects, sales-office address / email, school districts, and community marketing copy. Adds one request per home and bills a per-home detail-enrichment surcharge only for homes actually returned. |
maxItemsinteger | The single cap on the run: stop after this many home rows across all searches / URLs. Defaults to 20 so a run stays small unless you raise it. 0 = unlimited, bounded only by the natural end of results (or Max pages, if set). |
maxPagesinteger | Optional hard cap on the number of result pages walked per state / city / URL. 0 (default) means no page limit, the walk stops naturally when a page comes back empty or repeats already-collected homes, or sooner once Max items is reached. |
resumeFromRunIdstring | Paste a previous run ID or dataset ID to continue a large crawl without returning or charging for homes already collected there. For recurring daily monitoring of the same search, use Incremental mode below instead. |
incrementalModeboolean | Turn this on for daily or recurring monitoring. The first run returns all matching homes as NEW. Later runs normally return only NEW, UPDATED, and REAPPEARED homes. A home is UPDATED when any output field differs from the stored copy (price, beds/baths, size, status, incentives, plans, specs and so on, including nested values); the scrape timestamp (scrapedAt) and any field you list in 'Ignore fields when detecting changes' are never compared, though they stay in the output. Turn on 'Emit unchanged' or 'Emit expired' only when you also want those homes returned (and billed). State is kept separately for each state / city / URL and detail-mode setup; use State key when you want to name or deliberately share a monitoring campaign. To continue one specific interrupted run instead, use Resume from a previous run above. |
stateKeystring | Optional. Name this monitoring campaign to keep its state stable, or to deliberately share state across differently-configured runs. Leave empty to let the actor derive a key automatically from the state / city / URLs / filters and detail settings, different searches then never mix state with each other. |
emitUnchangedboolean | Off by default. Turn on to also return homes that have not changed since the last run, marked UNCHANGED. This returns, and bills, extra rows you already have, so leave it off unless you specifically want the full snapshot every run. |
emitExpiredboolean | Off by default. Turn on to also return homes that were present in a previous run but are no longer found, marked EXPIRED. Only produced once a run has fully scanned the tracked search, not when Max items capped it or when Resume was used. This returns, and bills, extra synthetic rows, so leave it off unless you need expiry tracking. |
ignoreFieldsForChangesarray | Incremental mode only. Field names that must NOT count as a change, for example a gallery or URL field you do not care about. A name matches that field at any depth, including inside nested objects and lists. Ignored fields stay in the output; they are only left out of the NEW/UPDATED comparison and of changedFields. Leave empty to compare everything except the scrape timestamp. |
mcpConnectorsarray | Optionally send the scraped results into the apps you already use, via Model Context Protocol (MCP) connectors. Authorize a connector once under Apify > Settings > Integrations, then select it here. The connector receives a condensed, human-readable summary per item (title + key fields), not the full JSON, the complete record stays in the dataset. Leave empty to skip. |
notionParentPageUrlstring | URL (or id) of the Notion page under which item pages are created. Required to enable the Notion export; ignored by other connectors. |
maxNotifyListingsinteger | Cap on items written to each connector per run. Does not affect the dataset. |
Fields in the output
The documented dataset includes the fields below. Availability can depend on the source page and selected mode.
homeIdhomeIdchangeTypeChange type (incremental mode) (text)floorPlanFloor planhomePriceHome pricehomeSizeSqftHome size (sq ft)bedroomsBedsbathroomsBathsstoriesStoriesgarageCountGaragecommunityNameCommunitycommunityIdCommunity IDbuilderNameBuilderShow 44 more fields
builderIdBuilder IDphonePhoneaddressAddresscityCitystateStatezipZiplatitudeLatitudelongitudeLongitudecommunityMinHomePriceCommunity min home pricecommunityMaxHomePriceCommunity max home pricetotalFloorPlansTotal floor plansqmiCountQMI countstatusStatushomeTypeHome typeimageUrlImage (image)communityUrlCommunity URL (link)homeUrlHome URL (link)changedFieldsChanged fields (incremental mode) (array)firstSeenAtFirst seen (incremental mode) (date)lastSeenAtLast seen (incremental mode) (date)descriptionDescriptionmarketingDescriptionMarketing descriptionlotSqftLot (sq ft)moveInDateMove-in datedateFirstPublishedFirst publishedbuilderUrlBuilder URL (link)salesOfficeAddressSales office addresssalesOfficePhoneSales office phonesalesOfficeEmailSales office emailcommunityHoursCommunity hourscommunityDirectionsDirectionsamenitiesamenitiesplanAmenitiesplanAmenitieshomeOptionshomeOptionsfeesAndRatesfeesAndRatesutilitiesutilitiesschoolsschoolsschoolDistrictsschoolDistrictsagentsagentsimagesCountImages countimagesimagesvideosvideostourUrlTour URL (link)planViewerUrlPlan viewer URL (link)Example output
An example from this actor’s documentation. Values are illustrative; this is not a fresh live result.
{
"homeId": 2787050,
"planId": 145201,
"specId": null,
"floorPlan": "The Pearson",
"bedrooms": 4,
"bathrooms": 3,
"halfBathrooms": 1,
"garageCount": 2,
"stories": 2,
"homeSizeSqft": 2450,
"homePrice": 385990,
"status": "Active",
"homeType": "Single Family",
"isSpec": false,
"moveInDate": "2025-06-01",
"address": "123 Example Lane",
"city": "Example City",
"county": "Example County",
"state": "TX",
"zip": "75001",
"latitude": "32.7767",
"longitude": "-96.7970",
"communityId": 202479,
"communityName": "Sample Community",
"communityMinHomePrice": 320000,
"communityMaxHomePrice": 450000,
"totalFloorPlans": 8,
"qmiCount": 3,
"builderId": 5501,
"builderName": "Sample Builder Homes",
"phone": "555-0100",
"brandId": 12,
"brandLogo": "https://example.com/logo.png",
"homeUrl": "https://www.newhomesource.com/plan-detail/2787050",
"communityUrl": "https://www.newhomesource.com/community/tx/example-city/sample-community/202479",
"searchMode": "search",
"schoolDistricts": [
{
"id": null,
"name": "Example County Schools"
}
]
}Ways to use this data
- Builder and market research: track price bands, floor-plan counts and quick-move-in inventory across a state or metro to see where builders are pricing and releasing homes.
- Real estate lead generation: collect builder and community contact details alongside home specs for outreach or CRM import.
- Listing and price monitoring: schedule the actor with incremental mode to catch new homes, price changes and homes that sell out.
- Market analytics and dashboards: feed home counts, price ranges and geo coordinates into a BI tool or map to visualize new-construction supply.
- Relocation and homebuying tools: power a search or comparison app with structured floor plan, price and school-district data.
Before you run
Start with a small input and check the resulting records against your expected fields. Source content and actor options can change; the current Apify listing is the reference for availability and pricing.
Questions about this actor
What data does NewHomeSource return?
The documented output for NewHomeSource includes homeid, change type (incremental mode), floor plan, home price, home size (sq ft), beds, baths and stories. Availability of each field depends on the source page and the selected mode.
How much does NewHomeSource cost?
It costs $1.80 per 1,000 results on the Apify Free plan and from $1.00 on paid plans, with smaller per-run or optional feature charges listed on Apify. The Apify listing shows the current rate for every plan.
Can I get only new or changed homes on a schedule?
Yes. Schedule the actor from the Schedules tab and turn on Incremental mode. Later runs then return only new and updated homes, and unchanged homes are not billed unless you also turn on Emit unchanged.
Do pasted single-home links always come back with full detail?
Yes, and this is the most common source of confusion. A pasted plan, specdetail or basichome link only exists as a detail record on the storefront, so the actor always fetches and returns its full detail and community context for that link, and always applies the detail-enrichment surcharge, no matter how Fetch full home details is set. That toggle only controls whether homes found by a state or city search, or by a pasted community link, also get the extra fetch.
Can I use it with AI agents or MCP?
Yes. Call it from any Apify integration or MCP client, and use the connector field to push a summary of results into Notion, Linear or Airtable.
