US Property Lookup & Listing Scraper by APN/Parcel
Give a US parcel number (APN), get the property's address from the county parcel map, then its Zillow / Redfin record: price, estimate, beds, baths, size, photos and listing link. Pay per property found.
Verification
Output fields
Authoritative field set from the dataset schema.
| Field | Type |
|---|---|
apn | string|null |
found | boolean|null |
county | string|null |
parcelId | string|null |
parcelAddress | string|null |
searchedAddress | string|null |
address | string|null |
city | string|null |
state | string|null |
zip | string|null |
propertyType | string|null |
beds | number|null |
baths | number|null |
sqft | number|null |
yearBuilt | number|null |
lotSizeSqft | number|null |
sourceUrl | string|null |
images | array|null |
floorPlans | array|null |
source | string|null |
notice | string|null |
notice_type | string|null |
Sample row
{
"apn": "CA/Santa Clara/00361019",
"county": "Santa Clara",
"parcelId": "00361019",
"parcelAddress": "745 GARLAND DR",
"searchedAddress": "745 GARLAND DR, PALO ALTO, CA 94303",
"found": true,
"address": "745 Garland Dr",
"city": "Palo Alto",
"state": "CA",
"zip": "94303",
"propertyType": "Single Family Residential",
"beds": 5,
"baths": 4.5,
"sqft": 4110,
"lotSizeSqft": 12722,
"yearBuilt": 2012,
"estimatedValue": 8864967,
"price": 6750000,
"priceLabel": "Last Sold Price",
"lastSoldDate": "2018-08-09",
"status": "Sold",
"taxAssessedValue": 7680343,
"sourceUrl": "https://www.redfin.com/CA/Palo-Alto/745-Garland-Dr-94303/home/1210666",
"source": "redfin"
} Inputs
| Field | Type | Req | Default | Description |
|---|---|---|---|---|
apns | array | no | ["CA/Santa Clara/00361019","CO/Adams/0171901104005"] | Assessor parcel numbers, one per line, written STATE/County/APN, e.g. 'CO/Summit/400358' or 'CA/Alameda/66-2763-16'. A parcel number is only unique within its county, so the county is required (or set it once below). Write the APN as the county does; dashes and spaces are optional. |
apn | string | no | — | One parcel number; kept for saved tasks and API callers that send one value. Combined with 'Parcel numbers'. |
stateHint | string | no | — | Two-letter state for bare parcel numbers (no 'STATE/County/' prefix), e.g. 'CO'. |
countyHint | string | no | — | County for bare parcel numbers, e.g. 'Summit'. Used with 'State'. |
source | string | no | "auto" | Where to look the address up. 'Redfin, then Zillow' tries Redfin first and falls back to Zillow. 'All' also checks Realtor.com through Apify's Web Fetch with YOUR Apify account, so Apify bills you for that separately (about $0.0015 a page). |
proxyConfiguration | object | no | {"useApifyProxy":false} | Optional. The county and state parcel maps answer without a proxy; set one only if a map refuses Apify's IPs. |
Pricing
Pay per result (property-found) — no charge for empty runs.
Example: 100 properties found at $0.008/result ≈ $0.80.
FAQ
Which states and counties are covered?
Statewide: Arkansas, California, Colorado (44 of 64 counties), Connecticut, Florida, Idaho (13 of 44 counties), Indiana, Massachusetts, Minnesota (counties that publish open data), Montana, New Jersey, New York (most counties), North Carolina, Ohio, Utah, Vermont, Washington (all but Asotin County) and Wisconsin. Counties: Maricopa and Pima AZ, Fulton and Cobb GA, Cook and DuPage IL, Detroit and Oakland MI, Clay MO, Hinds and DeSoto MS, Lancaster NE, Santa Fe NM, Washoe NV (Reno), Multnomah OR (Portland), Philadelphia and Bucks PA, Davidson TN, Dallas and Tarrant TX, Chesterfield VA, Mobile AL and New Castle DE (Wilmington). A parcel elsewhere returns a free not_covered row.
How do I write a parcel number?
STATE/County/APN, e.g. 'CO/Summit/400358' or 'CA/Alameda/66-2763-16'. The county is required because the same number exists in other counties. If every parcel is in one county, give bare numbers and set State and County once. Write the number as the county does; dashes and spaces are optional, but a county that writes dashes cannot always be matched from a number typed without them.
Why did a parcel come back with no property?
The row says why. not_covered: no public parcel map we read covers that county yet. not_found: the county's map has no parcel with that number. no_address: the parcel has no street address on the roll (vacant land, roads, many rural lots). no_match: the address exists but neither Redfin nor Zillow has the property. blocked: a site did not answer; try again later. None of these are charged.
Does it accept a county's account number instead of the parcel number?
In Colorado and Utah, yes: those counties hand out both, and a lookup matches either exactly.
How am I charged?
$0.008 per parcel number that reaches a Zillow or Redfin property. Everything else is free. Realtor.com pages (optional, the 'All' setting) are billed by Apify to your account at about $0.0015 a page.
I already have addresses. Which tool should I use?
Zillow & Redfin Property Data Scraper: it takes addresses and returns the full property record (estimates, price and tax history, schools, agent).
Guides & use cases
Related actors