# Zillow Search by Coordinates Scraper (`axesso_data/zillow-search-by-coordinates-scraper`) Actor

The Zillow Search by Coordinates Scraper retrieves real-time property listings within a radius of any latitude and longitude point. Filter by price, beds, baths, home type, and status to collect structured listing data for real estate research and lead generation.

- **URL**: https://apify.com/axesso\_data/zillow-search-by-coordinates-scraper.md
- **Developed by:** [AxCrawler](https://apify.com/axesso_data) (community)
- **Categories:** Real estate
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.15 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

### How does Zillow Search by Coordinates Scraper work?

The Zillow Search by Coordinates Scraper retrieves real-time property listings located within a specified radius of a given latitude and longitude point. The data extracted includes property attributes such as address, price, number of bedrooms and bathrooms, living area, home type, listing status, and Zestimate, among other relevant real estate details.

This Actor performs live queries directly to Zillow, ensuring that all data returned is current and accurate at the time of the request. There is no caching involved, so every invocation retrieves fresh data.

The extraction process involves receiving input parameters for one or more coordinate-based searches, executing the data retrieval for each search, and returning structured JSON output containing the matching property listings.

### Input data

Input data must be provided in JSON format and must contain one mandatory array field "input". Each item in the array represents a coordinate-based search request and can include the following fields:

| Parameter | Required | Type | Description |
|---|---|---|---|
| `lat` | Yes | number | Latitude of the search center point, e.g. 34.01822. |
| `long` | Yes | number | Longitude of the search center point, e.g. -118.504744. |
| `d` | Yes | number | Diameter of the search radius in miles, e.g. 0.1. |
| `price_min` | No | number | Minimum price filter for the properties returned. |
| `price_max` | No | number | Maximum price filter for the properties returned. |
| `beds_min` | No | number | Minimum number of bedrooms filter. |
| `beds_max` | No | number | Maximum number of bedrooms filter. |
| `baths_min` | No | number | Minimum number of bathrooms filter. |
| `baths_max` | No | number | Maximum number of bathrooms filter. |
| `sqft_min` | No | number | Minimum living area (square feet) filter. |
| `sqft_max` | No | number | Maximum living area (square feet) filter. |
| `built_min` | No | number | Minimum year built filter. |
| `built_max` | No | string | Maximum year built filter. |
| `hoa_min` | No | number | Minimum HOA fee filter. |
| `hoa_max` | No | number | Maximum HOA fee filter. |
| `monthlyPayment_min` | No | number | Minimum estimated monthly payment filter. |
| `monthlyPayment_max` | No | number | Maximum estimated monthly payment filter. |
| `greatSchoolsRating_min` | No | number | Minimum GreatSchools rating filter for nearby schools. |
| `status` | No | string | Status type of the properties to search for. Possible values: `forSale` (default), `forRent`, `recentlySold`. |
| `listing_type` | No | string | Listing type. Possible values: `By agent` (default), `By owner & other` (for off market properties). |
| `sort` | No | string | Sorting order of the results. Possible values: `priorityscore` (default), `saved`, `listingstatus`, `mostrecentchange`, `globalrelevanceex`, `featured`, `priced`, `pricea`, `paymentd`, `paymenta`, `days`, `beds`, `baths`, `size`, `lot`, `zest`, `zesta`. |
| `doz` | No | string | Days on Zillow filter. Possible values: `any`, `1`, `7`, `14`, `30`, `90`, `6m`, `12m`, `24m`, `36m`. |
| `page` | No | number | Page number of the results to retrieve. |
| `output` | No | string | Output format of the response. Possible values: `json` (default), `csv`, `xlsx`. |
| `keywords` | No | string | Free-text keyword filter applied to the search. |
| `enableSchools` | No | boolean | Whether to include nearby school information in the results. |
| `isSingleFamily` | No | boolean | Filter for single-family homes. |
| `isCondo` | No | boolean | Filter for condominiums. |
| `isTownhouse` | No | boolean | Filter for townhouses. |
| `isMultiFamily` | No | boolean | Filter for multi-family properties. |
| `isApartment` | No | boolean | Filter for apartments. |
| `isManufactured` | No | boolean | Filter for manufactured homes. |
| `isLotLand` | No | boolean | Filter for lot/land properties. |
| `isAuction` | No | boolean | Filter for properties listed as auctions. |
| `hasAirConditioning` | No | boolean | Filter for properties with air conditioning. |
| `hasGarage` | No | boolean | Filter for properties with a garage. |
| `hasPool` | No | boolean | Filter for properties with a pool. |
| `isWaterfront` | No | boolean | Filter for waterfront properties. |
| `isWaterView` | No | boolean | Filter for properties with a water view. |
| `isMountainView` | No | boolean | Filter for properties with a mountain view. |
| `isCityView` | No | boolean | Filter for properties with a city view. |
| `isParkView` | No | boolean | Filter for properties with a park view. |
| `is3dHome` | No | boolean | Filter for listings with a 3D home tour. |
| `singleStory` | No | boolean | Filter for single-story properties. |
| `isNewConstruction` | No | boolean | Filter for new construction properties. |
| `isComingSoon` | No | boolean | Filter for coming-soon listings. |
| `onlyWithPhotos` | No | boolean | Filter to only include listings that have photos. |
| `onlyPriceReduction` | No | boolean | Filter to only include listings with a recent price reduction. |
| `isZillowOwnedOnly` | No | boolean | Filter to only include Zillow-owned properties. |
| `isForSaleByOwner` | No | boolean | Filter for properties for sale by owner. |
| `isForSaleByAgent` | No | boolean | Filter for properties for sale by agent. |
| `isForSaleForeclosure` | No | boolean | Filter for foreclosure listings. |
| `isElementarySchool` | No | boolean | Filter results by proximity to elementary schools. |
| `isMiddleSchool` | No | boolean | Filter results by proximity to middle schools. |
| `isPublicSchool` | No | boolean | Filter results by proximity to public schools. |
| `isPrivateSchool` | No | boolean | Filter results by proximity to private schools. |
| `onlyRentalAcceptsApplications` | No | boolean | Filter for rentals currently accepting applications. |
| `onlyRentalPetsAllowed` | No | boolean | Filter for rentals that allow pets. |
| `onlyRentalCatsAllowed` | No | boolean | Filter for rentals that allow cats. |
| `onlyRentalSmallDogsAllowed` | No | boolean | Filter for rentals that allow small dogs. |
| `onlyRentalLargeDogsAllowed` | No | boolean | Filter for rentals that allow large dogs. |
| `onlyRentalIncomeRestricted` | No | boolean | Filter for income-restricted rentals. |

Multiple coordinate searches can be executed in a single run by providing multiple entries in the "input" array.

#### Example input

```json
{
  "input": [
    {
      "lat": 34.01822,
      "long": -118.504744,
      "d": 0.5,
      "status": "forSale",
      "price_max": 1000000,
      "output": "json"
    },
    {
      "lat": 40.712776,
      "long": -74.005974,
      "d": 1,
      "status": "forRent",
      "beds_min": 2,
      "sort": "priced"
    }
  ]
}
```

### Output data

```json
{
  "results": [
    {
      "zpid": 20485843,
      "streetAddress": "966 Palisades Beach Rd",
      "city": "Santa Monica",
      "state": "CA",
      "zipcode": "90403",
      "country": "USA",
      "currency": "USD",
      "latitude": 34.018696,
      "longitude": -118.50533,
      "price": 22000000,
      "bedrooms": 5,
      "bathrooms": 8,
      "livingArea": 6647,
      "lotAreaValue": 5471.136,
      "lotAreaUnit": "sqft",
      "homeType": "SINGLE_FAMILY",
      "homeStatus": "FOR_SALE",
      "daysOnZillow": -1,
      "isFeatured": false,
      "isZillowOwned": false,
      "zestimate": 20568900,
      "rentZestimate": 38658,
      "taxAssessedValue": 5963020,
      "imgSrc": "https://photos.zillowstatic.com/fp/cb6543a9d6cf02c8cc36d6242c9ec446-p_e.jpg"
    }
  ],
  "resultsPerPage": 41,
  "totalPages": 1,
  "totalResultCount": 1
}
```

### How much does Zillow Search by Coordinates Scraper cost?

The cost of using this Actor depends on the volume of data retrieved and the number of coordinate-based search requests made. It is recommended to execute a test run with a small sample input to estimate the cost applicable for your use case before scaling up your usage.

### What to consider when using this Actor?

This Actor integrates the full lifecycle of web data extraction ensuring stability and reliability:

1. **Proxy Rotation:** Uses a large proxy pool to avoid blocks by Zillow, ensuring smooth data retrieval.

2. **Geo Targeting:** Determines appropriate proxy location based on the provided coordinates to minimize geo-restriction issues.

3. **Captcha and Blocking Handling:** Automatically manages captchas or temporary access blocks without user intervention.

4. **Stability and Reliability:** Designed to handle large scale requests with error handling and retries for consistent and dependable operation.

### More Zillow Actors by Axesso

Looking for a different slice of Zillow data? Axesso offers a full suite of real-time Zillow Actors - each one dedicated to a specific endpoint:

| Actor | What it does |
|---|---|
| [Zillow Accessibility Scores Scraper](https://apify.com/axesso_data/zillow-accessibility-scores-scraper) | The Zillow Accessibility Scores Scraper retrieves real-time walk, transit, and bike scores for any property listed on Zillow using ZPID ... |
| [Zillow Market Data Scraper](https://apify.com/axesso_data/zillow-market-data-scraper) | The Zillow Market Data Scraper retrieves real-time rental market data for any city, neighborhood, or ZIP code on Zillow, including ... |
| [Zillow Nearby Schools Scraper](https://apify.com/axesso_data/zillow-nearby-schools-scraper) | The Zillow Nearby Schools Scraper retrieves real-time data on schools near any property listed on Zillow using ZPID or URL. |
| [Zillow Price and Tax History Scraper](https://apify.com/axesso_data/zillow-price-tax-history-scraper) | The Zillow Price and Tax History Scraper retrieves real-time price and tax history for any property listed on Zillow using ZPID or URL. |
| [Zillow Property Details Scraper V2](https://apify.com/axesso_data/zillow-property-details-scraper-v2) | The Zillow Property Details Scraper V2 fetches detailed, real-time property data by ZPID or URL from Zillow. |
| [Zillow Property Photos Scraper](https://apify.com/axesso_data/zillow-property-photos-scraper) | The Zillow Property Photos Scraper retrieves real-time photo galleries for any property listed on Zillow using ZPID or URL. |
| [Zillow Property Search Scraper](https://apify.com/axesso_data/zillow-property-search-scraper) | The Zillow Property Search Scraper returns real-time listings by neighborhood, city, or ZIP code. |
| [Zillow Rent Estimate Scraper](https://apify.com/axesso_data/zillow-rent-estimate-scraper) | The Zillow Rent Estimate Scraper retrieves real-time rent zestimates, market summaries, and comparable rental floorplans for any ... |
| [Zillow Search by Address Scraper](https://apify.com/axesso_data/zillow-search-by-address-scraper) | The Zillow Search by Address Scraper retrieves real-time property data by address from Zillow, providing accurate details including ... |
| [Zillow Search by MLS Scraper](https://apify.com/axesso_data/zillow-search-by-mls-scraper) | The Zillow Search by MLS Scraper retrieves real-time property listings by MLS number from Zillow, returning matching addresses and ZPIDs. |
| [Zillow Search by Polygon Scraper](https://apify.com/axesso_data/zillow-search-by-polygon-scraper) | The Zillow Search by Polygon Scraper retrieves real-time property listings within a custom map area defined by polygon coordinates. |
| [Zillow Similar Properties Scraper](https://apify.com/axesso_data/zillow-similar-properties-scraper) | The Zillow Similar Properties Scraper retrieves real-time listings of comparable homes for sale near any property on Zillow using ... |
| [Zillow Similar Rental Properties Scraper](https://apify.com/axesso_data/zillow-similar-rental-properties-scraper) | The Zillow Similar Rental Properties Scraper retrieves real-time listings of comparable rental homes near any property on Zillow using ... |
| [Zillow Similar Sold Properties Scraper](https://apify.com/axesso_data/zillow-similar-sold-properties-scraper) | The Zillow Similar Sold Properties Scraper retrieves real-time data on recently sold comparable homes near any property on Zillow using ... |
| [Zillow Zestimate History Scraper](https://apify.com/axesso_data/zillow-zestimate-history-scraper) | The Zillow Zestimate History Scraper retrieves historical Zestimate value estimates for any property listed on Zillow using ZPID or URL. |

All Axesso Actors are built and maintained to the same standards: real-time data without caching, high availability and active maintenance, consistent input patterns, and responsive support when you need help. If you are missing a specific endpoint, reach out - the portfolio is continuously growing.

### Where else you can find Axesso - Data Service solutions?

Axesso provides APIs and Actors through its own [API Portal](https://axesso.developer.azure-api.net/apis) and on [RapidAPI](https://rapidapi.com/search?term=axesso\&sortBy=ByRelevance). Axesso has a proven track record delivering stable services to thousands of subscribers over a period exceeding five years.

- **Direct API access**: You can also consume the same real-time Zillow data directly via the [Axesso Zillow API](https://axesso.de/zillow-api/) - ideal for high-volume or backend integrations.

### Use cases for our Axesso Actors

1. **Market Research:** Gather detailed property listing data for a specific area to support analysis and decision-making.

2. **Price Monitoring:** Track price changes and listing status for properties within a target radius.

3. **Inventory Management:** Automate the collection of property listings and status by geographic area.

4. **Property Valuation:** Use Zestimates and pricing data from nearby listings to assess property values.

5. **Agent Insights:** Retrieve listing data to identify agent and brokerage activity within a coordinate radius.

6. **Content Aggregation:** Collect property data for real estate websites or applications based on location.

7. **Lead Generation:** Extract property listings within a target area for buyer or seller outreach.

8. **Competitive Analysis:** Monitor market trends and competitor listings around specific coordinates.

9. **Data Enrichment:** Enhance existing real estate databases with live, location-based property data.

# Actor input Schema

## `input` (type: `array`):

List of inputs, each entry refers to one request to be executed. Full list of valid parameters can be found in the README tab.

## `maxConcurrency` (type: `integer`):

Maximum number of requests executed in parallel. Defaults to 3.

## Actor input object example

```json
{
  "input": [
    {
      "lat": 34.01822,
      "long": -118.504744,
      "d": 0.5,
      "status": "forSale",
      "price_max": 1000000,
      "output": "json"
    },
    {
      "lat": 40.712776,
      "long": -74.005974,
      "d": 1,
      "status": "forRent",
      "beds_min": 2,
      "sort": "priced"
    }
  ],
  "maxConcurrency": 3
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# 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 = {
    "input": [
        {
            "lat": 34.01822,
            "long": -118.504744,
            "d": 0.5,
            "status": "forSale",
            "price_max": 1000000,
            "output": "json"
        },
        {
            "lat": 40.712776,
            "long": -74.005974,
            "d": 1,
            "status": "forRent",
            "beds_min": 2,
            "sort": "priced"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("axesso_data/zillow-search-by-coordinates-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 = { "input": [
        {
            "lat": 34.01822,
            "long": -118.504744,
            "d": 0.5,
            "status": "forSale",
            "price_max": 1000000,
            "output": "json",
        },
        {
            "lat": 40.712776,
            "long": -74.005974,
            "d": 1,
            "status": "forRent",
            "beds_min": 2,
            "sort": "priced",
        },
    ] }

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

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

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

```

## CLI example

```bash
echo '{
  "input": [
    {
      "lat": 34.01822,
      "long": -118.504744,
      "d": 0.5,
      "status": "forSale",
      "price_max": 1000000,
      "output": "json"
    },
    {
      "lat": 40.712776,
      "long": -74.005974,
      "d": 1,
      "status": "forRent",
      "beds_min": 2,
      "sort": "priced"
    }
  ]
}' |
apify call axesso_data/zillow-search-by-coordinates-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,axesso_data/zillow-search-by-coordinates-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/O6FjRq2jMyTNIR8ym/builds/n5TKQ6UMzk6RD4ruW/openapi.json
