How-to
How to run US Property Lookup & Listing Scraper by APN/Parcel
Step-by-step: write parcel numbers the way the actor reads them, what each field does, and the Zillow / Redfin rows that come back.
Tax-sale lists, probate filings and assessor exports name a property by its parcel number, not its street address. The listing sites don’t search that way. On 29 October 2026 we typed 10 known parcel numbers into Zillow’s and Realtor.com’s own search boxes, and neither found any of them. The workaround is to open the county’s parcel map, find the parcel, copy its address, then paste that into Zillow. For one parcel that’s two minutes. For a list of 200 it’s a day, and every county’s map works a little differently.
What you’ll need
Nothing but an Apify account and your parcel numbers with the county each one is in. You don’t need an API key or a proxy. The default checks Redfin, then Zillow. If you switch source to “All”, Realtor.com pages are opened through Apify’s Web Fetch on your own account, and Apify bills that separately at about $0.0015 a page.
Step 1 — Open the actor
Open US Property Lookup & Listing Scraper by APN/Parcel on the Apify Store and press Try for free. The actor’s own page on this site lists its live health and pricing.
Step 2 — Fill in the input
| Field | Type | Required | What it does |
|---|---|---|---|
apns | array | no | Parcel numbers, one per line, written STATE/County/APN, e.g. ‘CA/Santa Clara/00361019’. (default []) |
apn | string | no | One parcel number; kept for saved tasks and API callers that send one value. Combined with apns. |
stateHint | string | no | Two-letter state for bare parcel numbers (no ‘STATE/County/’ prefix). |
countyHint | string | no | County for bare parcel numbers. Used with stateHint. |
source | string | no | Which listing sites to check: Redfin then Zillow (default), Zillow only, Redfin only, or All with Realtor.com. |
proxyConfiguration | object | no | Optional. The parcel maps answer without a proxy. |
apns is the field that matters, and the county is what makes it work. A parcel number is only unique inside its county: in our tests a six-digit Summit County, Colorado account number also existed in Jefferson County. So write each one as STATE/County/APN. If your whole list is from one county, paste bare numbers and set stateHint and countyHint once. Write the number the way the county does. Dashes and spaces are optional, so 003-61-019 and 00361019 both find the same Santa Clara parcel. A county that stores the dashes, though, can’t always be matched from a number typed without them. In Colorado and Utah the county’s account number works as well as the parcel number.
A working input:
{
"apns": [
"CA/Santa Clara/00361019",
"CO/Adams/0171901104005"
]
}
Step 3 — Run it
Press Start. Each parcel number goes through two steps. First the county’s or state’s public parcel map gives its property address. Then that address is looked up on Redfin, then Zillow. Our first test-customer run on 29 October 2026 looked up CA/Santa Clara/00361019. California’s statewide parcel map gave 745 GARLAND DR, PALO ALTO, CA 94303, and Redfin returned the home in about 20 seconds, most of it starting the browser. A whole list shares that one browser.
When a parcel number doesn’t reach a property, you still get its row, free, with notice_type saying why:
not_covered: we don’t read a public parcel map for 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, which is common for vacant land, roads and many rural lots.no_match: the address is real but neither Redfin nor Zillow has the home.blocked: a site didn’t answer, so run that one again later.
Step 4 — Read the output
Each run returns a labelled table, not raw JSON:
A real row from that run, trimmed (photos, price history and schools left out):
{
"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"
}
| Field | Example value | Meaning |
|---|---|---|
apn | CA/Santa Clara/00361019 | The parcel number you asked for |
parcelAddress | 745 GARLAND DR | The property address as the county roll writes it |
searchedAddress | 745 GARLAND DR, PALO ALTO, CA 94303 | The postal address sent to the listing sites |
address, city, state, zip | 745 Garland Dr, Palo Alto, CA, 94303 | The home as Redfin or Zillow resolved it |
beds, baths, sqft, yearBuilt | 5, 4.5, 4110, 2012 | Core facts from the listing site |
price, priceLabel | 6750000, Last Sold Price | The price and what it is (asking or last sold) |
sourceUrl | the Redfin page | The listing page |
Read price together with priceLabel. On Garland Dr the $6,750,000 is the 2018 sale price, not an asking price, because the home is not for sale. estimatedValue is the listing site’s own estimate. Compare parcelAddress with address when you need proof that the right home came back. The county wrote the street in capitals and the listing site resolved the same house number on the same street. The full row also carries the photo gallery, price and tax history, schools and the listing agent, when the listing site has them.
Step 5 — Export it
Open the Dataset tab and export to CSV, JSON, or Excel — or pull the same rows from the API, which is what you want if this is going to run on a schedule.
What it costs
You pay $0.008 for each parcel number that reaches a Redfin or Zillow property. Every other row is free: not covered, not found, no street address, no listing. 100 parcel numbers that all reach a property cost $0.80. Apify’s platform usage is billed on top under your plan, and so is Realtor.com Web Fetch if you turn it on.
Where the data comes from
Step one reads the public parcel maps counties and states publish. These are keyless map services: statewide layers in Arkansas, California, Colorado, Connecticut, Florida, Idaho, Indiana, Massachusetts, Minnesota, Montana, New Jersey, New York, North Carolina, Ohio, Utah, Vermont, Washington and Wisconsin, plus county maps in 16 more states, from Cook IL, Dallas and Tarrant TX and Maricopa AZ to Washoe NV and Multnomah OR. Some rolls write the town as “Unincorporated Summit County” with no ZIP, which no listing site can search. For those, the postal town comes from the US Census Bureau’s public geocoder, and it is kept only when it lands in the parcel’s own county. Step two is the same Redfin and Zillow lookup as Zillow & Redfin Property Data Scraper. Our QA runs this actor as a paying test customer on the Santa Clara parcel above and flags it if the row loses its parcel address, listing address, ZIP or listing link (what “verified” means).
See it used
Santa Clara County APN Lookup: Parcel Number to Zillow & Redfin runs the input above for an investor working from a list of parcel numbers.
If you already have street addresses, skip the parcel step: Zillow & Redfin Property Data Scraper takes addresses directly.
Last updated 2026-10-29