Price Reduced Property Scraper (Cheap)
Pricing
from $3.99 / 1,000 results
Price Reduced Property Scraper (Cheap)
Price reduced properties list tool that extracts motivated sellers and recent price drops, giving wholesale real estate investors access to discount margins instantly.
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
Price Reduced Property Scraper

A price cut is usually the clearest sign a seller is ready to deal. The catch is finding the fresh ones, which normally means refreshing a portal all day or paying for a subscription you barely use. This scraper does the watching for you. Hand it a ZIP code or a state and it returns every home that just dropped its price as clean rows: the new asking price, the exact dollar amount cut, the full address, beds and baths, square footage, agent contacts, coordinates, and photos. One run gets you a price-drop dataset you can load into a spreadsheet, a CRM, or a model.
What you get
Every home comes back as one flat row, so columns line up when you load the results into a sheet or database. The fields sort into a few groups:
- Price and timing —
currentPrice,priceDropAmount,closedPrice,dateListed,dateClosed, plus theflagPriceDropmarker - Identity and status —
homeId,listingRef,listingPath,saleStatus, and lifecycle flags likeflagPending,flagContingent,flagAuction,flagFreshListing - Home details —
homeType,homeSubType,bedrooms,bathrooms,livingArea,lotArea,constructionYear,garageCount,hasVirtualTour - Location —
addressLine,cityName,stateName,stateCode,zipCode,geoLat,geoLng,countyName,countyFips,streetViewLink - Media —
heroPhoto,imageTotal,imageGallery - Agents and source —
leadAgentName,leadAgentEmail,leadAgentPhones,coAgentName,brokerBranding,feedName,openHouseSlots
Quick start
- Press Try for free to open the input form.
- Type a location into at least one of ZIP code, City, or State abbreviation.
- Add any filters you like, such as an asking-price range, bedroom count, or home type.
- Set a Total listings cap to keep spend predictable, choose a proxy, then press Start.
- Once the run finishes, export the data as JSON, CSV, Excel, or XML.

Use cases
- Buyer hunting — pull every recent price drop in your target ZIP and reach out before the listing climbs back up
- Investor sourcing — sort by
priceDropAmountto find sellers cutting hard and chasing a quick close - Lead generation — collect listing agent names, emails, and phone numbers for homes that just got cheaper
- Market tracking — schedule a daily run and watch how reductions move across a neighborhood over time
- Deal screening — filter by price, beds, square footage, and build year to shortlist drops that fit your budget
Input
| Field | Type | Required | Description |
|---|---|---|---|
zipCode | string | One of zipCode, cityName, stateCode, or addressLine | Single 5-digit US ZIP code, the tightest location filter. Prefilled 78704. |
stateCode | string | One of zipCode, cityName, stateCode, or addressLine | Two-letter US state code, best paired with another filter. Example TX. |
cityName | string | One of zipCode, cityName, stateCode, or addressLine | Exact city name; pair with stateCode for clean results. Example Austin. |
streetName | string | Optional | Limit results to homes on one named street, e.g. Congress Ave. |
addressLine | string | Optional | One precise street address line. |
homeCategories | array of strings | No | Keep only chosen home categories, e.g. single_family, condo. |
featureTags | array of strings | No | Filter by features such as pool, hardwood_floors, central_air. |
bedroomsFrom / bedroomsTo | integer | No | Fewest and most bedrooms to allow. |
bathroomsFrom / bathroomsTo | integer | No | Fewest and most bathrooms to allow. |
priceFrom / priceTo | integer | No | Current asking-price range in USD. |
closedPriceFrom / closedPriceTo | integer | No | Closed-price range in USD. |
closedDateFrom / closedDateTo | string | No | Closed-sale date window, written YYYY-MM-DD. |
livingAreaFrom / livingAreaTo | integer | No | Interior living area range in square feet. |
lotAreaFrom / lotAreaTo | integer | No | Lot size range in square feet. |
builtYearFrom / builtYearTo | integer | No | Construction year range. |
hoaFeeCap | integer | No | Highest monthly HOA fee to allow. |
noHoaOnly | boolean | No | Return only homes with no HOA fee. Default false. |
openHouseFrom / openHouseTo | string | No | Open-house date window, written YYYY-MM-DD. |
batchSize | integer | No | Listings fetched per request. Default 150. |
startIndex | integer | No | Position where pagination begins. Default 0. |
maxRecords | integer | No | Hard cap on total listings collected. Default 3000. |
runBudgetSeconds | integer | No | Whole-run time budget in seconds. Default 360. |
requestBudgetSeconds | integer | No | Per-request time budget in seconds. Default 45. |
proxyConfiguration | object | No | Proxies used for requests. Defaults to US datacenter. |
Example input
{"stateCode": "TX","cityName": "Austin","homeCategories": ["single_family", "condo"],"priceTo": 800000,"bedroomsFrom": 2,"maxRecords": 200,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyCountry": "US"}}
Output
Each price-reduced home becomes one flat JSON row. Every declared field shows up on a normal row, and any value the source does not provide comes back as null or empty so your dataset stays rectangular.
Example output
{"feedAttribution": true,"homeId": "9482736150","listingRef": "2967451308","listingPath": "1809-Kinney-Ave_Austin_TX_78704_M94827-36150","saleStatus": "for_sale","currentPrice": 524000,"closedPrice": null,"priceDropAmount": 26000,"dateListed": "2026-05-22","dateClosed": "","homeType": "single_family","homeSubType": "","bedrooms": 3,"bathrooms": "2","livingArea": 1720,"lotArea": 6100,"constructionYear": 2004,"garageCount": 2,"addressLine": "1809 Kinney Ave","cityName": "Austin","stateName": "Texas","stateCode": "TX","zipCode": "78704","geoLat": 30.2453,"geoLng": -97.7691,"countyName": "Travis County","countyFips": "48453","streetViewLink": "https://maps.googleapis.com/maps/api/streetview?location=30.2453,-97.7691","heroPhoto": "https://ap.rdcpix.com/example/hero-2x.jpg","imageTotal": 28,"imageGallery": ["https://ap.rdcpix.com/example/photo-1.jpg","https://ap.rdcpix.com/example/photo-2.jpg"],"hasVirtualTour": true,"flagComingSoon": false,"flagFreshListing": false,"flagPriceDrop": true,"flagNewBuild": false,"flagPending": false,"flagContingent": false,"flagAuction": false,"flagFractional": false,"feedId": "ACTRIS","feedName": "Austin Board of Realtors","feedType": "mls","feedListingRef": "T7891234","offersAgentContact": true,"leadMarket": "for_sale","leadCategory": "advantage","flagVaEligible": false,"productSet": ["co_broke"],"productBrand": "essentials","leadAgentRole": "seller","leadAgentName": "Daniel Reyes","leadAgentEmail": "daniel.reyes@example.com","leadAgentBrokerage": "Hill Country Realty","leadAgentPhones": ["5125550174"],"coAgentRole": null,"coAgentName": null,"coAgentEmail": null,"coAgentBrokerage": null,"coAgentPhones": [],"brokerBranding": "Hill Country Realty","searchPromos": [],"communityPromos": [],"openHouseSlots": [{"start_date": "2026-06-14T17:00:00Z","end_date": "2026-06-14T20:00:00Z","description": "Saturday open house","time_zone": "America/Chicago"}],"capturedAt": "2026-06-29T12:00:00.000000+00:00","failureReason": null}
Output fields
| Field | Type | Description |
|---|---|---|
feedAttribution | boolean | Attribution flag passed through from the listing feed |
homeId | string | Stable internal identifier for the home |
listingRef | string | Identifier of the specific listing |
listingPath | string | URL slug for the listing |
saleStatus | string | Current state, such as for_sale or sold |
currentPrice | integer | Latest asking price in USD after any reduction |
closedPrice | integer | Final closing price in USD, on sold homes only |
priceDropAmount | integer | Dollar amount the asking price has been cut, in USD |
dateListed | string | ISO 8601 date the listing went live |
dateClosed | string | ISO 8601 date the sale closed, when applicable |
homeType | string | Top-level home type, e.g. single_family |
homeSubType | string | Finer home classification |
bedrooms | integer | Number of bedrooms |
bathrooms | string | Consolidated bathroom count |
livingArea | integer | Interior living area in square feet |
lotArea | integer | Outdoor lot size in square feet |
constructionYear | integer | Year the home was built |
garageCount | integer | Number of garage spaces |
addressLine | string | Full street address line |
cityName | string | City the home sits in |
stateName | string | Full state name |
stateCode | string | Two-letter US state code |
zipCode | string | ZIP or postal code |
geoLat | number | Latitude of the home |
geoLng | number | Longitude of the home |
countyName | string | County the home falls under |
countyFips | string | County FIPS code |
streetViewLink | string | Link to a street-level map preview |
heroPhoto | string | Direct link to the headline photo |
imageTotal | integer | How many photos accompany the listing |
imageGallery | array | Direct image URLs for the home |
hasVirtualTour | boolean | True when a Matterport 3D tour is attached |
flagComingSoon | boolean | True when marked coming soon |
flagFreshListing | boolean | True when flagged as a new listing |
flagPriceDrop | boolean | True when the price recently dropped |
flagNewBuild | boolean | True when newly built |
flagPending | boolean | True when the sale is pending |
flagContingent | boolean | True when the sale is contingent |
flagAuction | boolean | True when sold at auction |
flagFractional | boolean | True when ownership is fractional |
feedId | string | Identifier of the originating feed |
feedName | string | Name of the originating feed, e.g. the local MLS |
feedType | string | Type of the originating feed |
feedListingRef | string | Listing ID in the source feed |
offersAgentContact | boolean | Whether a contact-an-agent action is offered |
leadMarket | string | Lead market classification |
leadCategory | string | Lead type for the listing |
flagVaEligible | boolean | True when flagged Veterans United eligible |
productSet | array | Distribution products attached to the listing |
productBrand | string | Brand name tied to the products |
leadAgentRole | string | Role of the primary representative |
leadAgentName | string | Name of the primary representative |
leadAgentEmail | string | Email for the primary representative |
leadAgentBrokerage | string | Office handling the primary representative |
leadAgentPhones | array | Phone numbers for the primary representative |
coAgentRole | string | Role of the secondary representative |
coAgentName | string | Name of the secondary representative |
coAgentEmail | string | Email for the secondary representative |
coAgentBrokerage | string | Office handling the secondary representative |
coAgentPhones | array | Phone numbers for the secondary representative |
brokerBranding | string | Affiliated agent branding label |
searchPromos | array | Search-level promotions attached to the listing |
communityPromos | array | Community-level promotions attached to the listing |
openHouseSlots | array | Scheduled open house entries with times and notes |
capturedAt | string | ISO 8601 timestamp of when the row was captured |
failureReason | string | Reason a row failed; null on success |
Tips for best results
- Always set a location. Give the scraper at least one of
zipCode,cityName,stateCode, oraddressLine, or it has nothing to search against. - Start small. Drop
maxRecordsto around 50 on your first run so you can confirm the fields match your pipeline before pulling thousands. - Pair
cityNamewithstateCode. A city name on its own can match across several states; the two together keep results tight. - Sort by
priceDropAmount. The biggest cuts usually point to the most motivated sellers, so that column is a fast way to rank the list. - Switch proxy tiers if requests start failing. US datacenter clears most runs; move to residential if you hit repeated errors.
- Raise
requestBudgetSecondstoward 60 to 90 on slower proxies, and giverunBudgetSecondsmore room for large states.
How can I use price-drop property data?
How can I use the Price Reduced Property Scraper to find motivated sellers?
Enter a target ZIP code or city and the scraper returns every home with a recent price cut, each carrying the new currentPrice, the priceDropAmount, the street address, beds and baths, and the listing agent's name, email, and phone. Sort by priceDropAmount to put the deepest reductions at the top, then export the rows straight into your CRM.
How can I track price reductions across a neighborhood over time?
Save your filters and schedule the run on Apify to repeat daily. Every row stamps capturedAt and carries flagPriceDrop along with dateListed, so you can diff one day's dataset against the last and watch how asking prices move block by block.
How can I scrape discounted home listings across a whole state?
Pass a stateCode such as TX, raise maxRecords, and the scraper paginates through the available inventory and hands back one row per home. Filter by homeCategories, an asking-price range, or bedroom count to keep only the reduced listings that match your buy box.
How can I pull listing agent contacts for homes that just dropped in price?
Each row includes leadAgentName, leadAgentEmail, leadAgentPhones, and leadAgentBrokerage, plus the same set for a co-agent when one is present. Combine those with the price and location fields to build an outreach list aimed only at sellers who have already shown they will negotiate.
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.