Auction Property Scraper (Cheap)
Pricing
from $3.99 / 1,000 results
Auction Property Scraper (Cheap)
Auction properties extractor designed for heavy-hitting cash buyers, house flippers, and wholesale deal-makers looking to instantly spot distressed property liquidations.
Pricing
from $3.99 / 1,000 results
Rating
0.0
(0)
Developer
Data API
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Realtor Auction Property Scraper

Auction and distressed homes on Realtor.com move fast, and digging them out by hand means clicking through page after page. This scraper hands you the whole pool at once. Set a location and a few filters, and every matching auction listing comes back as a clean row: asking price, full address, beds and baths, lot size, agent contacts, and the auction flag already split into fields you can sort in a spreadsheet. It runs fast, costs little, needs no code, and you only pay for what you pull.
What you get
Each property comes back as one row, grouped into a few kinds of data:
- Identity and link —
propertyId,listingId,listingUrl,listingStatus,sourceName - Price and history —
askingPrice,soldPrice,priceCutAmount,listedDate,soldDate - Property facts —
propertyKind,propertySubKind,bedroomCount,bathroomLabel,livingAreaSqft,lotAreaSqft,builtYear,garageSpaces - Location —
streetAddress,cityName,stateName,stateCode,postalCode,countyName,lat,lng - Flags —
isAuction,isComingSoon,isNewListing,isPriceReduced,isNewConstruction,isPending,isContingent - Media —
coverImage,photoCount,imageLinks,streetViewUrl - Agents —
primaryAgentName,primaryAgentEmail,primaryAgentPhones,secondaryAgentName, plus office and branding names
Quick start
- Decide where to look, then fill in a location filter: a
postalCode, acityNameplusstateCode, astateCodeon its own, or anaddressLine. - Add optional filters if you want a tighter set:
propertyCategories, a price range withlistPriceMinandlistPriceMax,bedroomsMin, and so on. - Set
resultsLimitto cap how many listings you collect and keep spend predictable. - Press Start, then export the dataset as JSON, CSV, Excel, or XML.

Use cases
- Investors hunting auction and distressed stock can pull a whole metro in one run and score it against their buy box.
- Wholesalers and flippers can watch
priceCutAmountandisPriceReducedto catch motivated sellers early. - Real estate agents can size up auction inventory in their farm area and reach out using the agent contact fields.
- Data and analytics teams can feed structured price, size, and location data into dashboards or valuation models.
- Lenders and title firms can build county-level datasets keyed on
countyNameandcountyFips.
Input
| Field | Type | Required | Description |
|---|---|---|---|
postalCode | string | No | Pin results to one 5-digit US ZIP code. Example 33139. |
stateCode | string | No | Search a whole state by 2-letter code. Example AZ. |
cityName | string | No | Match an exact city, best paired with a state code. Example Phoenix. |
streetName | string | No | Limit results to a named street. |
addressLine | string | No | Look up one precise address line. |
propertyCategories | array of strings | No | Keep only chosen property kinds, e.g. single_family, multi_family. |
featureTerms | array of strings | No | Restrict to listings with given amenities, e.g. pool, waterfront. |
bedroomsMin | integer | No | Lowest bedroom count to accept. |
bedroomsMax | integer | No | Highest bedroom count to accept. |
bathroomsMin | integer | No | Lowest bathroom count, half-baths included. |
bathroomsMax | integer | No | Highest bathroom count to accept. |
listPriceMin | integer | No | Floor for the asking price in USD. |
listPriceMax | integer | No | Ceiling for the asking price in USD. |
soldPriceMin | integer | No | Floor for the recorded sold price in USD. |
soldPriceMax | integer | No | Ceiling for the recorded sold price in USD. |
yearBuiltMin | integer | No | Earliest construction year to include. |
yearBuiltMax | integer | No | Latest construction year to include. |
hoaFeeMax | integer | No | Highest monthly HOA fee to allow. |
pageSize | integer | No | Listings pulled per API call. Default 150. |
startOffset | integer | No | Zero-based index where paging begins. Default 0. |
resultsLimit | integer | No | Cap on total listings collected across all pages. Default 3000. |
runTimeoutSeconds | integer | No | Whole-run timeout in seconds; the run exits cleanly once it passes. Default 420. |
timeoutSeconds | integer | No | Per-request timeout in seconds. Default 45. |
proxyConfiguration | object | No | Proxy settings; defaults to US datacenter proxies. |
Example input
{"stateCode": "AZ","cityName": "Phoenix","propertyCategories": ["single_family", "multi_family"],"featureTerms": ["pool", "waterfront"],"bedroomsMin": 2,"bedroomsMax": 4,"listPriceMin": 150000,"listPriceMax": 750000,"yearBuiltMin": 2010,"resultsLimit": 3000,"proxyConfiguration": { "useApifyProxy": true, "apifyProxyCountry": "US" }}
Output
Every auction property that matches your filters becomes one row, paged automatically up to your resultsLimit. Fields the source does not publish for a given property come back as null rather than guessed.
Example output
{"listingAttribution": "Listing courtesy of Desert Sky Realty","propertyId": "9418273650","listingId": "2937164850","listingUrl": "https://www.realtor.com/realestateandhomes-detail/M9418273650","listingStatus": "for_sale","askingPrice": 415000,"soldPrice": null,"priceCutAmount": 15000,"listedDate": "2026-06-18","soldDate": "","propertyKind": "single_family","propertySubKind": "","bedroomCount": 3,"bathroomLabel": "2.5","livingAreaSqft": 1840,"lotAreaSqft": 6500,"builtYear": 2014,"garageSpaces": 2,"streetAddress": "2417 W Desert Cove Ave","cityName": "Phoenix","stateName": "Arizona","stateCode": "AZ","postalCode": "85029","lat": 33.5921,"lng": -112.1083,"countyName": "Maricopa","countyFips": "04013","streetViewUrl": "https://maps.googleapis.com/maps/api/streetview?location=33.5921,-112.1083","coverImage": "https://ap.rdcpix.com/example/cover-l.jpg","photoCount": 28,"imageLinks": ["https://ap.rdcpix.com/example/photo-1.jpg","https://ap.rdcpix.com/example/photo-2.jpg"],"hasMatterport": false,"isComingSoon": false,"isNewListing": true,"isPriceReduced": true,"isNewConstruction": false,"isPending": false,"isContingent": false,"isAuction": true,"isFractionallyOwned": false,"sourceId": "ARMLS","sourceName": "Arizona Regional MLS","sourceType": "mls","sourceListingId": "6738291","showContactAgent": true,"marketType": "for_sale","leadType": "auction","isVaEligible": false,"productList": ["core.agent", "core.broker"],"brandName": "Essentials","primaryAgentType": "seller","primaryAgentName": "Maria Alvarez","primaryAgentEmail": "maria@desertskyrealty.com","primaryAgentOffice": "Desert Sky Realty","primaryAgentPhones": ["6025550148"],"secondaryAgentType": null,"secondaryAgentName": null,"secondaryAgentEmail": null,"secondaryAgentOffice": null,"secondaryAgentPhones": [],"brandingName": "Desert Sky Realty","searchPromotions": [],"communityPromotions": [],"openHouses": [],"collectedAt": "2026-06-29T12:00:00.000000+00:00","errorMessage": null}
Output fields
| Field | Type | Description |
|---|---|---|
listingAttribution | string | Attribution text the source feed requires |
propertyId | string | Stable internal identifier for the property |
listingId | string | Identifier for this specific listing record |
listingUrl | string | Permalink path to the property detail page |
listingStatus | string | Current market state, e.g. for_sale |
askingPrice | integer | Current advertised price in USD |
soldPrice | integer | Final sale price when the property has closed |
priceCutAmount | integer | Dollar amount of the latest price reduction |
listedDate | string | Date the listing was published |
soldDate | string | Date the sale closed, when applicable |
propertyKind | string | Broad property type such as single_family |
propertySubKind | string | Finer property classification when available |
bedroomCount | integer | Number of bedrooms |
bathroomLabel | string | Consolidated bathroom figure, e.g. 2.5 |
livingAreaSqft | integer | Indoor living space in square feet |
lotAreaSqft | integer | Lot size in square feet |
builtYear | integer | Year construction was completed |
garageSpaces | integer | Number of garage parking spaces |
streetAddress | string | Street line of the property address |
cityName | string | City or town |
stateName | string | Full state name |
stateCode | string | Two-letter state abbreviation |
postalCode | string | Postal or ZIP code |
lat | number | Latitude of the property |
lng | number | Longitude of the property |
countyName | string | County the property belongs to |
countyFips | string | FIPS code of the county |
streetViewUrl | string | Link to a street-level view |
coverImage | string | URL of the primary listing photo |
photoCount | integer | Number of photos on the listing |
imageLinks | array | Collection of listing photo URLs |
hasMatterport | boolean | True when a Matterport 3D tour exists |
isComingSoon | boolean | True when flagged as coming soon |
isNewListing | boolean | True when posted within the last two weeks |
isPriceReduced | boolean | True when the price dropped in the last 30 days |
isNewConstruction | boolean | True for newly built homes |
isPending | boolean | True when the sale is pending |
isContingent | boolean | True when the offer is contingent |
isAuction | boolean | True when the property sells at auction |
isFractionallyOwned | boolean | True for fractional-ownership listings |
sourceId | string | Identifier of the listing source feed |
sourceName | string | Name of the listing source |
sourceType | string | Type of the listing source |
sourceListingId | string | Listing identifier within the source feed |
showContactAgent | boolean | True when a contact-an-agent option is offered |
marketType | string | Market classification reported for the lead |
leadType | string | Category of lead the listing supports |
isVaEligible | boolean | True when flagged Veterans United eligible |
productList | array | Marketing products tied to the listing |
brandName | string | Brand attached to the listing products |
primaryAgentType | string | Role of the first advertiser |
primaryAgentName | string | Name of the first advertiser or agent |
primaryAgentEmail | string | Email of the first agent when shared publicly |
primaryAgentOffice | string | Office or brokerage of the first agent |
primaryAgentPhones | array | Listed phone numbers for the first agent |
secondaryAgentType | string | Role of the second advertiser |
secondaryAgentName | string | Name of the second advertiser or agent |
secondaryAgentEmail | string | Email of the second agent when shared publicly |
secondaryAgentOffice | string | Office or brokerage of the second agent |
secondaryAgentPhones | array | Listed phone numbers for the second agent |
brandingName | string | Branding label shown on the listing |
searchPromotions | array | Promotional placements returned with the listing |
communityPromotions | array | Community-level promotions on the property |
openHouses | array | Scheduled open house dates and times |
collectedAt | string | ISO 8601 timestamp of when the row was captured |
errorMessage | string | Reason a row failed to parse; null on success |
Tips for best results
- Start with one location filter. A
postalCode, or acityNamewith astateCode, gives you the tightest, cleanest set. A barestateCodecasts a wide net. - Layer filters to cut noise. Combine price bands,
propertyCategories, and bedroom or bathroom ranges to skip listings you would only delete later. - Use
resultsLimiton test runs. Try a small cap first to confirm the fields fit your pipeline, then raise it for the full pull. - Keep US datacenter proxies on. They are the default and handle most runs. If responses start failing, switch to residential proxies.
- Raise
timeoutSecondswhen large result sets show timeout errors, and liftrunTimeoutSecondsif a big pull is getting cut short. - Expect some sparse fields. A second agent or open house data is not always present, so those fields can be null while the rest of the row stays complete.
How can I use Realtor auction property data?
How can I use the Realtor Auction Property Scraper to find distressed homes for investment?
Set your target market with stateCode and cityName, then filter on price with listPriceMin and listPriceMax. Every row carries isAuction, askingPrice, priceCutAmount, and the full address, so you can rank distressed and below-market candidates against your own buy criteria and export the shortlist to CSV.
How can I scrape Realtor.com auction listings by ZIP code?
Drop a postalCode into the input and run it. The scraper pages through all matching listings up to your resultsLimit and returns address, beds, baths, lot size, and agent contacts as structured fields, which beats copying details off the site one property at a time.
How can I build a real estate auction dataset for a dashboard?
Feed in one or more location filters, set resultsLimit to the volume you need, and export to JSON or Excel. You get a clean property database keyed on propertyId with price, size, location, and countyFips, ready to load into a BI tool or valuation model and refresh on a schedule.
How can I track price reductions on Realtor.com auctions?
Run the scraper on a recurring schedule for your area and watch isPriceReduced and priceCutAmount across runs. Pair them with listedDate and listingStatus to spot motivated sellers the day their price drops.
Is it legal to scrape data?
Our actors are ethical and do not extract any private user data, such as email addresses or private contact information. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.
However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.
You can also read Apify's blog post on the legality of web scraping.
Support
Questions, feature requests, or a field you'd like added? Reach out at data.apify@proton.me and we'll get back to you.