# Zillow Group Scraper | Zillow Trulia HotPads API (`lentic_clockss/zillow-group-scraper`) Actor

Scrape US Zillow, Trulia, and HotPads listings plus New Homes, buildings, Zestimate, and mortgage rates. Extract prices, beds, baths, photos, zestimate & URLs — Zillow Group API alternative.

- **URL**: https://apify.com/lentic\_clockss/zillow-group-scraper.md
- **Developed by:** [kane liu](https://apify.com/lentic_clockss) (community)
- **Categories:** Real estate, Lead generation, Automation
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Zillow Group Scraper

Scrape **US** real-estate data from **Zillow**, **Trulia**, and **HotPads** — sale, rent, sold, New Homes, apartment buildings, Zestimate, and mortgage rates.

> **Worker URL is config, not code:** the Actor reads `WORKER_BASE_URL` from Actor environment variables (plus optional per-run `workerBaseUrl`). If you migrate the worker to a new host, update `WORKER_BASE_URL` (and `WORKER_AUTH` if the API key changes) in Apify Console — no Actor code change required. Set `WORKER_PROVIDES_PROXY=1` when the worker supplies its own `PROXY_URL`.

### Features

- Brands: `zillow` | `trulia` | `hotpads` | `all`
- Channels: sale / rent / sold / new_homes / building / zestimate / mortgage
- Stable Dataset fields + optional `raw`
- Thin Apify Actor → Cloud Run worker (`curl_cffi` + residential proxy)
- HTTPS + API key between Actor and worker

### How it works

````

Apify Actor (this)  --HTTPS + WORKER\_AUTH-->  Cloud Run worker zillow-com  -->  Zillow Group

````

Default worker: `https://zillow-com-l7fhldkljq-uc.a.run.app`

With `WORKER_PROVIDES_PROXY=1`, the Actor skips minting Apify RESIDENTIAL and the worker uses its own `PROXY_URL`.

#### Free Apify plan limits (set by this Actor's developer)

| Limit | Free Apify plan | Paid Apify plan |
| --- | --- | --- |
| Runs of this Actor | **10 runs total** | Unlimited |
| Results per run (`maxResults`) | **Up to 500** | Up to 500 |

These caps are enforced by the Actor developer (not Apify platform errors). When you hit the 10-run limit, the run finishes gracefully with a clear status message asking you to upgrade. Paying Apify users are not subject to the run cap.

### More Actors like this

Looking for another **US/global property portal**, or a specialized Actor outside Zillow Group? Use a dedicated Actor when one exists — structured fields, better coverage, usually lower cost.

#### Similar real estate Actors
- [Zillow & Zumper Scraper](https://apify.com/lentic_clockss/us-real-estate-scraper)
- [Realtor.com Scraper](https://apify.com/lentic_clockss/realtor-com-scraper)
- [Realtor.com Agents Scraper](https://apify.com/lentic_clockss/realtor-com-agents-scraper)
- [Apartments.com Rental Scraper](https://apify.com/lentic_clockss/apartments-com-rental-scraper)
- [Realtor.ca Scraper](https://apify.com/lentic_clockss/realtor-ca-scraper)
- [realestate.com.au Scraper](https://apify.com/lentic_clockss/realestate-com-au-scraper)
- [Rightmove Scraper](https://apify.com/lentic_clockss/rightmove-property-scraper)
- [Idealista Scraper](https://apify.com/lentic_clockss/idealista-scraper)
- [ImmoScout24 Scraper](https://apify.com/lentic_clockss/immobilienscout24-scraper)
- [Hepsiemlak Scraper](https://apify.com/lentic_clockss/hepsiemlak-scraper)
- [Bayut Scraper](https://apify.com/lentic_clockss/bayut-uae-scraper)

#### Prefer another specialized scraper?

**Jobs & Freelance**
- [LinkedIn Jobs Scraper](https://apify.com/lentic_clockss/linkedin-jobs-scraper)
- [Indeed Jobs Scraper](https://apify.com/lentic_clockss/indeed-jobs-scraper)
- [Upwork Jobs Scraper](https://apify.com/lentic_clockss/upwork-jobs-scraper)
- [Glassdoor Scraper](https://apify.com/lentic_clockss/glassdoor-scraper)
- [Fiverr Gigs Scraper](https://apify.com/lentic_clockss/fiverr-programming-tech-gigs-scraper)
- [Bayt Jobs Scraper](https://apify.com/lentic_clockss/bayt-scraper)

**E-commerce**
- [Walmart Product Scraper](https://apify.com/lentic_clockss/walmart-scraper)
- [Amazon Search Scraper](https://apify.com/lentic_clockss/amazon-search-results-collector)
- [Costco Product Scraper](https://apify.com/lentic_clockss/costco-scraper)
- [Shopee Search Scraper](https://apify.com/lentic_clockss/shopee-search-scraper)
- [Etsy Scraper](https://apify.com/lentic_clockss/etsy-scraper)
- [SHEIN Product Scraper](https://apify.com/lentic_clockss/shein-scraper)
- [Temu Product Scraper](https://apify.com/lentic_clockss/temu-scraper)
- [Target Product Scraper](https://apify.com/lentic_clockss/target-scraper)

**Travel & Stays**
- [Booking.com & Airbnb Scraper](https://apify.com/lentic_clockss/booking-airbnb-scraper)
- [Agoda Scraper](https://apify.com/lentic_clockss/agoda-scraper)
- [Trip.com Scraper](https://apify.com/lentic_clockss/trip-com-scraper)
- [Airbnb Listings Scraper](https://apify.com/lentic_clockss/airbnb-listings-scraper)
- [Expedia Scraper](https://apify.com/lentic_clockss/expedia-scraper)

**Social & Content**
- [YouTube Research Scraper](https://apify.com/lentic_clockss/youtube-research-scraper)
- [TikTok Scraper](https://apify.com/lentic_clockss/tiktok-scraper)
- [Reddit Scraper](https://apify.com/lentic_clockss/reddit-scraper)
- [YouTube Shorts Scraper](https://apify.com/lentic_clockss/youtube-shorts-scraper)

**Ads Intelligence**
- [Facebook Ad Library Scraper](https://apify.com/lentic_clockss/facebook-ad-library-scraper)
- [TikTok Ads Scraper](https://apify.com/lentic_clockss/tiktok-ads-top-ads-actor)

**Local & Maps**
- [Google Maps Scraper](https://apify.com/lentic_clockss/google-maps-scraper)

**General Tools**
- [Stealth Web Scraper](https://apify.com/lentic_clockss/stealth-web-scraper)
- [Email Risk Validator](https://apify.com/lentic_clockss/email-risk-validator)
- [Phone Number Intelligence](https://apify.com/lentic_clockss/phone-number-intelligence)

→ See the full catalog in [Related Actors](#related-actors) below, or browse [apify.com/lentic_clockss](https://apify.com/lentic_clockss).

---

### How to use (no code required)

1. Click **"Try for Free"** at the top of this page
2. Set a US `location` (e.g. `Austin, TX`)
3. Pick `brand` (`zillow` / `trulia` / `hotpads` / `all`) and `channel` (sale, rent, sold, …)
4. Set `maxResults` / `maxPages` as needed
5. Click **Start** — rows appear in the Dataset tab; download as JSON, CSV, or Excel

---

### Input example

```json
{
  "location": "Austin, TX",
  "brand": "zillow",
  "channel": "sale",
  "maxResults": 10,
  "maxPages": 1,
  "includeRaw": true
}
````

### Pricing (Pay per event)

| Event | Price |
| --- | --- |
| Actor Start (`apify-actor-start`) | $0.005 |
| result (`apify-default-dataset-item`) | $2.00 / 1,000 |
| User pays platform usage | **NO** |

### Output

Each Dataset item includes preview fields (`name`, `type`, `status`, `country`, `authority`) plus listing details (`listingId`, `priceDisplay`, `beds`, `baths`, `listingUrl`, `imageUrl`, …).

### FAQ

**Is this legal?** You are responsible for complying with each site's terms and applicable law.

**International?** No — United States only (Zillow / Trulia / HotPads).

**Why no Chrome in the Actor?** Scraping runs on the Cloud Run worker.

**Why did my free-plan run stop with a free-tier message?**\
Free Apify plan users get **10 runs** of this Actor and **up to 500 results per run**. These limits are set by the Actor developer (not Apify). When you hit the run cap, the run finishes with a clear status message — it is not a platform bug. Upgrade to a paid Apify plan for unlimited runs.

***

### Related Actors

All **77** public Actors from \[[lentic\_clockss](https://apify.com/lentic_clockss)]. Click a name to open the Store detail page.

#### Jobs & Freelance

- [LinkedIn Jobs Scraper](https://apify.com/lentic_clockss/linkedin-jobs-scraper)
- [Bayt Jobs Scraper](https://apify.com/lentic_clockss/bayt-scraper)
- [Fiverr Gigs Scraper](https://apify.com/lentic_clockss/fiverr-programming-tech-gigs-scraper)
- [Freelancer.com Scraper](https://apify.com/lentic_clockss/freelancer-scraper)
- [Glassdoor Scraper](https://apify.com/lentic_clockss/glassdoor-scraper)
- [Himalayas Jobs Scraper](https://apify.com/lentic_clockss/himalayas-jobs-scraper)
- [Indeed Jobs Scraper](https://apify.com/lentic_clockss/indeed-jobs-scraper)
- [Jobicy Remote Jobs Scraper](https://apify.com/lentic_clockss/jobicy-remote-jobs-scraper)
- [RemoteOK Jobs Scraper](https://apify.com/lentic_clockss/remoteok-all-jobs-scraper)
- [SEEK Jobs Scraper](https://apify.com/lentic_clockss/seek-scraper)
- [Upwork Jobs Scraper](https://apify.com/lentic_clockss/upwork-jobs-scraper)

#### Real Estate

- [Zillow & Zumper Scraper](https://apify.com/lentic_clockss/us-real-estate-scraper)
- [Realtor.com Scraper](https://apify.com/lentic_clockss/realtor-com-scraper)
- [99.co Scraper](https://apify.com/lentic_clockss/ninetynine-co-sg-scraper)
- [Realtor.com Agents Scraper](https://apify.com/lentic_clockss/realtor-com-agents-scraper)
- [Apartments.com Rental Scraper](https://apify.com/lentic_clockss/apartments-com-rental-scraper)
- [Bayut Scraper](https://apify.com/lentic_clockss/bayut-uae-scraper)
- [Craigslist Housing Scraper](https://apify.com/lentic_clockss/craigslist-housing-scraper)
- [Daft.ie Scraper](https://apify.com/lentic_clockss/daft-property-scraper)
- [Dot Property Scraper](https://apify.com/lentic_clockss/dot-property-th-scraper)
- [FINN.no Scraper](https://apify.com/lentic_clockss/finn-scraper)
- [Funda Scraper](https://apify.com/lentic_clockss/funda-scraper)
- [Hepsiemlak Scraper](https://apify.com/lentic_clockss/hepsiemlak-scraper)
- [Idealista Scraper](https://apify.com/lentic_clockss/idealista-scraper)
- [Immobiliare.it Scraper](https://apify.com/lentic_clockss/immobiliare-property-scraper)
- [ImmoScout24 Scraper](https://apify.com/lentic_clockss/immobilienscout24-scraper)
- [Naver Land Scraper](https://apify.com/lentic_clockss/naver-land-scraper)
- [OpenSooq Scraper](https://apify.com/lentic_clockss/opensooq-real-estate-scraper)
- [Otodom Scraper](https://apify.com/lentic_clockss/otodom-scraper)
- [Property Finder Scraper](https://apify.com/lentic_clockss/property-finder-uae-scraper)
- [PropertyGuru Scraper](https://apify.com/lentic_clockss/propertyguru-sg-scraper)
- [realestate.com.au Scraper](https://apify.com/lentic_clockss/realestate-com-au-scraper)
- [Realtor.ca Scraper](https://apify.com/lentic_clockss/realtor-ca-scraper)
- [Rightmove Scraper](https://apify.com/lentic_clockss/rightmove-property-scraper)
- [SeLoger Scraper](https://apify.com/lentic_clockss/seloger-property-scraper)
- [SUUMO Scraper](https://apify.com/lentic_clockss/suumo-property-scraper)
- [Zillow Group Scraper](https://apify.com/lentic_clockss/zillow-group-scraper)

#### E-commerce

- [Shopee Search Scraper](https://apify.com/lentic_clockss/shopee-search-scraper)
- [E-commerce Scraper](https://apify.com/lentic_clockss/ecommerce-scraper)
- [1688 Global Product Search Scraper](https://apify.com/lentic_clockss/1688-global-scraper)
- [Allegro Scraper](https://apify.com/lentic_clockss/allegro-scraper)
- [Amazon Search Scraper](https://apify.com/lentic_clockss/amazon-search-results-collector)
- [ASOS Product Scraper](https://apify.com/lentic_clockss/asos-scraper)
- [Cdiscount Product Scraper](https://apify.com/lentic_clockss/cdiscount-scraper)
- [Costco Product Scraper](https://apify.com/lentic_clockss/costco-scraper)
- [Coupang Product Scraper](https://apify.com/lentic_clockss/coupang-scraper)
- [Etsy Scraper](https://apify.com/lentic_clockss/etsy-scraper)
- [Lazada Scraper](https://apify.com/lentic_clockss/lazada-ph-search-results-collector)
- [MercadoLibre Scraper](https://apify.com/lentic_clockss/mercadolibre-scraper)
- [Mercari Japan Scraper](https://apify.com/lentic_clockss/mercari-scraper)
- [Rakuten Japan Scraper](https://apify.com/lentic_clockss/rakuten-scraper)
- [SHEIN Product Scraper](https://apify.com/lentic_clockss/shein-scraper)
- [Target Product Scraper](https://apify.com/lentic_clockss/target-scraper)
- [Temu Product Scraper](https://apify.com/lentic_clockss/temu-scraper)
- [Walmart Product Scraper](https://apify.com/lentic_clockss/walmart-scraper)

#### Travel & Stays

- [Booking.com & Airbnb Scraper](https://apify.com/lentic_clockss/booking-airbnb-scraper)
- [Agoda Scraper](https://apify.com/lentic_clockss/agoda-scraper)
- [Airbnb Listings Scraper](https://apify.com/lentic_clockss/airbnb-listings-scraper)
- [Booking.com Hotels Scraper](https://apify.com/lentic_clockss/booking-hotels-scraper)
- [Despegar Scraper](https://apify.com/lentic_clockss/despegar-scraper)
- [Expedia Scraper](https://apify.com/lentic_clockss/expedia-scraper)
- [Traveloka Scraper](https://apify.com/lentic_clockss/traveloka-scraper)
- [Travelstart Flights Scraper](https://apify.com/lentic_clockss/travelstart-scraper)
- [Trip.com Scraper](https://apify.com/lentic_clockss/trip-com-scraper)
- [TripAdvisor Scraper](https://apify.com/lentic_clockss/tripadvisor-scraper)

#### Social & Content

- [TikTok Scraper](https://apify.com/lentic_clockss/tiktok-scraper)
- [Reddit Scraper](https://apify.com/lentic_clockss/reddit-scraper)
- [YouTube Shorts Scraper](https://apify.com/lentic_clockss/youtube-shorts-scraper)
- [YouTube Research Scraper](https://apify.com/lentic_clockss/youtube-research-scraper)
- [Hacker News Scraper](https://apify.com/lentic_clockss/hacker-news-scraper)

#### Ads Intelligence

- [Facebook Ad Library Scraper](https://apify.com/lentic_clockss/facebook-ad-library-scraper)
- [Google Ads Transparency VN](https://apify.com/lentic_clockss/google-ads-transparency-center-vn)
- [TikTok Ads Scraper](https://apify.com/lentic_clockss/tiktok-ads-top-ads-actor)

#### Local & Maps

- [Google Maps Scraper](https://apify.com/lentic_clockss/google-maps-scraper)

#### General Tools

- [Stealth Web Scraper](https://apify.com/lentic_clockss/stealth-web-scraper)
- [Email Risk Validator](https://apify.com/lentic_clockss/email-risk-validator)
- [Phone Number Intelligence](https://apify.com/lentic_clockss/phone-number-intelligence)

→ Browse the full profile: [apify.com/lentic\_clockss](https://apify.com/lentic_clockss)

# Actor input Schema

## `location` (type: `string`):

US city/state, ZIP, county, or neighborhood (e.g. 'Austin, TX', '78701', 'Travis County, TX').

## `locations` (type: `array`):

Optional additional US locations in the same run.

## `brand` (type: `string`):

Zillow Group brand. 'all' fans out to supported brand×channel combos.

## `channel` (type: `string`):

Explicit channel. When set, overrides listingType. HotPads supports rent only; new\_homes/building/zestimate/mortgage are Zillow-primary.

## `listingType` (type: `string`):

Used when channel is empty. Supports sale/rent/sold/both/all plus specialty aliases.

## `geoType` (type: `string`):

Optional hint for location shape. auto is recommended.

## `includeRaw` (type: `boolean`):

When true, each row includes a raw object with upstream list/detail payload.

## `propertyTypes` (type: `array`):

Optional: house, condo, townhouse, apartment, land, multi\_family, manufactured, coop.

## `saleStatuses` (type: `array`):

Optional sale sub-status filters: coming\_soon, new\_construction, fsbo, foreclosure, auction.

## `minBeds` (type: `integer`):

Minimum bedrooms filter. Leave empty for no minimum.

## `maxBeds` (type: `integer`):

Maximum bedrooms filter. Leave empty for no maximum.

## `minBaths` (type: `number`):

Minimum bathrooms filter. Leave empty for no minimum.

## `maxBaths` (type: `number`):

Maximum bathrooms filter. Leave empty for no maximum.

## `minPrice` (type: `integer`):

Minimum list price in USD. Leave empty for no minimum.

## `maxPrice` (type: `integer`):

Maximum list price in USD. Leave empty for no maximum.

## `minSqft` (type: `integer`):

Minimum living area in square feet.

## `maxSqft` (type: `integer`):

Maximum living area in square feet.

## `minLotSqft` (type: `integer`):

Minimum lot size in square feet.

## `maxLotSqft` (type: `integer`):

Maximum lot size in square feet.

## `minYearBuilt` (type: `integer`):

Minimum year built filter.

## `maxYearBuilt` (type: `integer`):

Maximum year built filter.

## `maxHoa` (type: `integer`):

Maximum monthly HOA fee in USD.

## `maxDaysOnMarket` (type: `integer`):

Only include listings on market for at most this many days.

## `maxResults` (type: `integer`):

Maximum listings this run (1–500). Free Apify plan users are limited to 500 results per run and 10 total runs of this Actor — limits set by the Actor developer.

## `maxPages` (type: `integer`):

Maximum search result pages to crawl per location/channel.

## `enrichDetails` (type: `boolean`):

When true, fetch listing detail pages for richer fields (slower, more cost).

## `expandUnits` (type: `boolean`):

For channel=building, also emit unit rows when available.

## `loanAmount` (type: `integer`):

Optional loan amount for mortgage-channel rate lookups.

## `creditBand` (type: `string`):

Optional credit score band for mortgage-channel lookups.

## `ltv` (type: `number`):

Optional loan-to-value percent for mortgage-channel lookups.

## `loanType` (type: `string`):

Optional loan type for mortgage-channel lookups (e.g. conventional, FHA).

## `detailUrls` (type: `array`):

zillow.com / trulia.com / hotpads.com URLs. When set, location search is skipped.

## `failover` (type: `boolean`):

When true, try alternate unlock providers if the primary path fails.

## `workerBaseUrl` (type: `string`):

Override the Cloud Run worker origin for this run. Defaults to Actor env WORKER\_BASE\_URL. Use when testing a staging worker; production migrations should update WORKER\_BASE\_URL in Actor settings (no code change).

## `proxyConfiguration` (type: `object`):

Apify RESIDENTIAL when the Actor mints proxyUrl. Ignored when Actor env WORKER\_PROVIDES\_PROXY=1 (worker uses its own PROXY\_URL).

## Actor input object example

```json
{
  "location": "Austin, TX",
  "locations": [],
  "brand": "zillow",
  "channel": "",
  "listingType": "sale",
  "geoType": "auto",
  "includeRaw": true,
  "propertyTypes": [],
  "saleStatuses": [],
  "maxResults": 5,
  "maxPages": 1,
  "enrichDetails": false,
  "expandUnits": false,
  "detailUrls": [],
  "failover": true,
  "workerBaseUrl": "",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}
```

# Actor output Schema

## `listings` (type: `string`):

Normalized Zillow Group records.

## `runSummary` (type: `string`):

Run outcome summary.

## `inputEcho` (type: `string`):

Normalized non-secret input.

## `errorSummary` (type: `string`):

Structured failure details.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "location": "Austin, TX",
    "locations": [],
    "brand": "zillow",
    "channel": "",
    "listingType": "sale",
    "geoType": "auto",
    "includeRaw": true,
    "propertyTypes": [],
    "saleStatuses": [],
    "maxResults": 5,
    "maxPages": 1,
    "enrichDetails": false,
    "expandUnits": false,
    "detailUrls": [],
    "failover": true,
    "workerBaseUrl": "",
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "US"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("lentic_clockss/zillow-group-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "location": "Austin, TX",
    "locations": [],
    "brand": "zillow",
    "channel": "",
    "listingType": "sale",
    "geoType": "auto",
    "includeRaw": True,
    "propertyTypes": [],
    "saleStatuses": [],
    "maxResults": 5,
    "maxPages": 1,
    "enrichDetails": False,
    "expandUnits": False,
    "detailUrls": [],
    "failover": True,
    "workerBaseUrl": "",
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "US",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("lentic_clockss/zillow-group-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "location": "Austin, TX",
  "locations": [],
  "brand": "zillow",
  "channel": "",
  "listingType": "sale",
  "geoType": "auto",
  "includeRaw": true,
  "propertyTypes": [],
  "saleStatuses": [],
  "maxResults": 5,
  "maxPages": 1,
  "enrichDetails": false,
  "expandUnits": false,
  "detailUrls": [],
  "failover": true,
  "workerBaseUrl": "",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}' |
apify call lentic_clockss/zillow-group-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=lentic_clockss/zillow-group-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Zillow Group Scraper | Zillow Trulia HotPads API",
        "description": "Scrape US Zillow, Trulia, and HotPads listings plus New Homes, buildings, Zestimate, and mortgage rates. Extract prices, beds, baths, photos, zestimate & URLs — Zillow Group API alternative.",
        "version": "0.3",
        "x-build-id": "VG6p2q2OWc6iLLQkX"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/lentic_clockss~zillow-group-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-lentic_clockss-zillow-group-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/lentic_clockss~zillow-group-scraper/runs": {
            "post": {
                "operationId": "runs-sync-lentic_clockss-zillow-group-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/lentic_clockss~zillow-group-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-lentic_clockss-zillow-group-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "location"
                ],
                "properties": {
                    "location": {
                        "title": "Location",
                        "maxLength": 160,
                        "type": "string",
                        "description": "US city/state, ZIP, county, or neighborhood (e.g. 'Austin, TX', '78701', 'Travis County, TX').",
                        "default": "Austin, TX"
                    },
                    "locations": {
                        "title": "Extra locations",
                        "type": "array",
                        "description": "Optional additional US locations in the same run.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "brand": {
                        "title": "Brand",
                        "enum": [
                            "zillow",
                            "trulia",
                            "hotpads",
                            "all"
                        ],
                        "type": "string",
                        "description": "Zillow Group brand. 'all' fans out to supported brand×channel combos.",
                        "default": "zillow"
                    },
                    "channel": {
                        "title": "Channel",
                        "enum": [
                            "",
                            "sale",
                            "rent",
                            "sold",
                            "new_homes",
                            "building",
                            "zestimate",
                            "mortgage"
                        ],
                        "type": "string",
                        "description": "Explicit channel. When set, overrides listingType. HotPads supports rent only; new_homes/building/zestimate/mortgage are Zillow-primary.",
                        "default": ""
                    },
                    "listingType": {
                        "title": "Listing type (legacy)",
                        "enum": [
                            "sale",
                            "rent",
                            "sold",
                            "both",
                            "all",
                            "new_homes",
                            "building",
                            "zestimate",
                            "mortgage"
                        ],
                        "type": "string",
                        "description": "Used when channel is empty. Supports sale/rent/sold/both/all plus specialty aliases.",
                        "default": "sale"
                    },
                    "geoType": {
                        "title": "Geo type hint",
                        "enum": [
                            "auto",
                            "city",
                            "zip",
                            "county",
                            "neighborhood",
                            "state"
                        ],
                        "type": "string",
                        "description": "Optional hint for location shape. auto is recommended.",
                        "default": "auto"
                    },
                    "includeRaw": {
                        "title": "Include raw payload",
                        "type": "boolean",
                        "description": "When true, each row includes a raw object with upstream list/detail payload.",
                        "default": true
                    },
                    "propertyTypes": {
                        "title": "Property types",
                        "type": "array",
                        "description": "Optional: house, condo, townhouse, apartment, land, multi_family, manufactured, coop.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "saleStatuses": {
                        "title": "Sale statuses",
                        "type": "array",
                        "description": "Optional sale sub-status filters: coming_soon, new_construction, fsbo, foreclosure, auction.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "minBeds": {
                        "title": "Min bedrooms",
                        "minimum": 0,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Minimum bedrooms filter. Leave empty for no minimum."
                    },
                    "maxBeds": {
                        "title": "Max bedrooms",
                        "minimum": 0,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Maximum bedrooms filter. Leave empty for no maximum."
                    },
                    "minBaths": {
                        "title": "Min bathrooms",
                        "minimum": 0,
                        "maximum": 20,
                        "type": "number",
                        "description": "Minimum bathrooms filter. Leave empty for no minimum."
                    },
                    "maxBaths": {
                        "title": "Max bathrooms",
                        "minimum": 0,
                        "maximum": 20,
                        "type": "number",
                        "description": "Maximum bathrooms filter. Leave empty for no maximum."
                    },
                    "minPrice": {
                        "title": "Min price (USD)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Minimum list price in USD. Leave empty for no minimum."
                    },
                    "maxPrice": {
                        "title": "Max price (USD)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum list price in USD. Leave empty for no maximum."
                    },
                    "minSqft": {
                        "title": "Min sqft",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Minimum living area in square feet."
                    },
                    "maxSqft": {
                        "title": "Max sqft",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum living area in square feet."
                    },
                    "minLotSqft": {
                        "title": "Min lot sqft",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Minimum lot size in square feet."
                    },
                    "maxLotSqft": {
                        "title": "Max lot sqft",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum lot size in square feet."
                    },
                    "minYearBuilt": {
                        "title": "Min year built",
                        "minimum": 1800,
                        "maximum": 2100,
                        "type": "integer",
                        "description": "Minimum year built filter."
                    },
                    "maxYearBuilt": {
                        "title": "Max year built",
                        "minimum": 1800,
                        "maximum": 2100,
                        "type": "integer",
                        "description": "Maximum year built filter."
                    },
                    "maxHoa": {
                        "title": "Max HOA",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum monthly HOA fee in USD."
                    },
                    "maxDaysOnMarket": {
                        "title": "Max days on market",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Only include listings on market for at most this many days."
                    },
                    "maxResults": {
                        "title": "Max results (max 500; free users capped at 500/run)",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Maximum listings this run (1–500). Free Apify plan users are limited to 500 results per run and 10 total runs of this Actor — limits set by the Actor developer.",
                        "default": 40
                    },
                    "maxPages": {
                        "title": "Max pages",
                        "minimum": 1,
                        "maximum": 50,
                        "type": "integer",
                        "description": "Maximum search result pages to crawl per location/channel.",
                        "default": 20
                    },
                    "enrichDetails": {
                        "title": "Enrich from detail pages",
                        "type": "boolean",
                        "description": "When true, fetch listing detail pages for richer fields (slower, more cost).",
                        "default": false
                    },
                    "expandUnits": {
                        "title": "Expand building units",
                        "type": "boolean",
                        "description": "For channel=building, also emit unit rows when available.",
                        "default": false
                    },
                    "loanAmount": {
                        "title": "Loan amount (mortgage)",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Optional loan amount for mortgage-channel rate lookups."
                    },
                    "creditBand": {
                        "title": "Credit band (mortgage)",
                        "type": "string",
                        "description": "Optional credit score band for mortgage-channel lookups."
                    },
                    "ltv": {
                        "title": "LTV % (mortgage)",
                        "minimum": 0,
                        "maximum": 100,
                        "type": "number",
                        "description": "Optional loan-to-value percent for mortgage-channel lookups."
                    },
                    "loanType": {
                        "title": "Loan type (mortgage)",
                        "type": "string",
                        "description": "Optional loan type for mortgage-channel lookups (e.g. conventional, FHA)."
                    },
                    "detailUrls": {
                        "title": "Detail URLs (optional)",
                        "type": "array",
                        "description": "zillow.com / trulia.com / hotpads.com URLs. When set, location search is skipped.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "failover": {
                        "title": "Provider failover",
                        "type": "boolean",
                        "description": "When true, try alternate unlock providers if the primary path fails.",
                        "default": true
                    },
                    "workerBaseUrl": {
                        "title": "Worker base URL (optional)",
                        "type": "string",
                        "description": "Override the Cloud Run worker origin for this run. Defaults to Actor env WORKER_BASE_URL. Use when testing a staging worker; production migrations should update WORKER_BASE_URL in Actor settings (no code change).",
                        "default": ""
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Apify RESIDENTIAL when the Actor mints proxyUrl. Ignored when Actor env WORKER_PROVIDES_PROXY=1 (worker uses its own PROXY_URL)."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
