ZReal EstateBeta

Zillow Property Data API

A Zillow home-details page is the most complete public record of a US property: listing price and status, beds, baths and living area, the Zestimate and rent Zestimate, the assessed tax value, the listing agent and MLS, every photo, the price and tax history, nearby schools and the long RESO fact sheet. The everydata.io Zillow Property Data API – currently in beta – returns all of it as one JSON object of more than 200 top-level fields, addressed either by zpid or by the homedetails URL you copied from the browser.

100 free requests every month · realtime JSON · one API key for all platforms

What you get

Zillow data, ready to use

The core of the response is flat and typed: zpid, streetAddress, city, state, zipcode, latitude and longitude; price and currency; bedrooms, bathrooms, livingArea, yearBuilt and homeType (SINGLE_FAMILY, CONDO, TOWNHOUSE …); homeStatus (FOR_SALE, FOR_RENT, RECENTLY_SOLD, OFF_MARKET) together with daysOnZillow, timeOnZillow and datePostedString. Valuation fields sit next to them – zestimate with zestimateLowPercent / zestimateHighPercent, rentZestimate, taxAssessedValue and taxAssessedYear, lastSoldPrice and dateSold.

Around that core you get the nested blocks that make the page useful: address with subdivision and neighborhood, attributionInfo with agentName, agentPhoneNumber, agentLicenseNumber, brokerName, mlsId and mlsName, hugePhotos with url, width and height for every image, priceHistory (date, price, event, priceChangeRate, source) and taxHistory (time, taxPaid, value), schools with rating, distance and grades, resoFacts with the property facts Zillow displays under "Facts & features", plus county, countyFIPS, parcelId, monthlyHoaFee, propertyTaxRate, description and favoriteCount / pageViewCount for demand signals.

  • Address, coordinates, county and parcelId – enough to join with public records
  • price, homeStatus, homeType, daysOnZillow, datePostedString and priceChange
  • zestimate (with low/high percent), rentZestimate, taxAssessedValue, lastSoldPrice, dateSold
  • attributionInfo: listing agent, phone, licence number, brokerage, MLS id and MLS name
  • hugePhotos array with URL and dimensions for every listing photo
  • priceHistory and taxHistory arrays with dated events and assessed values
  • schools, resoFacts, nearbyHomes, monthlyHoaFee, propertyTaxRate and description

How it works

Example request and response

Call GET /zil/property-v2 with either zpid or url. The zpid is the number before _zpid/ in any Zillow URL and is also returned by every search endpoint, so the usual flow is search first, then property-v2 for the homes you shortlist. The example is trimmed to about 30 of the 200+ keys.

GET /zil/property-v2

curl "https://api.everydata.io/zil/property-v2?zpid=28253016" \
  -H "x-api-key: YOUR_API_KEY"

Response (shortened)

200 OK · application/json
{
  "responseStatus": "PAGE_FOUND",
  "responseMessage": "Page successfully found!",
  "zpid": 28253016,
  "streetAddress": "15626 Laurel Heights Dr",
  "city": "Houston",
  "state": "TX",
  "zipcode": "77084",
  "latitude": 29.85,
  "longitude": -95.68,
  "price": 275000,
  "currency": "USD",
  "bedrooms": 3,
  "bathrooms": 2,
  "livingArea": 1850,
  "homeType": "SINGLE_FAMILY",
  "homeStatus": "FOR_SALE",
  "daysOnZillow": 5,
  "datePostedString": "2026-09-14",
  "zestimate": 280100,
  "rentZestimate": 2100,
  "taxAssessedValue": 240000,
  "county": "Harris County",
  "countyFIPS": "48201",
  "address": {
    "streetAddress": "15626 Laurel Heights Dr",
    "city": "Houston",
    "state": "TX",
    "zipcode": "77084",
    "subdivision": "Laurel Heights"
  },
  "attributionInfo": {
    "agentName": "Jane Agent",
    "agentPhoneNumber": "281-555-0100",
    "agentLicenseNumber": "0612345",
    "brokerName": "Example Realty",
    "mlsId": "1773438",
    "mlsName": "HAR"
  },
  "brokerageName": "Example Realty",
  "description": "Charming 3 bed home.",
  "favoriteCount": 12,
  "hdpUrl": "/homedetails/15626-Laurel-Heights-Dr-Houston-TX-77084/28253016_zpid/",
  "hugePhotos": [
    {
      "url": "https://photos.zillowstatic.com/fp/1-uncropped_scaled_within_1536_1152.jpg",
      "width": 1536,
      "height": 1152
    }
  ],
  "isListedByOwner": false,
  "isZillowOwned": false
}

Three sibling endpoints return slices of the same page when you do not need the whole object: GET /zil/photos?zpid=… returns the photos array with captions and mixedSources in several resolutions; GET /zil/price-tax-history?zpid=… returns just priceHistory and taxHistory; GET /zil/similar-properties?zpid=… lists comparable homes for sale with zpid, homeStatus, price and address. They cost the same as a full lookup, so use them when the smaller payload is the point.

Off-market homes are supported: homeStatus reads OFF_MARKET or RECENTLY_SOLD, price reflects the last known figure, and attributionInfo is empty because there is no active listing. Zestimate and tax data are still populated for most US homes. Fields Zillow does not show for a property come back as null rather than being omitted, so your schema stays stable.

Zillow content is US-only and prices are in USD. Note the beta status of this API: field coverage can grow between releases and a few rarely used nested blocks (foreclosure, streetView, solarPotential) are passed through exactly as Zillow serves them.

Related endpoints

GET/zil/property-v2

Property details. 200+ fields for a property by zpid or URL.

GET/zil/photos

Photos. All photos for a property.

GET/zil/price-tax-history

Price & tax history. Historic prices and tax assessments.

GET/zil/similar-properties

Similar properties. Comparable listings for sale.

GET/zil/search-by-address

Search by address. Property object for a street address.

Full API reference

Use cases

What teams build with this

Investment screening

Investors pull price, rentZestimate, taxAssessedValue, monthlyHoaFee and propertyTaxRate for shortlisted zpids to compute gross yield and cap rate before booking a viewing.

Lead enrichment for agents and lenders

Turn an address into a full property profile – beds, baths, year built, last sale, current status and the listing agent – to qualify a lead in seconds.

Valuation and comps

Combine zestimate, priceHistory and similar-properties to build an automated comparable analysis for appraisal or offer-price tooling.

Listing monitoring

Re-fetch watched homes daily to catch price changes (priceChange, priceHistory), status flips from FOR_SALE to PENDING or SOLD, and new photos.

Real-estate datasets

Researchers assemble panels of properties with resoFacts, schools and tax history to study neighbourhood dynamics and assessment gaps.

Pricing

Pay per request, every platform included

One property lookup is one request, whether you call property-v2 or one of its smaller siblings. The free plan (100 requests a month) covers evaluation; Starter (5,000 requests, €30) refreshes about 160 properties a day; Production (50,000, €80) is sized for portfolio tools; Business (300,000, €300) for data products. Zillow-side 5xx errors are never billed.

Free
100 req / month
Starter
5,000 req · €30
Production
50,000 req · €80
Business
300,000 req · €300

FAQ

Zillow Property Data API: frequently asked questions

Related

Related use cases

All use cases

Look up your first property

Create a free account, grab a zpid from any Zillow URL and call property-v2 – 100 requests a month at no cost.

Get your free API key