# EstateSales.net Estate & Moving Sale Listings Scraper (`crawlerbros/estatesalesnet-scraper`) Actor

Scrape EstateSales.net - search estate, moving, and auction sale listings by US state, city or ZIP code, filter by real sale type and date range, or pull the site's nationally-featured sales.

- **URL**: https://apify.com/crawlerbros/estatesalesnet-scraper.md
- **Developed by:** [Crawler Bros](https://apify.com/crawlerbros) (community)
- **Categories:** Real estate, Automation, Agents
- **Stats:** 1 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.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.
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 a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.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/platform/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

## EstateSales.net Scraper

Scrape **EstateSales.net** — the largest directory of estate sales, moving sales, and auctions across the US. Search by state, city, or ZIP code, filter by the site's real sale-type taxonomy (estate sales, auctions, moving sales, online-only auctions, and more), filter by date range, or pull the site's nationally-featured sales. No login, no API key.

### What this actor does

- **Two modes:** `search` (state / city / ZIP) and `nationallyFeatured` (curated cross-country list, no location required)
- **16 real sale types** — the site's own taxonomy, from "Estate Sales" to "Online-Only Auctions"
- **Date-range filtering** — only return sales active within a given window
- **All 50 US states + DC**
- **Empty fields are omitted** — every record only contains what EstateSales.net actually published for that sale

### Output per sale listing

- `saleId` — EstateSales.net's internal sale ID
- `title` — sale title
- `description` — full sale description
- `saleTypeName` — real sale-type category (Estate Sales, Moving Sales, Auctions, etc.)
- `startDate`, `endDate` — sale date range (`YYYY-MM-DD`)
- `startDateTime`, `endDateTime` — full local start/end timestamps
- `lengthInDays` — how many days the sale runs
- `sessions[]` — per-day date/start-time/end-time breakdown, for multi-day sales
- `statusMessage` — human-readable status (e.g. "starts today!")
- `terms` — the seller's stated payment/sale terms
- `auctionUrl` — link to the external auction platform, for auction-hosted sales
- `videoUrl` — walkthrough video link, when the seller provided one
- `isMarketplaceSale` — true for EstateSales.net's own online marketplace/bidding sales
- `city`, `state`, `zipCode` — sale location
- `address` — street address, only once the seller has made it public
- `latitude`, `longitude` — coordinates, when published
- `sellerName`, `sellerPhone`, `sellerIsCompany` — seller/company contact info, when shown
- `photoCount` — number of photos in the sale's gallery
- `thumbnailUrl` — preview image
- `isFeatured` — true if locally, regionally, or nationally featured
- `sourceUrl` — canonical EstateSales.net listing URL
- `recordType: "estateSale"`, `scrapedAt`

### Input

| Field | Type | Default | Description |
|---|---|---|---|
| `mode` | string | `search` | `search` / `nationallyFeatured` |
| `state` | string | `CA` | 2-letter US state code (mode=search) |
| `city` | string | `Los Angeles` | City name within the state; leave blank to browse the whole state |
| `zipCode` | string | – | 5-digit ZIP; sorts results by distance (requires `city`) |
| `saleType` | string | `all` | One of the 16 real EstateSales.net sale-type categories |
| `dateFrom` | string | – | Only include sales active on/after this date (`YYYY-MM-DD`) |
| `dateTo` | string | – | Only include sales active on/before this date (`YYYY-MM-DD`) |
| `maxItems` | int | `20` | Hard cap on emitted listings (1–200) |
| `proxyConfiguration` | object | AUTO | Apify proxy configuration (optional; the site has no anti-bot protection) |

#### Example: browse a city

```json
{
  "mode": "search",
  "state": "CA",
  "city": "Los Angeles",
  "maxItems": 20
}
````

#### Example: estate sales near a ZIP code this weekend

```json
{
  "mode": "search",
  "state": "CA",
  "city": "Beverly Hills",
  "zipCode": "90210",
  "saleType": "estateSales",
  "dateFrom": "2026-07-04",
  "dateTo": "2026-07-05",
  "maxItems": 30
}
```

#### Example: browse an entire state

```json
{
  "mode": "search",
  "state": "TX",
  "maxItems": 50
}
```

#### Example: nationally-featured sales

```json
{
  "mode": "nationallyFeatured",
  "maxItems": 25
}
```

### Use cases

- **Estate-sale hunting** — find upcoming sales near you by city or ZIP
- **Auction discovery** — filter specifically for auctions or online-only auctions
- **Reseller sourcing** — track moving sales, buyouts, and liquidations for resale inventory
- **Market research** — monitor estate-sale company activity by state or metro area
- **Weekend planning** — filter by date range to find sales happening this weekend

### FAQ

**What is the data source?**
EstateSales.net, a public directory of estate sales, moving sales, and auctions across the US.

**Do I need an account?**
No. All listing data returned by this actor is publicly visible without logging in. EstateSales.net offers optional free registration for email alerts, which this actor does not use or require.

**Why do some listings have no address?**
Sellers can choose to reveal the exact address only after a set time (often the morning of the sale). Until then, `address` is omitted and only city/state/ZIP are available.

**What does searching by state only (no city) return?**
It browses across the state's metro areas, collecting sales from each until `maxItems` is reached — useful for a broad statewide sweep.

**How current is the data?**
Listings reflect what's live on EstateSales.net at the time the actor runs.

**Is this affiliated with EstateSales.net?**
No, this is an independent third-party actor that reads EstateSales.net's public pages.

**Can I combine sale type and date filters?**
Yes — `saleType`, `dateFrom`, and `dateTo` all combine with `state`/`city`/`zipCode` in `search` mode.

# Actor input Schema

## `mode` (type: `string`):

What to fetch.

## `state` (type: `string`):

Two-letter US state code to search within.

## `city` (type: `string`):

City name within the state. Leave blank to browse the whole state's metro areas.

## `zipCode` (type: `string`):

5-digit US ZIP code — sorts city results by distance from this ZIP. Requires `city` to also be set.

## `saleType` (type: `string`):

Filter to one of EstateSales.net's real sale-type categories.

## `dateFrom` (type: `string`):

Only include sales active on or after this date.

## `dateTo` (type: `string`):

Only include sales active on or before this date.

## `maxItems` (type: `integer`):

Hard cap on emitted sale listings.

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

Optional Apify proxy configuration (the free AUTO datacenter group works fine; the site has no anti-bot protection).

## Actor input object example

```json
{
  "mode": "search",
  "state": "CA",
  "city": "Los Angeles",
  "saleType": "all",
  "maxItems": 20,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `sales` (type: `string`):

Dataset containing all scraped EstateSales.net listings.

# 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 = {
    "mode": "search",
    "state": "CA",
    "city": "Los Angeles",
    "saleType": "all",
    "maxItems": 20,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("crawlerbros/estatesalesnet-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 = {
    "mode": "search",
    "state": "CA",
    "city": "Los Angeles",
    "saleType": "all",
    "maxItems": 20,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("crawlerbros/estatesalesnet-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 '{
  "mode": "search",
  "state": "CA",
  "city": "Los Angeles",
  "saleType": "all",
  "maxItems": 20,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call crawlerbros/estatesalesnet-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "EstateSales.net Estate & Moving Sale Listings Scraper",
        "description": "Scrape EstateSales.net - search estate, moving, and auction sale listings by US state, city or ZIP code, filter by real sale type and date range, or pull the site's nationally-featured sales.",
        "version": "1.0",
        "x-build-id": "qdKYjEWpXedS9qeAp"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/crawlerbros~estatesalesnet-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-crawlerbros-estatesalesnet-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/crawlerbros~estatesalesnet-scraper/runs": {
            "post": {
                "operationId": "runs-sync-crawlerbros-estatesalesnet-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/crawlerbros~estatesalesnet-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-crawlerbros-estatesalesnet-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": [
                    "mode"
                ],
                "properties": {
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "search",
                            "nationallyFeatured"
                        ],
                        "type": "string",
                        "description": "What to fetch.",
                        "default": "search"
                    },
                    "state": {
                        "title": "US State (mode=search)",
                        "enum": [
                            "AL",
                            "AK",
                            "AZ",
                            "AR",
                            "CA",
                            "CO",
                            "CT",
                            "DE",
                            "DC",
                            "FL",
                            "GA",
                            "HI",
                            "ID",
                            "IL",
                            "IN",
                            "IA",
                            "KS",
                            "KY",
                            "LA",
                            "ME",
                            "MD",
                            "MA",
                            "MI",
                            "MN",
                            "MS",
                            "MO",
                            "MT",
                            "NE",
                            "NV",
                            "NH",
                            "NJ",
                            "NM",
                            "NY",
                            "NC",
                            "ND",
                            "OH",
                            "OK",
                            "OR",
                            "PA",
                            "RI",
                            "SC",
                            "SD",
                            "TN",
                            "TX",
                            "UT",
                            "VT",
                            "VA",
                            "WA",
                            "WV",
                            "WI",
                            "WY"
                        ],
                        "type": "string",
                        "description": "Two-letter US state code to search within.",
                        "default": "CA"
                    },
                    "city": {
                        "title": "City (mode=search)",
                        "type": "string",
                        "description": "City name within the state. Leave blank to browse the whole state's metro areas.",
                        "default": "Los Angeles"
                    },
                    "zipCode": {
                        "title": "ZIP code (mode=search)",
                        "type": "string",
                        "description": "5-digit US ZIP code — sorts city results by distance from this ZIP. Requires `city` to also be set."
                    },
                    "saleType": {
                        "title": "Sale type",
                        "enum": [
                            "all",
                            "estateSales",
                            "auctions",
                            "movingSales",
                            "businessClosings",
                            "movedOffsiteToWarehouse",
                            "byAppointment",
                            "onlineOnlyAuctions",
                            "auctionHouse",
                            "movedOffsiteToStore",
                            "charitySales",
                            "outsideSales",
                            "singleItemTypeCollections",
                            "buyoutsOrCleanouts",
                            "demolitionSales",
                            "onlineEstateSales"
                        ],
                        "type": "string",
                        "description": "Filter to one of EstateSales.net's real sale-type categories.",
                        "default": "all"
                    },
                    "dateFrom": {
                        "title": "Sale date from (YYYY-MM-DD)",
                        "type": "string",
                        "description": "Only include sales active on or after this date."
                    },
                    "dateTo": {
                        "title": "Sale date to (YYYY-MM-DD)",
                        "type": "string",
                        "description": "Only include sales active on or before this date."
                    },
                    "maxItems": {
                        "title": "Max items",
                        "minimum": 1,
                        "maximum": 200,
                        "type": "integer",
                        "description": "Hard cap on emitted sale listings.",
                        "default": 20
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Optional Apify proxy configuration (the free AUTO datacenter group works fine; the site has no anti-bot protection).",
                        "default": {
                            "useApifyProxy": true
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
