← Health board

Recent Home Sales & New Homeowner Leads Scraper

Homes just sold in a city or town (CT, MA, NH, ME, RI, VT, VA) with the buyer's name and mailing address, seller, price, beds and baths. New homeowner leads, pay per sale.

62%golden-diff pass
Run it on Apify → verified nightly

Verification

62%golden-diff success
8canary runs
0days since last canary run

Output fields

Authoritative field set from the dataset schema.

FieldType
statestring|null
citystring|null
addressstring|null
sale_datestring|null
sale_priceinteger|null
property_typestring|null
modelstring|null
stylestring|null
living_area_sqftinteger|null
land_area_sqftinteger|null
parcel_idstring|null
buyerstring|null
sellerstring|null
ownerstring|null
co_ownerstring|null
owner_is_buyerboolean|null
owner_mailing_addressstring|null
owner_mailing_streetstring|null
owner_mailing_citystring|null
owner_mailing_statestring|null
owner_mailing_zipstring|null
absentee_ownerboolean|null
book_pagestring|null
previous_sale_priceinteger|null
previous_sale_datestring|null
year_builtinteger|null
bedroomsinteger|null
bathroomsnumber|null
half_bathsinteger|null
total_roomsinteger|null
heat_typestring|null
ac_typestring|null
assessed_valueinteger|null
appraised_valueinteger|null
land_acresnumber|null
zoningstring|null
land_usestring|null
photo_urlstring|null
source_urlstring|null
noticestring|null
notice_typestring|null

Sample row

{
  "state": "CT",
  "city": "Branford",
  "address": "17 BALLOU RD",
  "sale_date": "2026-09-28",
  "sale_price": 340000,
  "property_type": "single_family",
  "model": "Residential",
  "style": "Ranch",
  "living_area_sqft": 710,
  "land_area_sqft": 10454,
  "buyer": "LUCY & DIANE DEVELOPERS LLC",
  "owner_is_buyer": true,
  "owner_mailing_address": "302 FIELD POINT RD, BRANFORD, CT 06405",
  "owner_mailing_zip": "06405",
  "absentee_owner": true,
  "book_page": "1436/0747",
  "previous_sale_price": 208000,
  "previous_sale_date": "2021-04-27",
  "year_built": 1950,
  "bedrooms": 2,
  "bathrooms": 1,
  "heat_type": "Hot Water",
  "assessed_value": 202400,
  "appraised_value": 289100,
  "photo_url": "https://gis.vgsi.com/photos/BranfordCTPhotos/0035/BALLOU%20RD%2017_35226.jpg",
  "source_url": "https://gis.vgsi.com/BranfordCT/Parcel.aspx?pid=8075"
}

Inputs

FieldTypeReqDefaultDescription
state string no "CT" The state to search. Covered: the cities, towns and counties whose assessor publishes its records on a Vision Government Solutions online database (274 in all).
cities array no ["Bridgeport","Fairfield","Trumbull"] City or town names, e.g. 'New Haven' or 'Canton'. In Virginia and Pennsylvania, a county or independent city, e.g. 'Gloucester County'. Leave empty to search every city and town in the state. A name that is not covered returns the free list of names that are.
city string no — One city or town; kept for saved tasks and API callers that send one value. Combined with 'Cities or towns'.
soldWithinDays integer no 30 Sales recorded in this many days up to today. Towns post sales on their own schedule: some within a week, most within a month or two, a few once a year.
dateFrom string no — Start date, YYYY-MM-DD. Overrides 'Sold within the last'.
dateTo string no — End date, YYYY-MM-DD. Defaults to today.
propertyTypes array no ["single_family","condo","multi_family"] Which sales to return: single_family, condo, multi_family, vacant_land, commercial, other. Default: homes (single-family, condo, 2-4 family and larger).
minPrice integer no 1 The default of 1 leaves out $0 deeds (transfers between family members or into a trust), which are rarely new homeowners. Set 0 to include them.
maxPrice integer no — Optional upper price limit.
includeOwnerDetails boolean no true Open each property's record for the buyer, the seller, the owner's mailing address, beds, baths, year built and assessed value. Off: only what the sales list carries (address, date, price, type, living area, land area), which is faster.
maxResults integer no 1000 Spend cap for the WHOLE run, across every city and town, not per city. The run stops once it has delivered this many sales. A statewide Connecticut month was about 630 home sales in October 2026.
proxyConfiguration object no {"useApifyProxy":false} Off by default. Turn it on if a run reports that a database refused the search.

Pricing

Pay per result (sale-found) — no charge for empty runs.
Example: 630 home sales at $0.02/result ≈ $12.60.

FAQ

Where does the data come from?

From each city's or town's assessor, which publishes its property records on an online database hosted by Vision Government Solutions. The actor uses the database's own sales search, then opens each sold property's record.

How recent are the sales?

As recent as the town makes them. Towns post sales on their own schedule: in an October 2026 check some showed sales from the week before, most were a few weeks to two months behind, and a few update once a year. The run log shows each town's newest sale.

Why is the buyer empty on some rows?

The town has recorded the sale but has not yet put the new owner on the property record. The row then says owner_is_buyer: false, and the owner and mailing address shown are still the seller's. Run the same towns again in a few weeks.

What does absentee_owner mean?

The buyer's mailing address is not the property itself (or is in another state): usually an investor, a landlord, a second-home buyer or a company. False means the buyer gets mail at the house they bought.

Which cities and towns are covered?

The 274 whose assessors publish on a Vision Government Solutions database: 72 in Connecticut, 77 in Massachusetts, 41 in New Hampshire, 35 in Maine, 19 in Rhode Island, 23 in Virginia, 4 in Vermont, 2 in Pennsylvania and 1 in Minnesota. Type a name that is not covered and the run returns the free list of the ones that are.

Can I get phone numbers or emails?

No. Assessor records carry names and mailing addresses only, which is what direct mail needs.

How am I charged?

$0.02 per sale delivered. Notices are free: a town with no sales in your window, a database that did not answer, or a run cut short by its time or your maximum charge. Use 'Maximum sales' to cap the whole run.

Guides & use cases

Related actors