# Auction.com Foreclosure Auction Sniper (`xtracto/auction-foreclosure-sniper`) Actor

Extract upcoming foreclosure and bank-owned auction listings from Auction.com -- address, asset type, estimated value, starting bid, auction schedule, and status.

- **URL**: https://apify.com/xtracto/auction-foreclosure-sniper.md
- **Developed by:** [Farhan Febrian Nauval](https://apify.com/xtracto) (community)
- **Categories:** Real estate, Lead generation
- **Stats:** 2 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.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/actors/running/actors-in-store.md#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

## Auction.com Foreclosure Auction Scraper

Pull upcoming foreclosure and bank-owned auction listings from Auction.com into a clean dataset — property address, asset type, estimated market value, starting bid, the full auction schedule, and live auction status.

Built for property flippers and distressed-asset investors who want to spot profitable foreclosures early, before they reach the traditional market.

### Why use this actor

- **No account, no login, no API key** required.
- **Every listing fully detailed** — address, county, asset type (foreclosure / bank-owned / private seller), estimated market value, beds/baths/sqft, and map coordinates.
- **Complete auction schedule** — start date, end date, online vs. in-person venue, and a human-readable status (e.g. "Cleared for Auction", "Auction in Progress", "Sale Pending").
- **Filter to exactly what you want** — by state, city, county, ZIP, keyword, asset type, occupancy, or price.
- **Stable JSON output** suitable for pipelines, spreadsheets, or a database — download as JSON, CSV, or Excel.
- **Automatic retries** keep long, multi-state runs flowing without manual babysitting.

### How it works

1. You choose what to collect — e.g. `{ "states": ["TX","FL"] }`, or narrow it with a city, ZIP, or price range. Leave it open for a nationwide pull.
2. The actor walks every page of matching auctions and reads each listing's full detail — address, asset type, estimated value, starting bid, and auction timing.
3. Results stream into your dataset in real time, ready to download as JSON, CSV, or Excel.

You don't manage any of the fetching, paging, or retrying — just set your search and press **Run**.

### Input

All fields are pre-filled in Apify Console, so you can press **Run** immediately.

```json
{
  "assetType": "residential",
  "states": ["TX"],
  "filters": { "city": "Austin", "occupancyStatus": "VACANT" },
  "maxItems": 100,
  "pageSize": 40,
  "maxConcurrency": 2,
  "proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "US" }
}
```

| Field | Type | Description |
|---|---|---|
| `assetType` | string | `"residential"` (default) or `"commercial"`. |
| `states` | array | 2-letter state codes to collect (e.g. `["TX","FL"]`). Empty = nationwide. |
| `filters` | object | Optional extra filters: `city`, `county`, `zip`, `search` (keyword), `assetType`, `propertyType`, `auctionFormat`, `listingType`, `occupancyStatus`, `sort`. |
| `maxItems` | integer | Soft cap on rows emitted. `0` = unlimited. Default `100`. |
| `pageSize` | integer | Listings fetched per request. Default `40`. |
| `maxPages` | integer | Safety ceiling on pages walked per state. Default `200`. |
| `maxConcurrency` | integer | Concurrent requests. Keep low (1–3). Default `2`. |
| `maxRetries` | integer | Retries per request before giving up. Default `5`. |
| `proxyConfiguration` | object | **Required.** Auction.com only serves clean residential addresses, so a US residential proxy must stay enabled. |

### Output

Real sample (one record, verbatim):

```json
{
  "source": "auction.com",
  "sourceId": "2084286",
  "url": "https://www.auction.com/details/109-futurity-ln-brock-tx-2084286",
  "address": {
    "line": "109 FUTURITY LANE",
    "city": "BROCK",
    "state": "TX",
    "county": "Parker",
    "zip": "76087",
    "lat": 32.6702826,
    "lng": -97.9597485,
    "formatted": ["109 Futurity Lane", "Brock, TX 76087, Parker County"]
  },
  "assetType": "FORECLOSURE",
  "productType": "TRUSTEE",
  "occupancyStatus": "OCCUPIED",
  "estimatedValue": 503500,
  "currency": "USD",
  "startingBid": null,
  "auction": {
    "startDate": "2026-08-04T17:00:00Z",
    "endDate": null,
    "visibleStartDateTime": "2026-08-04T17:00:00Z",
    "isOnline": false,
    "venueType": "LIVE"
  },
  "status": "SALE_PENDING",
  "statusLabel": "Aug 04",
  "beds": 0,
  "baths": 0,
  "sqft": 2008,
  "yearBuilt": 2021,
  "photo": "https://.../",
  "photosCount": 1,
  "_scrapedAt": "2026-05-29T16:34:39Z"
}
```

A second example status from the same run: `"assetType": "BANK_OWNED"`, `"status": "SALE_PENDING_CLEARED"` (i.e. *cleared for auction*), with `"isOnline": true`.

| Field | Type | Description |
|---|---|---|
| `source` | string | Always `"auction.com"`. |
| `sourceId` | string | Auction.com listing ID. |
| `url` | string | Public listing detail page. |
| `address` | object | `line`, `city`, `state`, `county`, `zip`, `lat`, `lng`, plus the original `formatted` lines. |
| `assetType` | string | `FORECLOSURE`, `BANK_OWNED`, `PRIVATE_SELLER`, … |
| `productType` | string | e.g. `TRUSTEE`, `REO`. |
| `occupancyStatus` | string | `OCCUPIED`, `VACANT`, `UNKNOWN`. |
| `estimatedValue` | number | Estimated market / resale value in USD. |
| `startingBid` | number | Opening/minimum bid when published (often revealed at auction time for trustee sales, so may be `null`). |
| `auction` | object | `startDate`, `endDate`, `visibleStartDateTime`, `isOnline`, `venueType`. |
| `status` / `statusLabel` | string | Auction status (`SALE_PENDING`, `SALE_PENDING_CLEARED`, `AUCTION_IN_PROGRESS`, …) and its short label. |
| `beds` / `baths` / `sqft` / `lotSize` / `yearBuilt` | number | Property basics. |
| `photo` / `photosCount` | string / number | Primary photo and photo count. |
| `eventCode` / `trusteeSale` | string / bool | Auction event details. |
| `raw` | object | The full upstream listing node, for any field not surfaced above. |
| `_scrapedAt` | string | UTC ISO 8601 collection time. |

### Use cases

- **Foreclosure sniping** — pull every upcoming auction in your target counties each morning, sort by auction date, and queue the ones that haven't cleared yet.
- **Flip-margin screening** — compare `estimatedValue` against `startingBid` (where published) to rank deals by potential spread before you commit to due diligence.
- **Territory monitoring** — schedule daily runs filtered to your states/ZIPs and diff against yesterday's dataset to catch newly listed or newly *cleared* auctions the moment they post.
- **Lead lists for outreach** — filter to `OCCUPIED` foreclosures to build pre-auction owner-outreach lists, or `VACANT` bank-owned assets for wholesale targeting.
- **Market analytics** — aggregate by county/asset type/status over time to track foreclosure volume, average estimated values, and online-vs-in-person auction mix.
- **Pipeline enrichment** — join the stable JSON output into your CRM or data warehouse by `sourceId` to enrich existing property records with live auction status.

### Other real-estate actors

Part of the same Apify real-estate collection — every actor emits stable JSON you can union downstream:

| Actor | What it does |
|---|---|
| [Zillow All-in-One Scraper](https://apify.com/xtracto/zillow-all-in-one-scraper) | Map-area and search-results listings with full property details. |
| [Realtor.com All-in-One Scraper](https://apify.com/xtracto/realtor-all-in-one-scraper) | Agent-listed homes, details, photos, agents, price & tax history. |
| [FSBO.com Lead Extractor](https://apify.com/xtracto/fsbo-seller-lead-extractor) | For-sale-by-owner seller leads with direct property + owner details. |
| [Auction.com Foreclosure Scraper](https://apify.com/xtracto/auction-foreclosure-sniper) — **this actor** | Upcoming foreclosure & bank-owned auctions with schedule, value, and status. |
| [PropertyFinder Off-Plan Tracker](https://apify.com/xtracto/propertyfinder-offplan-tracker) | Dubai/UAE off-plan & new projects with developer, handover, price & payment plans. |
| [LandWatch Price-per-Acre Scraper](https://apify.com/xtracto/landwatch-price-per-acre-scraper) | Raw-land listings with acreage, price-per-acre, zoning, and broker contact. |

# Actor input Schema

## `assetType` (type: `string`):

Which catalog to scrape.

## `states` (type: `array`):

States to filter by (2-letter codes). Empty = nationwide.

## `filters` (type: `object`):

Optional extra search filters: city, county, zip, search (keyword), assetType, propertyType, auctionFormat, listingType, occupancyStatus, sort.

## `pageSize` (type: `integer`):

How many listings to fetch per API call.

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

Soft cap on dataset rows. 0 = unlimited.

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

Safety ceiling on result pages walked.

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

Maximum concurrent requests. Keep low (1-3) for the most reliable results.

## `maxRetries` (type: `integer`):

How many times to retry a request before giving up.

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

Required. A US residential proxy is mandatory for reliable results.

## Actor input object example

```json
{
  "assetType": "residential",
  "states": [],
  "filters": {},
  "pageSize": 40,
  "maxItems": 100,
  "maxPages": 100,
  "maxConcurrency": 2,
  "maxRetries": 5,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}
```

# 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 = {
    "filters": {},
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "US"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("xtracto/auction-foreclosure-sniper").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 = {
    "filters": {},
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "US",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("xtracto/auction-foreclosure-sniper").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 '{
  "filters": {},
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}' |
apify call xtracto/auction-foreclosure-sniper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,xtracto/auction-foreclosure-sniper"
        }
    }
}

```

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/8vEahH1PdtLq2HuLR/builds/3lwHRg3VITwb4bNLs/openapi.json
