~ / endpoints / Rental Data API

Zillow Rental Data Scraper API

Our Zillow rental data API takes a location and a for_rent filter and returns every rental listing with its rent price, beds, baths, and square footage as structured JSON, so you can collect rent prices and rental listings for any city or ZIP in one call.

Get a free API keyAll data types
1,000
free requests
2.6s
median response
JSON
structured output
1
call per location

Quickstart

cURL
curl "https://api.zillowscraperapi.com/api/v1/zillow/search?location=Seattle,%20WA&status=for_rent&page=1&api_key=$API_KEY"
Python
import requests

BASE = "https://api.zillowscraperapi.com"
API_KEY = "YOUR_API_KEY"

# for_rent returns rental listings; price holds the monthly asking rent.
data = requests.get(
    f"{BASE}/api/v1/zillow/search",
    params={
        "location": "Seattle, WA",
        "status": "for_rent",
        "page": 1,
        "api_key": API_KEY,
    },
    timeout=30,
).json()

print(data["total_results"], "rentals in", data["location"])
for unit in data["results"]:
    print(unit["address_zip"], f"${unit['price']:,}/mo", unit["beds"], "bd", unit["baths"], "ba", unit["sqft"], "sqft")

Response

200 OK
{
  "query": "Seattle, WA",
  "location": "Seattle, WA",
  "page": 1,
  "total_results": 10,
  "results_count": 10,
  "results": [
    {
      "position": 1,
      "id": "463504654",
      "title": "6505 44th Avenue NE, Seattle, WA 98115",
      "url": "https://www.zillow.com/homedetails/6505-44th-Ave-NE-Seattle-WA-98115/463504654_zpid/",
      "price": 899900,
      "beds": 3,
      "baths": 3,
      "sqft": 1422,
      "zpid": "463504654",
      "address_street": "6505 44th Avenue NE",
      "address_city": "Seattle",
      "address_state": "WA",
      "address_zip": "98115",
      "zestimate": null,
      "status": "FOR_SALE",
      "status_text": "Active",
      "home_type": "SINGLE_FAMILY",
      "latitude": 47.675953,
      "longitude": -122.281136,
      "has_image": true,
      "builder_name": "Enduring Estates LLC"
    }
  ]
}
FieldTypeDescription
querystringThe location you searched, echoed back.
locationstringThe resolved location string for the results.
pageintegerThe results page returned, starting at 1.
total_resultsintegerNumber of listings in the results array for this page.
resultsarrayThe rental listings for this location, each with the fields below.
results[].priceintegerThe monthly asking rent in whole dollars for a for_rent listing.
results[].bedsintegerBedroom count for the unit.
results[].bathsintegerBathroom count for the unit.

Use it for

>

Rent price data by ZIP

Search a ZIP or city with for_rent to pull the asking rent, beds, baths, and size of every rental on the page and build a current rent table for that market.
>

Rental market tracking

Poll the same locations on a schedule and store rent and inventory counts to chart how asking rents and unit supply move over time in a neighborhood.
>

Rent-per-square-foot analysis

Divide each unit's rent by its sqft to compare rent efficiency across ZIPs and property types, straight from the parsed fields.
>

Investor and landlord comps

Assemble comparable rentals for a subject property by location, bed count, and size to price a unit against the live market.

Pricing

PlanPriceBest for
Free1,000 requestsTesting and small jobs
Pro$0.60 / 1kProduction workloads
Pay-as-you-go$0.90 / 1kSpiky or one-off volume

Median response 2.6s. You only pay for successful requests.

FAQ

How do I get Zillow rental data?

Send one GET request to our zillow/search endpoint with a location and status set to for_rent, plus your api_key. The response is a results array where each rental carries its monthly asking rent under the price field, along with beds, baths, square footage, address, ZIP, and coordinates. We handle the proxies, Zillow's PerimeterX challenge, and parsing, so you collect rent prices for a ZIP or city without running a scraper yourself.

Does Zillow have a rental data API?

Zillow publishes rental market data as bulk research files, most notably the Zillow Observed Rent Index, but it does not offer a public API that returns per-listing asking rents for a given ZIP. Our Zillow rental data API reads the public rentals pages and returns each listing's rent and details as structured JSON, filling the listing-level gap the research downloads leave.

Where is the rent price in the response?

For a for_rent search, the monthly asking rent comes back in the price field of each result, in whole dollars. The example response on this page shows the shared search schema (a for-sale example, where price is the list price); when you pass status=for_rent, the same fields describe rentals and price holds the rent. We never relabel or invent fields, so the shape stays identical across statuses.

Can I pull historical or monthly rent data?

The endpoint returns the live rental listings on Zillow at request time, so it captures current asking rents. To build a monthly history, run the same location on a schedule and store the results, which gives you a time series of asking rents you control. For market-level historical rent, Zillow's Observed Rent Index research files remain the source, and this API complements them with current per-listing data.

How many rentals come back per request?

One request returns a single results page, which holds roughly 40 units, and you can raise the limit parameter up to 500 or page deeper with the page parameter (1 to 20). Zillow caps a given search around a few hundred results, so covering a large metro means splitting it into tighter locations or ZIP codes and paging through each.

How fast is it and how is it billed?

Median end-to-end response is about 2.6 seconds per page, including proxy routing, PerimeterX handling, retries, and parsing. You are billed only for successful requests, so blocked fetches we retry behind the scenes do not land on your bill. The free tier includes 1,000 requests to test against real locations first.

Get rental data api as JSON
Free plan, 1,000 requests. No credit card required.
Get a free API key All endpoints