Auction.com Scraper at a glance
Auction.com Scraper is a ready-to-run Apify actor from abotapi for collecting real estate data. Its documented output includes id, change type (incremental mode), address, city and state, which you can export as JSON, CSV or Excel or read through the Apify API. It costs $1.70 per 1,000 results on the Apify Free plan and from $1.00 on paid plans, with smaller per-run or optional feature charges listed on Apify.
- Runs on
- Apify cloud: console, API, schedules and integrations
- Data type
- Real Estate, Automation, Developer Tools
- Pricing
- $1.70 per 1,000 results (Free plan), from $1.00 on paid plans
- Output
- Documented below · JSON, CSV, Excel
- Inputs
- 30 options
From $1/1K. Extract foreclosure, REO, short-sale, and auction listings from Auction.com in minutes. Search by location and property filters or paste any Auction.com URL. Get 45+ structured fields, including auction dates, bids, estimated values, occupancy status, coordinates, and photos.
What Auction.com Scraper can do
- Two ways to build a search. Filter by state, city, ZIP, property type, asset type, beds, baths, square footage, price and auction format, or paste one or more Auction.com search links and reuse work you already did on the site.
- A wide field set per listing. Address, coordinates, property facts, auction window, starting bid, valuation and rental estimates, occupancy, financing and buyer-premium flags, plus the complete source object under raw for anything not surfaced flat.
- Optional full-detail pass. Turn on fetchDetails for the complete photo gallery, financing preference, deposit and earnest-money minimums, leaseback terms and days-to-close per listing, billed only for listings that actually come back, not for every candidate checked. A pasted single-listing detail link always fetches full detail, regardless of this setting.
- Resumable runs. resumeFromRunId collects only the listings a previous run doesn't already have, so you can pick up where an earlier run left off without paying twice. Long runs also checkpoint their own progress, so a platform migration never restarts a run from zero.
- Built for schedules. Incremental mode remembers the previous run of the same search itself, so a recurring daily or weekly run returns only new and updated listings, and duplicates are suppressed and not billed.
- One input controls volume. maxListings is the sole cap on how many listings a run collects. Page walking itself has no artificial ceiling, so a capped run still sees the most relevant part of the catalogue first.
Choose what to collect
These inputs let you configure Auction.com Scraper - Foreclosures, Auctions & Property Data. Open the actor on Apify to enter your values and review the current options.
| Input | What it controls |
|---|---|
modestring · required | How to find listings. 'search' builds the query from the filter fields below. 'url' takes one or more Auction.com search URLs you paste. |
statesarray | Two-letter US state codes to search, e.g. CA, TX, FL. Leave empty to search nationwide. |
citystring | Optional city name to narrow the search, e.g. Los Angeles. Combine with a single state for best results. |
zipCodesarray | Optional list of 5-digit ZIP codes to narrow the search. |
keywordstring | Optional free-text search across street, city, state and ZIP, e.g. 'Main St' or '90210'. |
listingStatusstring | Active listings open for bidding, or sold/closed listings. |
propertyTypesarray | Filter by property category. Leave empty for all. |
Show 23 more inputs
| Input | What it controls |
|---|---|
assetTypesarray | Filter by distressed-asset category. Leave empty for all. |
auctionFormatsarray | Filter by how the auction is run. Leave empty for all. |
minBedsinteger | Minimum number of bedrooms. |
maxBedsinteger | Maximum number of bedrooms. |
minBathsinteger | Minimum number of bathrooms. |
minSqftinteger | Minimum living area in square feet. |
maxSqftinteger | Maximum living area in square feet. |
minPriceinteger | Minimum starting bid in USD. |
maxPriceinteger | Maximum starting bid in USD. |
sortBystring | Result ordering. |
urlsarray | One or more Auction.com search URLs (state, nationwide, city, ZIP, paginated /N_cp, filtered, sorted). Apply filters on the website, copy the URL, and paste it here. Leave untouched to scrape one example of each supported link shape. Commercial links are not supported. Search-mode filter fields above are ignored. |
fetchDetailsboolean | Make an extra request per listing for the full photo gallery, complete auction terms, deposit/financing details and documents. Slower and billed per detail page; off by default. |
maxPagesinteger | Optional bound on result pages walked per search/URL (100 listings per page). Use 0 to walk the whole catalogue: the run stops on its own once the site's reported total is reached, a page comes back empty, or a page returns no new listings. This does NOT cap the number of listings; use Max listings for that. |
maxListingsinteger | Hard cap on total listings collected. 0 means unlimited (paid plans). |
resumeFromRunIdstring | Optional. ID of a previous run of this actor (or a dataset ID). Listings already in that dataset are skipped, so this run returns only NEW listings (a delta). Combine both runs' datasets for the full set. Max listings then counts only the new listings. For recurring daily monitoring of the same search, use Incremental mode below instead. |
incrementalModeboolean | Turn this on for daily or recurring monitoring. The first run returns all matching listings as NEW. Later runs normally return only NEW, UPDATED, and REAPPEARED listings. UPDATED is decided by comparing every returned listing field (bid, status, auction dates, address, occupancy, valuation, tags, open houses, photo count and so on) with the stored copy from the previous run; changedFields names the fields that differ. Excluded from the comparison (still returned in the output): scrapedAt, the verbatim raw/detailRaw payloads, the primary photo URL (its CDN host rotates), photo update timestamps, and the order of marketing tags and open houses; plus anything you list in "Ignore fields" below. Turn on "Emit unchanged" or "Emit expired" only when you also want those listings returned (and billed). State is kept separately for each distinct search/filter setup (or by State key below). |
stateKeystring | Optional. Name this monitoring campaign to keep its state stable, or to deliberately share state across differently-configured runs. Leave empty to let the actor derive a key automatically from your search/filter settings, different searches then never mix state with each other. |
emitUnchangedboolean | Off by default. Turn on to also return listings that have not changed since the last run, marked UNCHANGED. This returns, and bills, extra rows you already have, so leave it off unless you specifically want the full snapshot every run. |
emitExpiredboolean | Off by default. Turn on to also return listings that were present in a previous run but are no longer found, marked EXPIRED. Only produced once a run has fully scanned the tracked search, not when Max listings or Max pages capped it, or when Resume was used. This returns, and bills, extra synthetic rows. |
ignoreFieldsForChangesarray | Optional. Field names that must NOT count as a change in incremental mode: they are left out of the comparison and out of changedFields, but are still returned in every record. Nested fields use dots, e.g. photosDetailed.updatedDate (lists are searched automatically). Changing this list never causes a wave of UPDATED rows. |
mcpConnectorsarray | Optionally send the scraped results into the apps you already use, via Model Context Protocol (MCP) connectors. Authorize a connector once under Apify → Settings → Integrations, then select it here. The connector receives a condensed, human-readable summary per item (title + key fields), not the full JSON, the complete record stays in the dataset. Leave empty to skip. Supported: Notion (https://mcp.notion.com/mcp), Linear (https://mcp.linear.app/sse), Airtable (https://mcp.airtable.com/mcp), Apify (https://mcp.apify.com). |
notionParentPageUrlstring | URL (or id) of the Notion page under which item pages are created. Required to enable the Notion export; ignored by other connectors. |
maxNotifyListingsinteger | Cap on items written to each connector per run. Does not affect the dataset. |
Fields in the output
The documented dataset includes the fields below. Availability can depend on the source page and selected mode.
listingIdID (text)changeTypeChange type (incremental mode) (text)addressAddress (text)cityCity (text)stateState (text)zipZIP (text)propertyTypeGroupType (text)assetTypeAsset (text)listingStatusGroupStatus (text)bedroomsBeds (number)bathroomsBaths (number)squareFootageSqft (number)Show 25 more fields
startingBidStarting Bid (number)estimatedValueEst. Value (number)auctionStartDateAuction Start (text)auctionTypeAuction (text)urlURL (link)changedFieldsChanged fields (incremental mode) (array)firstSeenAtFirst seen (incremental mode) (date)lastSeenAtLast seen (incremental mode) (date)auctionEndDateEnd (text)isOnlineOnline (boolean)isRemoteBidEnabledRemote Bid (boolean)occupancyStatusOccupancy (text)financingAvailableFinancing (boolean)buyerPremiumAvailableBuyer Premium (boolean)sellerTermsIntentSeller intent (text)financePreferenceFinance preference (text)financeIsContingencyFinance contingency (boolean)inspectionIsContingencyInspection contingency (boolean)inspectionIsOptionContingencyOption contingency (boolean)leasebackPeriodDaysLeaseback days (number)leasebackRentLeaseback rent (number)daysToCloseDays to close (number)arePrivateToursAvailablePrivate tours (boolean)earnestMoneyDepositMinimumEarnest money min (number)programEnrollmentCodeProgram code (text)Example output
An example from this actor’s documentation. Values are illustrative; this is not a fresh live result.
{
"listingId": "00000001",
"url": "https://www.auction.com/details/123-sample-st-springfield-st-00000001",
"address": "123 Sample St, Springfield, ST 00000",
"city": "Springfield",
"state": "ST",
"zip": "00000",
"county": "Sample County",
"latitude": 38,
"longitude": -90,
"propertyTypeGroup": "SINGLE_FAMILY",
"assetType": "BANK_OWNED",
"occupancyStatus": "VACANT",
"listingStatusGroup": "ACTIVE",
"isHot": false,
"bedrooms": 3,
"bathrooms": 2,
"squareFootage": 1800,
"lotSize": 0.25,
"yearBuilt": 1995,
"startingBid": 150000,
"estimatedValue": 225000,
"estimatedValueLow": 210000,
"estimatedValueHigh": 240000,
"auctionType": "ONLINE",
"auctionStartDate": "2026-01-01T00:00:00Z",
"auctionEndDate": "2026-01-03T00:00:00Z",
"financingAvailable": true,
"buyerPremiumAvailable": false,
"isRemoteBidEnabled": true,
"primaryPhoto": "https://example.com/sample-property-photo.jpg",
"photoCount": 12,
"marketingTags": [],
"openHouses": [],
"scrapedAt": "2026-01-01T00:00:00Z"
}Ways to use this data
- Real estate investors: filter foreclosure and bank-owned inventory by state, price range and property type to build a shortlist of deals.
- Wholesalers and flippers: run the same search on a schedule with incremental mode to catch new listings and price or status changes as soon as they post.
- Market researchers and analysts: build historical datasets of starting bids, valuation estimates and auction outcomes across states and asset types.
- PropTech and lead-gen products: feed structured auction listings into your own app, CRM or alerting tool through the API.
- Due diligence teams: pull full auction terms, financing preference and occupancy details for a shortlist of properties with fetchDetails.
Before you run
Start with a small input and check the resulting records against your expected fields. Source content and actor options can change; the current Apify listing is the reference for availability and pricing.
Questions about this actor
What data does Auction.com Scraper return?
The documented output for Auction.com Scraper includes id, change type (incremental mode), address, city, state, zip, type and asset. Availability of each field depends on the source page and the selected mode.
How much does Auction.com Scraper cost?
It costs $1.70 per 1,000 results on the Apify Free plan and from $1.00 on paid plans, with smaller per-run or optional feature charges listed on Apify. The Apify listing shows the current rate for every plan.
Can I get only new or changed listings on a schedule?
Yes. Schedule the actor from the Schedules tab and turn on Incremental mode. Every run after the first then returns only new and updated listings, and unchanged ones are suppressed and not billed. See "Resume and recurring updates" above for exactly when REAPPEARED and EXPIRED show up, since both need emitExpired turned on ahead of time.
What's the difference between Resume and Incremental mode?
Resume (resumeFromRunId) continues one specific earlier run and is a one-time delta. Incremental mode is for running the same search over and over, for example daily, and tracks its own state without you ever pasting a run id. Using both together on a search that already has saved incremental state is rejected, since it would double-count listings.
Why did my run fail instead of returning an empty dataset?
A run only stops with an error when resumeFromRunId points at an id this account cannot read, or when it is combined with Incremental mode on a search that already has saved state. Everything else, including a search that matches no listings or an upstream request that could not be completed, finishes as a normal run; if nothing was returned, the status message says why, and the run log shows any page that could not be loaded. Try again if it points at a temporary connection issue.
Can I use it with AI agents or MCP?
Yes. Call it from any Apify integration or MCP client, and use the connector field to push a summary of each listing into Notion, Linear or Airtable.
