How to Filter Off-Market Properties with BatchData APIs

Author

BatchService

Most off-market leads do not come from one flag. They come from a small group of signals that point in the same direction.

I’d sum up this guide like this: if I want a usable off-market list, I start with location, property type, and value, then I layer in no active listing, absentee ownership, 5+ years owned, equity, and distress data. After that, I sort the results, enrich owner records, and send the list into a CRM or outreach flow.

Here’s the short version:

  • Off-market filtering means finding properties without an active public listing
  • The best lists usually combine ownership, equity, and distress signals
  • A simple starting filter is:
    • Off-market status
    • Absentee owner = true
    • Ownership length > 5 years
  • BatchData’s Property Search API works across 155 million U.S. parcels
  • For contact data, BatchData supports skip tracing in batches of up to 100 records per call
  • BatchData reports a 76% right-party contact rate
  • One study cited in the article found MLS-listed homes sold for 17.5% more than similar off-market homes, or about $53,890 more in 2022

If I were building this from scratch, I’d use a simple workflow:

  1. Search by market, property type, and value band
  2. Filter by off-market status, absentee owner, equity, and distress
  3. Rank by equity or time since last sale
  4. Enrich with phone and email data
  5. Verify numbers before outreach
  6. Send the records into batch delivery or real-time monitoring

A quick side-by-side view:

WorkflowWhat I’d use it forLead volumeLead intent
Broad status-only searchMarket coverageHighLower
Layered off-market searchDirect outreachLowerHigher
Ownership-focused searchLLCs, trusts, portfoliosMediumMixed

Bottom line: this article is about turning raw property data into a repeatable lead filter. I’m not just pulling records. I’m building a search logic I can run again by market, sort by seller signals, and pass into outreach without doing the same manual work each time.

How to Build a Repeatable Off-Market Property Filter with BatchData APIs

How to Build a Repeatable Off-Market Property Filter with BatchData APIs

Choose the Right Filters for Off-Market Property Searches

Finding off-market properties comes down to lining up the right signals: ownership type, equity, timing, and property details that hint an owner may be ready to sell. The simplest way to do this is to start with filters that shrink the market, then add signals that point to seller motivation. That filter mix shapes the request you’ll build in the next section.

Start with Geography, Property Type, and Value Range

Begin with your market boundaries, property type, and price band. Geography defines the search area. BatchData lets you filter by state, county, ZIP code, city, or a custom polygon, which helps when a target market doesn’t fit neatly inside ZIP code lines. Property type trims the list to single-family or multifamily. For value range, you can use either tax-assessed value or an automated valuation model (AVM) estimate. Use square feet for building area and acres for lot size.

These three filters set the baseline. They define the full pool of parcels in a market before you add any motivation signals. They also become the first query parameters you pass to the API. Once the market is boxed in, the next step is ownership and distress.

Add Off-Market Status, Ownership, and Timing Signals

First, filter out active, pending, and recently sold records. After that, ownership filters do most of the work.

Absentee ownership means the owner’s mailing address is different from the property address. That’s a strong off-market signal. Trust or LLC ownership filters help separate individual homeowners from corporate or portfolio owners, which matters if you’re after a portfolio deal or a commercial buy.

Timing signals help you spot holding period. Last sale date and ownership duration can show which owners have built up a lot of equity. Owners who have held a property for 5+ years are more likely to sell than people who bought recently. Then you can layer in distress signals like pre-foreclosure status, tax delinquency, or liens to find owners with stronger reason to move. Put together, that signal stack becomes the filter logic for the API request below.

Broad vs. Strict Filter Combinations: A Side-by-Side Look

How strict you go depends on what you’re trying to do. Every setup is a tradeoff between lead volume and lead quality.

Filter CombinationProsConsBest Use Cases
Broad (Status-Only)Maximum reach; captures every potential lead in a marketHigh marketing costs; many low-intent leadsMarket monitoring
Strict (Layered Signals)High conversion rates; identifies motivated sellersLow volume; may miss leads that don’t meet every criterionDirect outreach
Ownership-FocusedTargets specific entities like LLCs or Trusts; identifies professional vs. individual ownersRequires more complex skip tracing to find the actual decision-maker (see our guide on how to skip trace property owners)Portfolio acquisition

For most workflows, a good starting point is:

  • Off-market status
  • Absentee ownership
  • 5+ years owned

From there, add equity or distress filters based on your outreach goals. Use that filter mix as the base request in the API example that follows.

Step-by-Step: Build an Off-Market Query with BatchData APIs

BatchData

Set Up API Access and Create the Base Property Search Request

Now it’s time to turn that filter stack into an actual request.

Authenticate with BatchData APIs by sending your API key as a Bearer token in the request header. Don’t hard-code the key. Put it in an environment variable instead, so it stays out of version control and is easier to rotate safely.

Start the base request with geography, property type, and core property attributes. Once that’s in place, add ownership and distress signals on top.

Layer In Off-Market, Equity, and Distress Filters

First, remove active and pending listings. Then add ownership signals like absentee owner status and longer ownership duration to surface owners who may be more open to selling.

Next comes value and equity. A useful starting point is:

Estimated Equity = AVM Value − Estimated Mortgage Balance

You can also use loan-to-value ratios and mortgage lien details, including lender, interest rate, and origination date, to tighten the list. For distress, add pre-foreclosure status, foreclosure filings, tax delinquency, or involuntary liens.

Some records stand out fast. A tax lien plus a pre-foreclosure notice usually tells a stronger story than a single signal alone. Even then, check that each signal is still active before outreach.

After filtering, rank the remaining records and enrich them.

Paginate Results, Sort the List, and Enrich Owner Records

Large searches need pagination. Pull results in manageable batches, then sort by estimated equity or time since the last sale so you can work the strongest leads first.

After sorting, use BatchData’s Skip Trace endpoint to add verified phone numbers and email addresses. The batch workflow supports up to 100 records per call, and BatchData reports a 76% right-party contact rate.

Before you launch a campaign, run phone numbers through the Phone Verification endpoint to check DNC registries and identify TCPA litigators. That gives you a cleaner handoff from filtered list to outreach-ready records.

Here’s a simple way to think about the tradeoff between lead quality and volume:

Workflow TypeFilters UsedTypical Record CountLead Quality
High-Equity AbsenteeAbsentee Flag: True, Equity: >50%, Listing Status: Not ActiveModerateHigh
Distressed/MotivatedPre-foreclosure: True, Tax Delinquency: True, Listing Status: Not ActiveLowVery High
Geographic FarmingZIP Code, Property Type: Single Family, Length of Ownership: >10 years – best for list-building at scaleHighMedium
Institutional Buy-BoxSquare Footage: 1500-2500, Year Built: >2000, LTV: <70%ModerateHigh

Use High-Equity Absentee when you want cleaner leads and Geographic Farming when you need broader coverage. Go with Distressed/Motivated when conversion matters most.

Put Off-Market Filtering Into Production Workflows

Once your filter logic is set, move it into a repeatable delivery pipeline.

Run Batch Pulls or Real-Time Monitoring by Market

Production workflows need repeatable delivery, not one-off queries. BatchData supports two core deployment patterns: scheduled batch pulls and event-driven monitoring via Smart Search.

Smart Search sends new matches as soon as they appear, so teams can act without polling. That’s a strong fit when speed matters.

For scheduled workflows, BatchData can deliver CSV files to Amazon S3, Google Drive, or SFTP on a set cadence. This works well for analysts running weekly market reports or feeding a data warehouse.

After delivery, standardize each record before storage or outreach.

Normalize U.S. Property Data for Storage and Reporting

Normalize real estate API responses before loading them into a CRM, warehouse, or report. Use the Address Verification endpoint to validate and standardize addresses according to USPS conventions before syncing records.

Use U.S. number formatting: commas for thousands and periods for decimals. Keep square footage, acreage, and state abbreviations consistent. BatchData returns structured JSON responses, so you can apply those rules in one normalization function before records hit your database.

Pick a Pipeline Pattern Based on Freshness and Complexity

Choose the pipeline that fits how fast your leads need to update.

PatternTypical Use CaseData FreshnessComplexity
Batch PullsData warehousing, large-scale analytics, ML model trainingDaily or weeklyMedium
Real-Time Monitoring (Smart Search)Active acquisition pipelines, CRM lead triggers, immediate outreachInstant – event-driven pushLow to medium
Hybrid PipelineEnterprise PropTech apps needing both scale and speedReal-time updates + daily bulk syncsHigh

For most acquisition teams, Smart Search is the best place to start. It removes polling overhead and sends fresh leads into a CRM the moment a property matches your filters.

Teams running large-scale analytics or training machine learning models across BatchData’s over 155 million property parcels will usually get more from batch delivery through S3 or Snowflake. And if you’re building a PropTech product that needs both scale and speed, plan for a hybrid architecture from day one.

No-code teams can also trigger CRM updates and outreach when a property matches the filter.

Conclusion: Build Cleaner Off-Market Lists with Repeatable API Filters

Once your filters, sorting rules, and enrichment steps are set, the main job is simple: make the process easy to run again and again. That’s the big lesson here. Off-market filtering works best as a repeatable workflow, not a one-off search.

Start with layered signals. When you stack distress signals, you get a clearer priority list than you would from any single indicator.

Begin with broad searches to map the market. Then tighten your filters to surface the strongest leads. Use both approaches, and adjust your thresholds based on response.

After filtering, the next move is turning records into leads you can use. Contact enrichment takes a filtered list and makes it ready for outreach.

BatchData APIs help keep that workflow reusable. You can document your filters, rerun them across markets, and update them as conditions shift. That repeatable process is what makes off-market prospecting scale.

FAQs

How strict should my off-market filters be?

Your filters should line up with your investment strategy and the kind of lead quality you want. When you have access to granular data points, you can get very specific by mixing filters like location, property traits, equity, and distress.

For off-market deals, a layered approach usually works best. Pairing signals like high equity, vacancy, and out-of-state ownership turns a broad dataset into a more usable list.

Which signals matter most for motivated sellers?

The strongest signals usually come from a mix of financial distress, major life events, and ownership patterns.

That often includes pre-foreclosure filings like Notices of Default or Lis Pendens, tax delinquency or liens, and signs of property distress, such as code violations, deferred maintenance, or stalled construction.

Many investors also watch for divorce, retirement, or estate transitions. Then they stack those signals with high equity, long-term ownership, and absentee ownership to spot leads that are more likely to act.

How often should I refresh my off-market list?

You usually don’t need to refresh your off-market list by hand.

BatchData refreshes its database daily, and Smart Search can run your criteria automatically 24/7.

That means it keeps scanning for properties that match what you’re looking for and alerts you when it finds updates that matter, like a new deed recording or a property status change.

Related Blog Posts

Highlights

Share it

Author

BatchService

Share This content

suggested content

Data Analysis

How to Use Data Accuracy to Dominate Real Estate Investing

Which Property Data API Has the Most Accurate Owner Information?

Property Data Summary

5 Steps to Standardize Bulk Property Data