Propwire Scraper — US Property & Owner Data
Pricing
from $0.75 / 1,000 properties
Propwire Scraper — US Property & Owner Data
[💰 $0.75 / 1K] Extract US property and owner data from Propwire.com: owner names and mailing addresses, equity and value estimates, mortgages, transfers, foreclosure notices and MLS status. 107 fields, 38 verified filters, 24 off-market lead types. Export to JSON, CSV or Excel.
Pricing
from $0.75 / 1,000 properties
Rating
0.0
(0)
Developer
SolidCode
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
5 days ago
Last modified
Categories
Share
Pull US property, owner and off-market lead records from Propwire.com at scale — owner names and mailing addresses, equity and value estimates, mortgage and transfer history, foreclosure filings and MLS status, in one clean row per property. Built for real estate investors, wholesalers, and lead-generation teams who need a skip-trace-ready list of motivated sellers without clicking through a map one parcel at a time.
Propwire indexes 131 million US properties. Set your filters here or paste a search link from the site, and get structured rows back.
Why This Scraper?
- Owner name and mailing address on 95% of rows — measured across 300 properties spanning Los Angeles, Houston, Chicago and Miami and three property classes (single-family, condo, land). Street address, city, state, ZIP and GPS coordinates land on 98%. That is a skip-trace-ready list straight out of the search, with no second lookup.
- 38 search inputs, every one verified live against Propwire's own index — Los Angeles holds 412,706 properties;
high_equitynarrows it to 255,117, a 90-day time-on-market to 548, a $500k–$600k value band to 39,425, andzombie_propertyto 28. Nothing is offered here that was not measured returning rows. - 24 lead types that all return data — high equity, absentee owner, free and clear, cash buyer, tired landlord, empty nester, pre-probate, out-of-state owner, negative equity, vacant home, vacant lot, flipped, private lender, bank owned, pre-foreclosure, auction, zombie property and more. Categories behind Propwire's paid Premium Leads add-on are refused up front with a clear message instead of failing halfway through a paid run.
- 107 fields per property, 37 of them behind one switch — parcel number, legal description, zoning and land use; the tax bill, tax year and delinquency year; up to 25 mortgage records with lender, rate, balance, loan type and maturity date; transfer history; the foreclosure notice type, lender, opening bid and judgment amount; and the owner's whole portfolio with its value, equity and other property IDs.
- 100% enrichment, measured — 1,800 of 1,800 properties came back with their full detail record attached across two cloud runs. Parcel number and county on 100%, tax year on 100%, portfolio size on 99.8%.
- Radius search around any map point — a 1-mile circle on downtown Los Angeles matches 8,987 properties, 5 miles 161,857, 25 miles 2,163,971. Verified in the output: across 1,200 rows drawn on a 5-mile circle, the furthest was 3.06 miles from the centre, and the rows spanned two states — a circle on Lower Manhattan returns Jersey City and Hoboken parcels, which no city or state filter can do.
- Sort on 7 verified fields — estimated value, estimated equity, equity percentage, MLS list price, list price per sq ft, days on market, last sold price. Propwire serves at most 10,000 rows per search, so the sort decides which 10,000 of a 412,706-property market you get.
- Foreclosure notices that work in every state — Lis Pendens, Notice of Default, Notice of Trustee Sale, Notice of Sale and REO, cross-checked in five metros: Miami returns 4,601 Lis Pendens and no Notices of Default, Houston returns 1,044 Trustee Sale notices and no Lis Pendens. Judicial and non-judicial states are both covered, and each option says which states use it.
- Look up properties you already know — paste street addresses or Propwire property IDs and get the same full row back, with a match mode for the addresses that resolve to several parcels ("101 Crawfords Corner Rd, Holmdel, NJ 07733" resolves to 4).
Use Cases
Off-Market Lead Generation
- Build absentee-owner, tired-landlord and empty-nester lists with mailing addresses ready for direct mail
- Target pre-foreclosure and auction properties with the notice type, recording date and auction date attached
- Screen for vacancy, tax delinquency and free-and-clear ownership — the three strongest distress signals in the dataset
Investment & Acquisition Analysis
- Pull comparables with last sold price and date, estimated value, price per sq ft and the ZIP median to benchmark against
- Find high-equity and long-held property by equity percentage, dollar equity or years of ownership
- Read the debt before you offer: loan amount, current balance, interest rate, loan type and maturity date per mortgage
Portfolio & Landlord Research
- Identify owners holding 5, 10 or 50+ properties and pull their whole portfolio's value, equity and mortgage balance
- Separate individual, company, trust and bank ownership to route entity deals differently from consumer ones
- Follow transfer history to see intrafamily transfers, quitclaims and non-arms-length deeds
Market Research & Analytics
- Measure equity, vacancy and ownership mix across a city, county, ZIP or map radius
- Track failed, pending and sold MLS listings alongside off-market inventory in the same table
- Compare price per sq ft against the ZIP median across thousands of properties at once
Data Enrichment & CRM Integration
- Refresh a saved list by property ID and get today's values, mortgages and status
- Append owner, equity and tax data to an address list you already hold
- Feed results into a CRM, sheet or warehouse with the built-in integrations below
Getting Started
Simplest run
Everything else falls back to its default — 100 properties from California:
{"maxItems": 100}
A filtered search
High-equity single-family homes in Houston, absentee owners only, largest equity first:
{"state": "TX","city": "Houston","propertyType": "sfr","leadType": "high_equity","ownerOccupancy": "absentee","sortBy": "estimated_equity","sortOrder": "desc","maxItems": 1500}
Paste a search URL from the site
Set your filters on Propwire.com, then copy the address bar URL. Several lead types or property types at once — which the drop-downs take one of — come across this way.
{"searchUrls": ["https://propwire.com/search?filters=%7B%22locations%22%3A%5B%7B%22searchType%22%3A%22C%22%2C%22state%22%3A%22CA%22%2C%22city%22%3A%22Los%20Angeles%22%2C%22title%22%3A%22Los%20Angeles%2C%20CA%22%7D%5D%2C%22lead_type%22%3A%5B%22high_equity%22%5D%2C%22property_type%22%3A%5B%22sfr%22%5D%2C%22estimated_equity_percent%22%3A%7B%22min%22%3A60%7D%7D"],"maxItems": 10000}
A map radius, with full details
Every property within 5 miles of a point, enriched with mortgages, taxes and ownership:
{"latitude": 40.7128,"longitude": -74.006,"radiusMiles": 5,"propertyType": "mfh_2_to_4","bedroomsMin": 3,"enrichDetails": true,"maxItems": 1200}
Input Reference
What to Scrape
| Parameter | Type | Default | Description |
|---|---|---|---|
searchUrls | array | — | Paste Propwire URLs copied straight from your browser. A search link -- propwire.com/search?filters=... -- is read for the area and filters you set on the site and re-run here, so everything the Propwire search bar can express comes across, including several lead types or property types at once, which the drop-downs below only take one of. A property link -- propwire.com/realestate/ |
maxItems | integer | 100 | Maximum properties per search URL (0 = collect everything each search returns). Propwire.com pages through at most 10,000 properties per search, so use several narrower searches to collect more. |
Options
| Parameter | Type | Default | Description |
|---|---|---|---|
state | string | CA | The US state to search. Required unless you use a ZIP code or a map point below. Leaving it on "Any state" together with an empty city, county and ZIP code is refused before any request is made - an unbounded search would return the whole 131-million-record national database. |
city | string | — | One city inside the state above, spelled the way Propwire spells it ("Los Angeles", "Fort Worth"). Capitalisation does not matter. Leave empty to search the whole state. |
county | string | — | One county inside the state above, without the word "County" - "Orange", "Cook", "Harris". Use this instead of a city to cover a whole metro area. |
zipCode | string | — | A single 5-digit ZIP code. A ZIP code works on its own - you do not need to set the state - and it wins over the city and county above when you set both. ZIP codes are the most reliable way to cover a big city without running into the 10,000-result-per-search limit. |
latitude | number | — | Search a circle around a point on the map instead of an area. Set latitude, longitude and radius together. When all three are set they replace the state, city, county and ZIP code above entirely. |
longitude | number | — | The longitude of the map point. Negative in the United States. |
radiusMiles | number | — | How far around the map point to search, in miles. Required when you set a latitude and longitude. A 1-mile circle around downtown Los Angeles matches about 9,000 properties, a 5-mile circle about 162,000. |
leadType | string | "" | One of Propwire's lead categories. Each one is a signal that the owner may be willing to sell below market. Five further categories (bankruptcies, code violations, divorce, liens and tax liens) are behind Propwire's paid Premium Leads add-on and are not available to this actor. |
ownerType | string | "" | Who holds the title. |
ownerOccupancy | string | "" | Absentee owners are the classic investor lead: they are landlords or inheritors rather than residents. |
occupancyStatus | string | "" | A vacant property costs its owner money every month in taxes, insurance and upkeep, which is why vacancy is one of the strongest motivation signals. |
cashBuyerOnly | boolean | false | Only properties bought outright without a mortgage. These owners are usually investors who buy again. |
yearsOwnedMin | integer | — | How long the current owner has held the property. 10+ years is the usual tired-landlord threshold; 20+ years is the usual empty-nester threshold. |
propertiesOwnedMin | integer | — | Find portfolio owners. Set to 5 or more to reach landlords and small funds rather than single-home owners. |
taxDelinquentSinceYear | integer | — | Only properties with unpaid property taxes going back to this year or later. Unpaid taxes are a public, dated distress signal. |
propertyType | string | "" | Propwire's own eight property categories. |
bedroomsMin | integer | — | Only properties with at least this many bedrooms. |
bathroomsMin | integer | — | Only properties with at least this many bathrooms. |
buildingSqftMin | integer | — | Only properties whose building is at least this many square feet. |
lotSqftMin | integer | — | Only properties whose lot is at least this many square feet. One acre is 43,560 square feet. |
yearBuiltMin | integer | — | Only properties built in this year or later. Leave empty for any age. |
mustHavePool | boolean | false | Only properties Propwire records as having a swimming pool. |
estimatedValueMin | integer | — | Propwire's own estimate of what the property is worth today. |
estimatedValueMax | integer | — | Upper end of the estimated-value band. Set it with the minimum above to search a price range. |
estimatedEquityMin | integer | — | How much of the property's value the owner actually owns, in dollars. |
estimatedEquityPercentMin | integer | — | The same thing as a percentage. 60% or more is Propwire's own "high equity" threshold. |
lastSoldPriceMin | integer | — | What the current owner paid when they bought it. |
lastSoldSince | string | — | A date written as YYYY-MM-DD. Only properties whose most recent recorded sale happened on or after this date - the fastest way to build a recent-buyer or comps list. |
noticeType | string | "" | Which foreclosure filing the county recorded. Which one applies depends on the state: Lis Pendens and Notice of Foreclosure Sale are used in court-driven states such as Florida, New York, New Jersey and Illinois, while Notice of Default and Notice of Trustee Sale are used in states such as California and Texas. Pick the one your state uses, or leave it on "Any". |
auctionDateFrom | string | — | A date written as YYYY-MM-DD. Only properties with a foreclosure auction scheduled on or after this date. Use today's date to get only auctions that have not happened yet. |
mlsStatus | string | "" | Whether the property is on the open market. "Failed" listings are owners who tried to sell and could not, which is why they are the most contacted group on Propwire. |
daysOnMarketMin | integer | — | Only listings that have been for sale at least this long. A listing sitting for 90+ days usually means the asking price is wrong and the seller knows it. |
mlsKeyword | string | "" | Searches the agent's own listing copy for one of three groups of phrases Propwire tracks. Only applies to properties that are or were on the MLS. |
sortBy | string | "" | Which number to order the results by. |
sortOrder | string | desc | Only used when you pick something to sort by. |
addresses | array | — | One street address per line, e.g. 101 Crawfords Corner Rd, Holmdel, NJ 07733. Each address is matched against Propwire's own address index and the matching properties are returned with the same fields as a search result. Propwire often has several parcels behind one street address - use the setting below to choose what happens then. |
addressMatchMode | string | first | Propwire returns up to five candidate parcels for a street address: "101 Crawfords Corner Rd, Holmdel, NJ 07733" returns 4 and "1 Main St" returns 5. This decides whether you get the top one or all of them. |
propertyIds | array | — | One Propwire property ID per line, e.g. 108859. This is the number at the end of a Propwire property link and the id field in this actor's own output, so it is the way to re-pull a saved list or refresh yesterday's results. |
enrichDetails | boolean | false | Add 37 extra fields per property. Adds one request per property and is billed at the higher rate. |
concurrency | integer | 8 | How many requests to run in parallel. Lower this if you see failures. |
proxyConfiguration | object | Apify Proxy | Proxy settings for the run. |
Output
Every property is one dataset row. Enabling enrichDetails adds 37 further fields to the same row — there is no second record type to join.
{"id": 128162,"url": "https://propwire.com/realestate/property/128162","address": "3303 S 81st Ave","city": "Phoenix","state": "AZ","zip": "85043","latitude": 33.418902,"longitude": -112.233291,"propertyType": "SFR","bedrooms": 3,"bathrooms": 2.5,"buildingAreaSqft": 1966,"lotSizeSqft": 8591,"lotSizeAcres": 0.197,"yearBuilt": 2002,"pool": "Yes","heatingType": "Forced Air With Air Conditioning","estimatedValue": 417541,"estimatedEquity": 132672,"estimatedEquityPercent": 32,"estimatedPricePerSqft": 234.969611705,"estimatedZipPricePerSqft": 261.341937796,"lastSoldPrice": 236000,"lastSoldDate": "2018-03-20T00:00:00","taxAssessedTotal": 13828,"ownerNames": ["<owner name>", "<owner name>"],"ownerOccupied": true,"ownerMailingAddress": "<owner mailing street>","ownerMailingCity": "PHOENIX","ownerMailingState": "AZ","ownerMailingZip": "85043","yearsOfOwnership": 5,"highEquity": false,"freeAndClear": false,"cashBuyer": false,"vacantHome": false,"preForeclosure": true,"foreclosure": true,"auctionDate": "2026-08-05T00:00:00","leadTypes": ["adjustable_loan", "assumable_loan", "auction", "intrafamily_transfer", "preforeclosure"],"apn": "104-53-280","legalDescription": "SUNDANCE RANCH 2 MCR 567-26","county": "Maricopa","zoning": "R-8","landUse": "RESIDENTIAL","propertyUseDescription": "Single Family Residence","stories": 1,"roomsCount": 6,"constructionType": "Frame","taxBilledAmount": 1716.36,"taxYear": 2025,"marketTotalValue": 331100,"currentMortgages": [{"recording_date": "2020-01-15","loan_amount": 239107,"estimated_loan_balance": "207042.68","interest_rate": 3.65,"loan_type": "FHA","lender_name": "ACADEMY MORTGAGE CORP","loan_maturity_date": "2050-02-01","assumable": true,"position": "First"}],"transferHistory": [{"recording_date": "2022-01-12","deed_type": "INTRAFAMILY TRANSFER","transfer_amount": 0,"grantor_name": "<previous owner>","grantee_name": "<owner name>","arms_length_transaction": false}],"ownerType": ["INDIVIDUAL"],"ownerRelationshipType": "Community Property","propertiesOwned": 1,"portfolioValue": 417541,"portfolioEquity": 132672.05,"portfolioMortgageBalance": 284868.95,"foreclosureActive": true,"foreclosureNoticeType": "NOTICE OF TRUSTEE SALE","foreclosureRecordingDate": "2026-05-04T00:00:00","foreclosureLender": "Freedom Mortgage Corporation"}
That is a real captured Phoenix property with the owner's names and street line replaced by placeholders, and its history arrays shortened — the live record carried 13 mortgage entries and 10 transfers.
Core Fields & Location
| Field | Type | Description |
|---|---|---|
id | number | Property ID |
url | string | Property page |
address | string | Street address |
city | string | City |
state | string | State |
zip | string | ZIP |
latitude | number | Latitude |
longitude | number | Longitude |
propertyType | string | Property type |
bedrooms | number | Bedrooms |
bathrooms | number | Bathrooms |
buildingAreaSqft | number | Building area (sq ft) |
livingAreaSqft | number | Living area (sq ft) |
lotSizeSqft | number | Lot size (sq ft) |
lotSizeAcres | number | Lot size (acres) |
yearBuilt | number | Year built |
units | number | Units |
absenteeOwner | boolean | Absentee owner |
highEquity | boolean | High equity |
freeAndClear | boolean | Free and clear |
cashBuyer | boolean | Cash buyer |
vacantHome | boolean | Vacant home |
preForeclosure | boolean | Pre-foreclosure |
Price & Value
| Field | Type | Description |
|---|---|---|
estimatedValue | number | Estimated value (USD) |
estimatedEquity | number | Estimated equity (USD) |
estimatedEquityPercent | number | Estimated equity (%) |
estimatedLtv | number | Estimated LTV |
estimatedPricePerSqft | number | Estimated $/sq ft |
estimatedZipPricePerSqft | number | ZIP median $/sq ft |
lastSoldPrice | number | Last sold price (USD) |
lastSoldDate | string | Last sold date |
taxAssessedTotal | number | Assessed value (USD) |
taxAssessedLand | number | Assessed land (USD) |
taxAssessedImprovements | number | Assessed improvements (USD) |
taxAssessmentYear | number | Assessment year |
Owner, Agent & Media
| Field | Type | Description |
|---|---|---|
ownerNames | array | Owner names |
ownerOccupied | boolean | Owner occupied |
ownerMailingAddress | string | Owner mailing address |
ownerMailingCity | string | Owner mailing city |
ownerMailingState | string | Owner mailing state |
ownerMailingZip | string | Owner mailing ZIP |
yearsOfOwnership | number | Years owned |
companyOwned | boolean | Company owned |
trustOwned | boolean | Trust owned |
investorOwned | boolean | Investor owned |
mlsAgentName | string | Listing agent |
mlsAgentPhone | string | Listing agent phone |
mlsAgentEmail | string | Listing agent email |
mlsOfficeName | string | Listing office |
mlsOfficePhone | string | Listing office phone |
mlsBrokerageWebsite | string | Brokerage website |
mlsPhotoUrls | array | MLS photo URLs |
mlsVirtualTourUrl | string | Virtual tour |
Details & Timestamps
| Field | Type | Description |
|---|---|---|
pool | string | Pool |
coolingType | string | Cooling |
heatingType | string | Heating |
garageType | string | Garage |
fireplace | boolean | Fireplace |
daysOnMarket | number | Days on market |
mlsStatus | string | MLS status |
mlsStatusDate | string | MLS status date |
mlsLastPrice | number | MLS last price (USD) |
mlsListPrice | number | MLS list price (USD) |
mlsListDate | string | MLS list date |
mlsSoldPrice | number | MLS sold price (USD) |
mlsSoldDate | string | MLS sold date |
mlsListingUrl | string | Listing page (MLS partner) |
mlsDescription | string | Listing description |
foreclosure | boolean | In foreclosure |
auctionDate | string | Auction date |
Full Details — Parcel, Building & Tax
Added to every row when enrichDetails is on.
| Field | Type | Description |
|---|---|---|
apn | string | Parcel number (APN) |
legalDescription | string | Legal description |
county | string | County |
zip4 | string | ZIP+4 |
subdivision | string | Subdivision |
zoning | string | Zoning |
landUse | string | Land use |
propertyUseDescription | string | Property use |
stories | number | Stories |
roomsCount | number | Rooms |
constructionType | string | Construction |
exteriorType | string | Exterior |
buildingStyle | string | Building style |
taxBilledAmount | number | Tax billed (USD) |
taxYear | number | Tax year |
marketTotalValue | number | Market value (county) (USD) |
taxDelinquentYear | number | Tax delinquent since |
taxExemptions | object | Tax exemptions |
photoUrls | array | Photo URLs |
Full Details — Ownership, Mortgages & Foreclosure
| Field | Type | Description |
|---|---|---|
leadTypes | array | Lead types |
ownerType | array | Owner type |
ownerRelationshipType | string | Owner relationship |
propertiesOwned | number | Properties owned |
portfolioValue | number | Portfolio value (USD) |
portfolioEquity | number | Portfolio equity (USD) |
portfolioMortgageBalance | number | Portfolio mortgage balance (USD) |
linkedPropertyIds | array | Other properties owned (IDs) |
currentMortgages | array | Current mortgages |
mortgageHistory | array | Mortgage history |
transferHistory | array | Transfer history |
mlsHistory | array | MLS history |
foreclosureActive | boolean | Foreclosure active |
foreclosureNoticeType | string | Foreclosure notice type |
foreclosureRecordingDate | string | Foreclosure recorded |
foreclosureLender | string | Foreclosure lender |
foreclosureOpeningBid | number | Auction opening bid (USD) |
foreclosureJudgmentAmount | number | Judgment amount (USD) |
Tips for Best Results
- Propwire serves at most 10,000 properties per search, and Los Angeles alone holds 412,706. To cover a big market, split it: run one search per ZIP code (ZIP 90003 is 10,683 properties), per county, or per value band. Several searches in one run are de-duplicated against each other, so overlapping slices cost you nothing.
- When a market is bigger than 10,000, the sort decides which 10,000 you get. Sorting by
estimated_equitydescending returns the highest-equity properties in the city rather than an arbitrary slice — the single highest-leverage setting for a lead list. - A ZIP code works on its own — no state needed — and it beats a city when you set both. It is the most reliable way to work a large city without hitting the per-search ceiling.
- Lead types combine as AND, not OR. Picking one gives you that whole pool; if you want the overlap of two, set both on Propwire.com and paste the search URL. Bank-owned (961 in Los Angeles) and vacant (3,084) intersect at just 4.
- Foreclosure notice types are state-specific. Lis Pendens and Notice of Sale are filed in judicial states (FL, NY, NJ, IL); Notice of Default and Notice of Trustee Sale in states like CA and TX. Picking the wrong one for your state returns nothing — the input's description says which is which.
- Leave full details off while you are still narrowing the search. The search tier alone returns 70 fields including owner name, mailing address, equity and value, and it runs in seconds; turn full details on for the shortlist, where the extra 37 fields and the second rate are worth it.
- Photo URLs are usually empty on off-market properties — Propwire's source carries no images for parcels that were never listed. Listed property returns photos in
mlsPhotoUrlsinstead, so filter on an MLS status when images matter.
Pricing
From $0.75 per 1,000 results (search only) or from $1.295 per 1,000 results (with full details).
| Results | Search Only | With Full Details |
|---|---|---|
| 100 | $0.075 | $0.1295 |
| 1,000 | $0.75 | $1.295 |
| 10,000 | $7.50 | $12.95 |
| 100,000 | $75.00 | $129.50 |
Those are the rates on Gold and above. Higher-volume plans pay less per result:
| Your Apify plan | Search Only | With Full Details |
|---|---|---|
| No discount | $0.90 | $1.55 |
| Bronze | $0.85 | $1.47 |
| Silver | $0.80 | $1.38 |
| Gold and above | $0.75 | $1.295 |
Per 1,000 results.
A "result" is any property row in the output dataset. When you run several searches at once, a property matching more than one of them is de-duplicated before it reaches the dataset, so you are never charged twice for the same property. The full-details rate applies only to rows that actually came back enriched — if a property's detail record is unavailable, the row is still delivered and charged at the search-only rate. Platform fees (compute, storage) are additional and depend on your Apify plan.
Integrations
Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:
- Zapier / Make / n8n — Workflow automation
- Google Sheets — Direct spreadsheet export
- Slack / Email — Notifications on new results
- Webhooks — Trigger custom APIs on run completion
- Apify API — Full programmatic access
Legal & Ethical Use
This is an unofficial scraper. It is not affiliated with, endorsed by, or connected to Propwire.com or its operators in any way. All trademarks belong to their respective owners.
This actor is intended for legitimate market research and analytics. You are responsible for complying with applicable laws and with Propwire.com's Terms of Service.
Results include personal data — owner names and mailing addresses. Treat them accordingly: do not use them for spam, harassment, or any unlawful purpose, and follow applicable privacy and direct-marketing rules when storing or processing them. Property and owner data must not be used to discriminate on any basis protected by the Fair Housing Act or equivalent local law.