# Auction.com Property Scraper (`parseforge/auction-com-property-scraper`) Actor

Scrape property auction listings from Auction.com. Extract property details including address, price, auction date, property type, square footage, bedrooms, bathrooms, and more. Supports filtering by state, property type, and price range.

- **URL**: https://apify.com/parseforge/auction-com-property-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Real estate, Automation, Lead generation
- **Stats:** 96 total users, 9 monthly users, 92.6% runs succeeded, 10 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $24.00 / 1,000 result items

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/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

![ParseForge Banner](https://github.com/ParseForge/apify-assets/blob/ad35ccc13ddd068b9d6cba33f323962e39aed5b2/banner.jpg?raw=true)

## 🏠 Auction.com Property Scraper

> 🚀 **Collect real estate auction listings from Auction.com in minutes.** Paste any Auction.com search URL, or set your filters here, and export property details, auction dates, starting bids, and map coordinates. No coding, no login, no browser extensions.

The **Auction.com Property Scraper** collects real estate auction data from Auction.com and returns one flat row per property: full address, photo, bedrooms, bathrooms, square footage, lot size, year built, property type, latitude and longitude, auction start and end dates, sale type, starting bid, occupancy status, and buyer terms.

Two ways to search. Apply filters on the Auction.com website and paste the URL, or skip the website and set the location and filters directly. Both paths run the same query and return the same rows.

| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| Real estate investors, acquisitions teams, brokers, wholesalers, fix-and-flip operators, market analysts | Distressed property sourcing, auction deal tracking, market scans, comping auction deals, daily inventory alerts |

***

### 📋 What the Auction.com Property Scraper does

- 🔗 **URL mode.** Paste any Auction.com search URL. Location, sale types, property types, buying methods, bedrooms, bathrooms, and square footage are all read out of the URL.
- 🎛️ **Filter mode.** Give it a city, ZIP code, or a whole state, then narrow by sale type, property type, buying method, bedrooms, bathrooms, square footage, condition, and featured tags.
- 🗺️ **State-wide searches.** Search an entire state such as `GA` or `California`, not just a single city.
- 📍 **Map coordinates.** Every row carries latitude and longitude, ready to plot or join against your own geodata.
- 📊 **Deep pagination.** Goes past the 500-listing display limit on the website, up to 1,000,000 properties per run.
- ⚖️ **Balanced multi-type searches.** When several sale types are selected, results are drawn from each in turn rather than spending the whole run on whichever type sorts first.
- 🔁 **Resilient.** Failed requests retry on a fresh IP with exponential backoff, and rows already collected are delivered even if a later page fails.

> 💡 **Why it matters:** manually scanning Auction.com for deals means refreshing search pages, clicking into each property, and copying data by hand. This Actor exports structured auction data at scale, ready for your acquisition pipeline, CRM, or market analysis.

***

### 📊 Output

Each property is one row. Every field is always present, and empty when Auction.com does not publish that value, so CSV and Excel columns stay aligned across the whole export.

#### 🧾 Fields

| Field | Type | Description |
|---|---|---|
| `imageUrl` | string | Primary listing photo |
| `id` | string | Auction.com listing ID |
| `url` | string | Direct link to the listing page |
| `status` | string | Listing status as shown on the site, often the auction window |
| `address` | string | Full formatted address |
| `street_description` | string | Street address only |
| `municipality` | string | City |
| `country_secondary_subdivision` | string | County |
| `country_primary_subdivision` | string | State |
| `postal_code` | string | ZIP code |
| `latitude` | number | Property latitude |
| `longitude` | number | Property longitude |
| `beds` | number | Bedrooms |
| `baths` | number | Bathrooms |
| `sqft` | number | Interior square footage |
| `lot_size_acres` | number | Lot size in acres |
| `year_built` | number | Year the property was built |
| `property_type` | string | Structure type code, such as `SINGLE_FAMILY_HOME` |
| `property_type_group` | string | Broader structure group, such as `SINGLE_FAMILY` |
| `saleType` | string | Foreclosure, Bank Owned, Trustee Sale, or Private Seller |
| `starting_bid` | number | Opening bid in USD |
| `auction_start_date` | string | Auction start, full ISO 8601 timestamp in UTC |
| `auction_end_date` | string | Auction end, full ISO 8601 timestamp in UTC |
| `auctionDateUtc` | string | Auction start date only, `YYYY-MM-DD`, UTC |
| `auctionTimeUtc` | string | Auction start time only, `HH:MM`, UTC |
| `auctionLocation` | string | Online Auction or Live Auction |
| `occupancy_status` | string | Occupancy at time of listing, such as `VACANT` |
| `interior_access_allowed` | boolean | Whether interior access is offered |
| `buyer_premium_available` | boolean | Whether a buyer premium applies |
| `is_first_look_enabled` | boolean | Whether the First Look program applies |
| `is_direct_offer_enabled` | boolean | Whether direct offers are accepted |
| `listing_photos_count` | number | Number of photos on the listing |
| `scrapedAt` | string | When this row was collected |
| `error` | string | Empty on a successful row |

All timestamps are UTC, and the two derived fields say so in their names, so a date and a time from the same row always refer to the same moment.

#### 📦 Sample record

```json
{
  "imageUrl": "https://adc-tenbox-prod.imgix.net/resi/propertyImages/1133542/1133542_extf_1.v1.jpeg?auto=compress,format",
  "id": "2163875",
  "url": "https://www.auction.com/details/4569-post-ridge-ln-lithonia-ga-2163875",
  "status": "Aug 29 - Aug 31, 2026",
  "address": "4569 POST RIDGE LN, LITHONIA, GA 30038, DEKALB COUNTY",
  "street_description": "4569 POST RIDGE LN",
  "municipality": "LITHONIA",
  "country_secondary_subdivision": "DEKALB",
  "country_primary_subdivision": "GA",
  "postal_code": "30038",
  "latitude": 33.6430584,
  "longitude": -84.1378407,
  "beds": 3,
  "baths": 2.5,
  "sqft": 1587,
  "lot_size_acres": 0.2,
  "year_built": 1998,
  "property_type": "SINGLE_FAMILY_HOME",
  "property_type_group": "SINGLE_FAMILY",
  "saleType": "Bank Owned",
  "starting_bid": 75000,
  "auction_start_date": "2026-08-29T12:00:00Z",
  "auction_end_date": "2026-08-31T17:07:20Z",
  "auctionDateUtc": "2026-08-29",
  "auctionTimeUtc": "12:00",
  "auctionLocation": "Online Auction",
  "occupancy_status": "VACANT",
  "interior_access_allowed": false,
  "buyer_premium_available": true,
  "is_first_look_enabled": false,
  "is_direct_offer_enabled": false,
  "listing_photos_count": 16,
  "scrapedAt": "2026-08-27T15:29:49.047Z",
  "error": null
}
```

***

### ✨ Why choose this Actor

- ⚡ **Fast.** It calls the same data service the Auction.com website calls, instead of driving a browser. A small search finishes in seconds.
- 🗺️ **Coordinates included.** Plot results on a map or join them to your own geodata without a separate geocoding step.
- 📐 **Honest units.** Lot size is reported in acres and named `lot_size_acres`, so there is no guessing what the number means.
- 🧱 **Stable columns.** Every row has the same keys in the same order, so exports load cleanly into a spreadsheet or a database.
- 🔒 **Nothing hidden.** The Actor collects listing data and nothing else. It sends no analytics anywhere.

***

### 🚀 How to use

1. Open the Actor and choose how you want to search.
2. **By URL:** go to Auction.com, apply your filters, copy the address bar, and paste it into the search URL field.
3. **By filters:** type a location such as `Atlanta`, `30301`, or `GA`, then pick your sale types, property types, and any other filters you want.
4. Set how many properties you want, then click **Start**.
5. When the run finishes, open the **Dataset** tab and export to CSV, JSON, Excel, or XML.

Auction.com blocks datacenter traffic, so the Actor uses US residential proxies by default. You do not need to change anything for this to work.

***

### 💼 Business use cases

#### 🏠 Real estate investors and fix-and-flip

Pull every active foreclosure and bank-owned listing in your target counties each morning, sorted by auction date. Filter to vacant properties with interior access offered, then match starting bids against your buy-box before the auction window opens.

#### 📊 Brokers and wholesalers

Track new inventory across several markets at once. Because each row carries coordinates, you can map listings against your existing pipeline and spot clusters worth a site visit.

#### 📈 Market analysts and researchers

Build a time series of distressed inventory by county. Run the same search on a schedule and compare starting bids, occupancy rates, and listing volume month over month.

#### 🏢 Acquisitions teams and funds

Screen at state scale rather than city by city. A single state-wide run returns the full active set, ready to filter down to the property types and price bands your mandate allows.

***

### 🌟 Beyond business

#### 🎓 Research and academia

Housing researchers use auction inventory as a leading indicator of local distress. Coordinates and county fields make the output straightforward to join to census tracts or other public datasets.

#### 🤝 Non-profit and civic

Housing advocacy groups track foreclosure volume in specific neighbourhoods to target outreach and counselling before auction dates arrive.

#### 🧪 Experimentation

The output is clean enough to feed straight into a notebook, a mapping tool, or a small dashboard, without a cleaning pass first.

***

### 🔌 Automating this Actor

Schedule the Actor to run daily or weekly and have new listings land automatically. Connect the dataset to Google Sheets, Slack, Airtable, Zapier, Make, or your own service through the Apify API and webhooks. Every run's dataset is available over the API as JSON, CSV, Excel, or XML.

***

### ❓ Frequently Asked Questions

#### 🧩 How does it work?

The Actor queries the same data service the Auction.com website uses, then flattens each listing into a single row. It does not render pages in a browser, which is why runs finish quickly.

#### 📏 How accurate is the data?

Values come straight from Auction.com and are not edited or estimated. Where Auction.com does not publish a value, the field is empty rather than guessed. Auction details can change up to the auction date, so re-run before acting on a listing.

#### 📦 How does it get past the 500-listing limit?

The website shows a limited set per search. The Actor pages through the full result set, so a search with thousands of matches returns all of them, up to the limit you set.

#### 🗺️ Can I search a whole state?

Yes. Enter a state code such as `GA` or a state name such as `California` as the location and the Actor searches state-wide with no county filter.

#### ⏰ Can I schedule regular runs?

Yes. Use the Schedules tab in Apify Console to run the Actor on any cadence, and connect a webhook to be notified when new data is ready.

#### ⚖️ Is this data legal to use?

The Actor collects publicly visible listing information. You are responsible for using the data in line with Auction.com's terms and any laws that apply to you. Do not use it to contact people in ways that break marketing or privacy rules.

#### 🔁 What happens if a run is interrupted?

Rows are written to the dataset as they are collected, not held until the end, so an interrupted run still leaves you with everything gathered up to that point. If one sale type fails partway through, the properties it already returned are kept and the run reports what stopped early.

#### 🆘 What if I need help?

Open an issue from the Actor's Issues tab. Include your input and the run ID so the problem can be reproduced.

***

### 🔗 Related Actors

Looking for other property and auction sources? Browse the rest of the ParseForge collection on Apify for scrapers covering additional real estate marketplaces and auction platforms.

[Get started on Apify](https://console.apify.com/sign-up?fpr=vmoqkp)

# Actor input Schema

## `startUrl` (type: `string`):

Paste any Auction.com search URL. Apply your filters on the website, copy the address bar, and the Actor reads every filter from it. Leave this empty to use the search fields below instead.

## `searchTerm` (type: `string`):

City, ZIP code, or US state to search. Examples: Atlanta, 30301, GA, California. Ignored when a search URL is provided above.

## `saleTypes` (type: `array`):

Which kinds of sale to include. Defaults to all three.

## `propTypes` (type: `array`):

Which property types to include. Defaults to all four.

## `buyingTypes` (type: `array`):

How the property can be bought. Defaults to all methods.

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

Only return properties with at least this many bedrooms.

## `minBaths` (type: `integer`):

Only return properties with at least this many bathrooms.

## `sqftMin` (type: `integer`):

Only return properties at or above this interior square footage.

## `sqftMax` (type: `integer`):

Only return properties at or below this interior square footage.

## `conditionFlags` (type: `array`):

Extra condition filters offered by Auction.com. Leave empty for no condition filtering.

## `featuredFlags` (type: `array`):

Auction.com marketing tags such as Price Drop or $1 Opening Bid. Leave empty for no tag filtering.

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

Maximum number of properties to collect. Free users: limited to 10 items (preview). Paid users: optional, up to 1,000,000.

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

Auction.com blocks datacenter IPs, so US residential proxies are used by default. Change this only if you know your own proxies reach the site.

## Actor input object example

```json
{
  "startUrl": "https://www.auction.com/residential/GA/Atlanta_ct/active_lt/online,in_person,remote_bid,offer_af/single-family,multi-family,condos-townhouses,land_pt/auction_date_order,resi_sort_v2_st/y_nbs/bank-owned,foreclosures,private-seller_at",
  "searchTerm": "Atlanta",
  "saleTypes": [
    "foreclosures",
    "bank-owned",
    "private-seller"
  ],
  "propTypes": [
    "single-family",
    "multi-family",
    "condos-townhouses",
    "land"
  ],
  "buyingTypes": [
    "online",
    "in_person",
    "remote_bid",
    "offer"
  ],
  "maxItems": 10,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "countryCode": "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 = {
    "startUrl": "https://www.auction.com/residential/GA/Atlanta_ct/active_lt/online,in_person,remote_bid,offer_af/single-family,multi-family,condos-townhouses,land_pt/auction_date_order,resi_sort_v2_st/y_nbs/bank-owned,foreclosures,private-seller_at",
    "saleTypes": [
        "foreclosures",
        "bank-owned",
        "private-seller"
    ],
    "propTypes": [
        "single-family",
        "multi-family",
        "condos-townhouses",
        "land"
    ],
    "buyingTypes": [
        "online",
        "in_person",
        "remote_bid",
        "offer"
    ],
    "maxItems": 10,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "countryCode": "US"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/auction-com-property-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 = {
    "startUrl": "https://www.auction.com/residential/GA/Atlanta_ct/active_lt/online,in_person,remote_bid,offer_af/single-family,multi-family,condos-townhouses,land_pt/auction_date_order,resi_sort_v2_st/y_nbs/bank-owned,foreclosures,private-seller_at",
    "saleTypes": [
        "foreclosures",
        "bank-owned",
        "private-seller",
    ],
    "propTypes": [
        "single-family",
        "multi-family",
        "condos-townhouses",
        "land",
    ],
    "buyingTypes": [
        "online",
        "in_person",
        "remote_bid",
        "offer",
    ],
    "maxItems": 10,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "countryCode": "US",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/auction-com-property-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 '{
  "startUrl": "https://www.auction.com/residential/GA/Atlanta_ct/active_lt/online,in_person,remote_bid,offer_af/single-family,multi-family,condos-townhouses,land_pt/auction_date_order,resi_sort_v2_st/y_nbs/bank-owned,foreclosures,private-seller_at",
  "saleTypes": [
    "foreclosures",
    "bank-owned",
    "private-seller"
  ],
  "propTypes": [
    "single-family",
    "multi-family",
    "condos-townhouses",
    "land"
  ],
  "buyingTypes": [
    "online",
    "in_person",
    "remote_bid",
    "offer"
  ],
  "maxItems": 10,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "countryCode": "US"
  }
}' |
apify call parseforge/auction-com-property-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,parseforge/auction-com-property-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/DI837yLYBfu34xhSL/builds/cWlAPsKLofqgQ2VFV/openapi.json
