rentZestimate

rentZestimate is Zillow's Rent Zestimate: Zillow's estimate of the monthly rent the home could get, as the home's page shows it.

FieldType
data.rentZestimatenumber or null

What it means

The value is a monthly amount in US dollars. Like the Zestimate it is Zillow's figure; PropertiesAPI returns it unchanged.

It is not the asking rent. For a home listed for rent, the asking rent is in price and homeStatus is FOR_RENT. The Rent Zestimate is an estimate that also appears on homes for sale and on homes that aren't listed, which makes it useful for rough rental screening.

PropertiesAPI uses it in data.calculated: rent_to_price_ratio and gross_yield_pct take a year of rent at the Rent Zestimate and divide it by the price, or by the Zestimate when there is no price. Those figures are arithmetic on Zillow's numbers, not a forecast.

Recorded example

Recorded lookup of a home for sale
{
  "homeStatus": "FOR_SALE",
  "price": 400000,
  "rentZestimate": 3090
}
Recorded lookup of a rental
{
  "homeStatus": "FOR_RENT",
  "price": 2385,
  "rentZestimate": null
}

Values are copied from recorded lookups of public Zillow pages, with the other fields of data left out. They show the shape and typical values, not today's data for these homes.

When it is null

  • Zillow doesn't show a Rent Zestimate for the home. Apartment building rentals had none in our recorded lookups, and neither did some new construction.
  • The field is null, never zero, when there is no estimate.

Read it in code

Send a Zillow link, a zpid or an address to GET /v1/zillow/property with your key in the x-api-key header, then read the field from data:

curl and jq
curl -sG "https://api.propertiesapi.com/v1/zillow/property" \
  -H "x-api-key: $PROPERTIESAPI_KEY" \
  --data-urlencode "url=https://www.zillow.com/homedetails/1704-Shelbourne-Dr-Austin-TX-78752/29412761_zpid/" \
  | jq '.data | {rentZestimate}'
Python
import os
import requests

r = requests.get(
    "https://api.propertiesapi.com/v1/zillow/property",
    params={"url": "https://www.zillow.com/homedetails/1704-Shelbourne-Dr-Austin-TX-78752/29412761_zpid/"},
    headers={"x-api-key": os.environ["PROPERTIESAPI_KEY"]},
    timeout=120,
)
r.raise_for_status()
home = r.json()["data"]
rent = home["rentZestimate"]
if rent is not None:
    print(f"Rent Zestimate: {rent:,.0f} a month, {rent * 12:,.0f} a year")
JavaScript (Node)
const url = "https://www.zillow.com/homedetails/1704-Shelbourne-Dr-Austin-TX-78752/29412761_zpid/";
const res = await fetch(
  `https://api.propertiesapi.com/v1/zillow/property?url=${encodeURIComponent(url)}`,
  { headers: { "x-api-key": process.env.PROPERTIESAPI_KEY } },
);
if (!res.ok) throw new Error(`HTTP ${res.status}`);
const { data: home } = await res.json();
const rent = home.rentZestimate;
if (rent != null) console.log(`Rent Zestimate: ${rent} a month, ${rent * 12} a year`);

Common mistakes

  • Comparing a Rent Zestimate with a sale price as if both were monthly. Multiply the rent by twelve first, or use calculated.rent_to_price_ratio.
  • Treating it as the rent a tenant pays. For a listed rental, use price.
  • Using it for tenant screening or any decision covered by the FCRA. The acceptable use policy forbids that.

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

rentZestimate questions

Is rentZestimate monthly?+

Yes. It is Zillow's estimate of rent for one month.

What is the difference between price and rentZestimate on a rental?+

price is the landlord's asking rent; rentZestimate is Zillow's estimate. They often differ.

Why is rentZestimate null on an apartment listing?+

Zillow doesn't show a Rent Zestimate on apartment building pages, so the field is null.