Zillow Rentals Scraper - Apartments, Units & Rent Prices avatar

Zillow Rentals Scraper - Apartments, Units & Rent Prices

Pricing

from $4.25 / 1,000 listings

Go to Apify Store
Zillow Rentals Scraper - Apartments, Units & Rent Prices

Zillow Rentals Scraper - Apartments, Units & Rent Prices

Scrape Zillow rental listings by city, ZIP code or search URL. Get rent ranges, floor plans, available units, leasing phone, move-in specials and pet policy as JSON, CSV or Excel.

Pricing

from $4.25 / 1,000 listings

Rating

0.0

(0)

Developer

Ben

Ben

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

๐Ÿข Zillow Rentals Scraper - Apartments, Units & Rent Prices

Pull rental listings from Zillow by city, ZIP code or search URL. Each row is one apartment building or one home for rent, with its rent range, floor plans, individual units, leasing phone and move-in specials. Export to JSON/CSV/Excel, run on a schedule, call via API, or connect to Make, Zapier or n8n.

๐Ÿ”Ž What is the Zillow Rentals Scraper?

It is an Apify Actor that reads Zillow's rental search for the places you name and then opens each listing page for the details. You get the same data a renter sees on Zillow, as structured rows instead of web pages.

A search for "Austin, TX" returns apartment communities such as Edison Austin with 12 floor plans, every available unit and the leasing office phone. A search limited to houses returns single homes with the listed rent, Zillow's rent estimate and the rent history.

No browser is started and no third-party unblocker is used, so runs are quick. In our tests 10 listings with full details took about 7 seconds, and 300 listings across Chicago and Houston took about 100 seconds.

What data does it extract?

  • Listing identity: listingId, listingType (building or home), name, url
  • Location: address, street, city, state, zip, neighborhood, county, latitude, longitude
  • Rent: rentMin and rentMax (advertised monthly price), baseRentMin and baseRentMax (before required monthly fees), unitTypes with the starting rent per bedroom count
  • Size: bedsMin, bedsMax, baths, sqft
  • Availability: unitsAvailable, totalUnits, availableFrom
  • Floor plans and units: floorPlans[] with name, beds, baths, sqft, rent range, lease term and a units[] list (unit number, rent, sqft, available date)
  • Contact: phone, leasingContact, and for single homes agentName and brokerName when Zillow lists them
  • Offers and rules: moveInSpecials, petPolicy (fees and limits per pet type), allowedPets, fees, leaseTerm
  • Extras: amenities, description, walkScore, transitScore, bikeScore, yearBuilt, daysOnZillow, rentZestimate, priceHistory, photoCount, imageUrl, has3DTour

detailsLoaded tells you whether the listing page was read. If it is false, the row holds the search data only.

โฌ‡๏ธ Input

FieldTypeWhat it does
locationsarrayCities ("Austin, TX"), ZIP codes ("78704") or full Zillow rental search URLs
maxResultsintegerMaximum listings to save across all locations
minRent, maxRentintegerMonthly rent range in dollars
minBeds, minBathsintegerMinimum bedrooms and bathrooms
propertyTypestringany, apartments, houses or townhomes
includeDetailsbooleanOpen each listing for floor plans, units, phone, specials and pet policy. On by default

Filters apply to cities and ZIP codes. A pasted Zillow URL keeps the filters it already contains, which is handy when you have set up a search on zillow.com by hand.

Example input

{
"locations": ["Austin, TX", "78704"],
"maxResults": 100,
"maxRent": 2500,
"minBeds": 2,
"propertyType": "apartments",
"includeDetails": true
}

โฌ†๏ธ Output

One row per listing. This is a real row, shortened:

{
"listingId": "2750798958",
"listingType": "building",
"name": "Edison Austin",
"url": "https://www.zillow.com/apartments/austin-tx/edison-austin/CkBPsG/",
"address": "4711 E Riverside Dr, Austin, TX 78741",
"city": "Austin",
"state": "TX",
"zip": "78741",
"neighborhood": "Pleasant Valley",
"latitude": 30.230991,
"longitude": -97.71912,
"propertyType": "BUILDING",
"rentMin": 1541,
"rentMax": 3141,
"baseRentMin": 1295,
"baseRentMax": 2895,
"bedsMin": 0,
"bedsMax": 2,
"unitsAvailable": 12,
"totalUnits": 354,
"unitTypes": [{"beds": 0, "rentFrom": 1541}, {"beds": 1, "rentFrom": 1841}, {"beds": 2, "rentFrom": 2741}],
"phone": "(512) 807-0820",
"floorPlans": [
{
"name": "E2", "beds": 0, "baths": 1, "sqft": 509,
"rentMin": 1541, "rentMax": 1541, "baseRentMin": 1295, "baseRentMax": 1395,
"availableFrom": "now", "leaseTerm": "6 Months",
"units": [{"unit": "Unit 2315", "rent": 1541, "baseRent": 1295, "sqft": 509, "availableFrom": "now"}]
}
],
"moveInSpecials": ["Austin's Largest Award-Winning Floor Plans - Luxury Living with Breathtaking Skyline Views!"],
"petPolicy": [{"type": "cats", "allowed": true, "monthlyFee": 50, "oneTimeFee": 500, "maxNumber": 5}],
"amenities": ["Garbage Disposal", "Dishwasher", "Microwave", "Refrigerator"],
"walkScore": 48,
"transitScore": 55,
"bikeScore": 57,
"has3DTour": true,
"detailsLoaded": true,
"scrapedAt": "2026-10-02T13:30:51+00:00"
}

A home for rent has the same core fields plus baths, sqft, yearBuilt, daysOnZillow, rentZestimate, allowedPets, fees and priceHistory (for example {"date": "2026-09-29", "event": "Listed for rent", "price": 2095}).

๐Ÿ’ฐ How much does it cost?

You pay per listing saved, plus a tiny start fee per run.

Apify planPrice per 1,000 listings
Free$5.00
Starter$4.75
Scale$4.50
Business and above$4.25

A run that saves 100 listings costs $0.50 on the Free plan. Set Maximum cost per run in the run options and the Actor stops at that amount. Floor plans, units and contact details are included in the listing price.

๐Ÿ’ก Use cases

  • ๐Ÿ˜๏ธ Rental comps: pull asking rents and unit mixes for a neighborhood before pricing your own units.
  • ๐Ÿ“ˆ Market tracking: schedule a weekly run for the same ZIP codes and compare rentMin, unitsAvailable and moveInSpecials over time.
  • ๐Ÿ“ž Leasing office outreach: build a list of communities with phone numbers, unit counts and current specials.
  • ๐Ÿงฎ Investment screening: compare listed rent with rentZestimate and rent history on single-family rentals.

โ“ FAQ

How many listings can I get per search? Zillow serves about 820 listings per search (20 pages). For a large city, pass several ZIP codes or narrow rent ranges as separate locations and the Actor merges them without duplicates.

Why is phone empty on some rows? Apartment communities almost always publish a leasing phone. Many single homes do not, and Zillow routes those contacts through its own form, so the field stays empty.

What is the difference between rentMin and baseRentMin? Zillow now shows a total monthly price that includes required fees. rentMin is that advertised total. baseRentMin is the rent before those fees, when the listing reports it.

Can I paste a Zillow search URL? Yes. Set up any rental search on zillow.com, copy the address bar and use it as a location. The URL's own filters are kept and the input filters are ignored for that entry.

Does it cover homes for sale? No. This Actor reads rentals only. For homes for sale and sold homes use the Zillow Search Scraper.

How fresh is the data? Every run reads Zillow live. Nothing is cached between runs.

What happens if Zillow blocks a request? The Actor switches to another connection route and retries. If a listing page still cannot be read, the row is saved with the search data and detailsLoaded: false, so one bad page never costs you the whole run.

Can I run it on a schedule? Yes. Create an Apify schedule with the same input, then compare datasets or send each run to Google Sheets, a webhook or your database through Apify integrations.

Is it legal to scrape Zillow rentals? The Actor collects listing information that Zillow shows publicly to any visitor and does not log in or bypass a paywall. You are responsible for how you use the data. Phone numbers and agent names are business contact details, but privacy and marketing rules such as GDPR, CCPA and CAN-SPAM still apply to outreach, and Zillow's terms of use apply to you as well. If in doubt, ask a lawyer.

Something is missing or broken? Open an issue on the Actor's Issues tab with the run ID. Issues are answered within one business day.

๐Ÿงฉ Need this as a managed feed?

If you would rather receive a weekly rent and availability file for your markets than run the Actor yourself, request a quote at https://benthepythondev00.github.io/custom.html.

๐Ÿ”— You might also like

Keywords: zillow rentals scraper, zillow rental listings, zillow apartments scraper, zillow rent prices, zillow api alternative, rental listings data, apartment floor plans data, rent comps, rental market data, apartment availability, leasing office phone numbers, property management leads, multifamily data, rent price tracking, zillow csv export, real estate data api, rental property scraper, houses for rent data