Zillow ZPID Scraper β€” Cheap Bulk Property Details & Photos avatar

Zillow ZPID Scraper β€” Cheap Bulk Property Details & Photos

Pricing

from $2.50 / 1,000 properties

Go to Apify Store
Zillow ZPID Scraper β€” Cheap Bulk Property Details & Photos

Zillow ZPID Scraper β€” Cheap Bulk Property Details & Photos

Zillow property details by ZPID or property link, in bulk and cheap: price, Zestimate, beds, baths, price and tax history, schools, listing agent and phone, all photos. Export to CSV, JSON or Excel.

Pricing

from $2.50 / 1,000 properties

Rating

0.0

(0)

Developer

Andrey Afanasenko

Andrey Afanasenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 hours ago

Last modified

Share

Apify Actor

Paste a list of Zillow ZPIDs or property links β€” ten or ten thousand β€” and get one row of property details for each: price, Zestimate, beds and baths, price and tax history, schools, the listing agent's name and phone, and every photo.

Built for bulk: one lookup per property, no search pages in between, and a price per property that drops as your Apify plan grows. The columns are the same as in Zillow Details Scraper, so a pipeline built for one works with the other.


🎯 What it does

You give the Actor ZPIDs (29460381) or property links (https://www.zillow.com/homedetails/…/29460381_zpid/), one per row. For each property it returns one flat row:

GroupWhat you get
ListingStatus, price, price change, days on Zillow, listing type (agent, owner/FSBO, new construction, open house), views and saves
HomeAddress, county, neighborhood, coordinates, type, beds, baths, living area, lot, year built, stories, heating, cooling, appliances, flooring, pool, garage, parking, basement
MoneyZestimate, rent Zestimate, price per sq ft, HOA fee, annual tax, last tax paid and assessed value, last sale date and price, full price history
ContactListing agent name and phone (the owner's phone on FSBO listings), agent profile link, co-agent, brokerage and its phone
Media & areaMain photo plus the full photo gallery, nearby schools with ratings

Repeated properties are looked up once. Entries that are not a ZPID or a property link are skipped and listed in the run log.


πŸ“¦ Output sample

One real row, trimmed for length (photos holds all 24 photos of this listing):

{
"zpid": "29460381",
"hdpUrl": "https://www.zillow.com/homedetails/1107-Woodland-Ave-Austin-TX-78704/29460381_zpid/",
"price": 1990000,
"status": "FOR_SALE",
"homeType": "SINGLE_FAMILY",
"listingType": "FSBA",
"streetAddress": "1107 Woodland Ave",
"city": "Austin",
"state": "TX",
"zipcode": "78704",
"county": "Travis County",
"agentName": "Wade Giles",
"cellPhone": "512-808-6756",
"agentProfileUrl": "https://www.zillow.com/profile/WadeATX/",
"brokerName": "Compass RE Texas, LLC",
"pricePerSqft": 689,
"propertyTax": 35175,
"bedrooms": 3,
"bathrooms": 3,
"livingArea": 2887,
"lotSize": "7,143 sqft",
"yearBuilt": 2018,
"hasPool": true,
"daysOnZillow": "7 days",
"lastTaxAssessedValue": 1872660,
"priceHistory": [
{ "date": "2026-10-15", "price": 1990000, "event": "Listed for sale", "pricePerSquareFoot": 689 }
],
"schools": [
{ "name": "Travis Heights Elementary School", "rating": 6, "grades": "PK-5", "distance": 0.3 }
],
"mainPhoto": "https://photos.zillowstatic.com/fp/50f35bf9c59e4fa28231ccddb8f0f46a-p_f.jpg",
"photos": [
"https://photos.zillowstatic.com/fp/50f35bf9c59e4fa28231ccddb8f0f46a-cc_ft_1536.jpg",
"https://photos.zillowstatic.com/fp/4ec5ff9fa0d3e113949108160d6dc9c8-cc_ft_1536.jpg"
]
}

The dataset has two views: Overview (photo, address, price, agent, phone, beds, baths, area) and Full details (all 70 columns).


⚑ Quick start

  1. Paste your ZPIDs or Zillow property links into ZPIDs or property links, one per row. A comma-separated list in one row works too.
  2. Optionally set Max properties per run to cap the spend.
  3. Click Start. Download the results as CSV, JSON or Excel.

Where to find a ZPID: it is the number just before _zpid in a property link. You can paste the whole link.


🧭 When to use it

  • You already have the list. ZPIDs from a CRM, an earlier export, a search you ran elsewhere β€” and you need fresh details for all of them.
  • Re-checking a portfolio. Run the same list every week and compare price, status and days on Zillow.
  • Photos in bulk. Every listing's gallery in the same row, no extra step.
  • Owner (FSBO) phone numbers. On owner listings the phone in cellPhone is the owner's.

To find properties by ZIP code, by city or by a Zillow search link, or to get the listing agent's e-mail, use Zillow Details Scraper instead.


πŸ›  Input

FieldWhat it does
ZPIDs or property links (zpids)One property per row: a ZPID or a property link. Leave empty for a 3-property test run.
Max properties per run (maxProperties)Look up at most this many properties, in list order. 0 = the whole list.

πŸ’° Pricing

This Actor uses pay per event. One event, Property, fires once per property that lands in your dataset.

Your Apify planPrice per propertyPer 1,000 properties
Free$0.004$4.00
Bronze$0.0035$3.50
Silver$0.003$3.00
Gold and above$0.0025$2.50

ZPIDs that are not found, entries that are not a ZPID, repeats, and properties that could not be loaded are never charged. A run that returns nothing costs nothing.


πŸ†“ Free vs paid plan

Free planPaid plan
Properties per run100Unlimited (or your own Max properties per run)
All columns and photosβœ“βœ“

On the free plan, up to 25 of the ZPIDs over the limit are added to the dataset as rows with only zpid, hdpUrl and a notLookedUpReason note β€” so you can see what was left out. They are not charged.


πŸ“‘ Live status & storage records

While a run is going, the Live Status link on the run page shows progress, properties saved and spend so far. Three records are written to the run's key-value store:

RecordWhat it holds
RUN_SUMMARYHow the run ended; properties requested, saved, not found and not loaded; invalid entries; wall-clock seconds
USER_MESSAGEA plain-language note when a run needs explaining β€” nothing found, nothing valid in the input, a demo run
FREE_LIMITS_APPLIEDWhich free-plan limits changed this run's output

πŸ€– Programmatic / API use

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('afanasenko/zillow-zpid-scraper').call({
zpids: ['29460381', 'https://www.zillow.com/homedetails/x/29120239_zpid/'],
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0].price, items[0].cellPhone, items[0].photos.length);

❓ FAQ

The Actor reads property pages that Zillow publishes openly, with no login. How you use the data β€” and especially the phone numbers β€” is your responsibility; outreach in the US is governed by the TCPA, CAN-SPAM and state law.

Is there an agent e-mail column?

No. E-mail needs a second lookup per property, which is what keeps this Actor cheap. Zillow Details Scraper returns it, with the same other columns.

Why is propertyTax empty on some rows?

Zillow does not publish an annual tax figure for every listing β€” it is missing most often on rentals. lastTaxPaid and lastTaxAssessedValue from the tax history are often still there.

Why did a ZPID return nothing?

The listing was removed, merged into another property page, or the number lost a digit when copied. Not-found ZPIDs are listed in the run log and never charged.

How many properties can one run handle?

Thousands. Lookups run in parallel; a 1,000-property run usually takes about five minutes.

Can I schedule this?

Yes. Save your list as an Apify Task and schedule it daily or weekly.


ActorWhat it does
Zillow Details ScraperProperty listings by ZIP, ZPID or URL, with the listing agent's e-mail
Zillow Search by ZIPFocused ZIP-code property search
Zillow Search by URLPaste a Zillow search URL and get the listings behind it
Zillow Agent LeadsReal-estate agents by area or name, with e-mail, phone and sales history
Zillow MCP ServerThe same Zillow property data as tools for an AI agent

πŸ›Ÿ Support & feedback

Something missing, wrong, or slow? Open an issue on the Issues tab of this Actor. Every one is read, and a short note tends to ship a fix within a few days.


βš–οΈ Disclaimer

This Actor collects publicly available information from Zillow property pages. It is not affiliated with, endorsed by, or connected to Zillow Group, Inc. Use the data in line with applicable law and with the terms of the sites involved.