Bulk lookup from a CSV

Upload a spreadsheet of Zillow links, zpids or addresses in your dashboard. Download it back with the listing price, status, home facts, Zestimate and rent Zestimate added to every row.

How it works

  1. Upload. In the dashboard's Bulk lookup section, choose a CSV file. Up to 5,000 rows and 2 MB per file.
  2. Check the preview. Pick the column with the homes and say whether the first row is a header. You see how many rows are valid, how many repeat another row, how many are invalid or empty, and the most credits the file can use.
  3. Start. Nothing is looked up until you click Start. The dashboard then works through the file, up to 50 homes per step, and shows its progress.
  4. Download. Download the enriched file at any point. Rows not looked up yet say so in the notes column.
Your file (example)
address,owner
https://www.zillow.com/homedetails/…/2064142765_zpid/,Ann
2064142765,Ann (same home: looked up once)
"1600 Main St, Austin, TX 78701",Bob
What you download (example, illustrative values)
address,owner,price,status,beds,baths,sqft,lot_sqft,year_built,zestimate,rent_zestimate,zpid,detail_url,days_on_zillow,notes
https://www.zillow.com/homedetails/…,Ann,525000,FOR_SALE,3,2,1840,6534,1998,512000,2650,2064142765,https://www.zillow.com/homedetails/…,12,Found (1 credit)
2064142765,Ann (same home: looked up once),525000,FOR_SALE,…,"Same home as row 2: looked up once, no extra charge"
"1600 Main St, Austin, TX 78701",Bob,,,,,,,,,,,,,"Not found: no Zillow home matches this input (not billed)"

The added columns

Your columns stay as they were, in the same order, with the same rows. These come after them:

ColumnWhat it holds
priceListing price (rentals: monthly rent; sold: sale price). Blank when Zillow shows none.
statushomeStatus, e.g. FOR_SALE, FOR_RENT, RECENTLY_SOLD, OFF_MARKET
beds, bathsBedrooms and bathrooms
sqft, lot_sqftLiving area and lot size in square feet
year_builtYear built
zestimate, rent_zestimateZillow's Zestimate and Rent Zestimate, when Zillow shows them
zpid, detail_urlZillow's id for the home and its Zillow link
days_on_zillowDays on Zillow
notesWhat happened to the row: found (and whether it cost a credit), same home as another row, not found, address ambiguous (with the closest match's link), invalid input, or not looked up yet

If your file already has a column with one of these names, ours gets a _propertiesapi suffix. Cells that a spreadsheet would treat as a formula are prefixed with an apostrophe.

Credits

A bulk job uses the same lookups, credits and limits as the API's batch endpoint. Zillow links and addresses cost the same: 1 credit per successful lookup. Repeat lookups of the same home within 24 hours come from our cache and are free.

  • Rows are deduplicated within the file: a zpid, its Zillow link and any repeat of either are looked up once and billed at most once.
  • Rows that aren't found, ambiguous addresses, invalid rows and empty rows cost nothing.
  • The preview shows the most credits the file can use (one per distinct home). Homes in the cache bring the real number down.
  • If your credits run out, or your optional monthly spending limit is reached, the job pauses with the reason. Upgrade or raise the limit, then click Resume: it continues from the first row not looked up.
  • If lookups are failing on our side, the job pauses as temporarily unavailable instead of failing your rows. Nothing is billed for the rows not done; click Resume later.
  • Rows that failed (for example a home Zillow couldn't find) can be tried again with Retry failed rows, without uploading the file again.

Leaving the page

The dashboard runs the job while the page is open, one step at a time. If you close the tab, the current step finishes and saves, and the job waits. Open the dashboard again and it continues where it stopped; a home already billed is never billed again, even if the job resumes days later. Jobs and their results are kept for 24 hours on Free and 7 days on paid plans, and an account keeps up to 3 jobs on Free and 20 on paid plans: a new upload past that deletes the oldest finished job.

Limits

  • 5,000 rows and 2 MB per file. Split larger files.
  • 20 uploads per account per day.
  • Your plan's per-minute limit applies to bulk rows too, so on smaller plans a large file takes longer. The dashboard waits and continues on its own.

Prefer to automate it? The same lookups are available from code with POST /v1/zillow/batch.

Zillow is a trademark of Zillow, Inc. PropertiesAPI is an independent service and is not affiliated with, endorsed by or sponsored by Zillow.