> ## Documentation Index
> Fetch the complete documentation index at: https://developers.investorlift.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Filters in plain words

> One filter state serves every view: what you want and the parameter that says it, plus the Texas price rules.

All of these filters work on deals, cells, summary, investors and buyers/match. So one filter state serves every view.

**Location.** The filters narrow a location. The location is separate from the filters and takes one of four forms:

* a point: `lat` + `lng` with `radius_miles`
* a viewport: `bbox=west,south,east,north`
* a parcel: `property_id`, with `radius_miles`
* a place, on every list but `/v1/buyers/match`: a `zip` or a `city`

`zip` takes a comma list or a repeated key of 5-digit ZIPs. `city` takes the parcel's postal city as the county records
it, in any case. Send one form per request.

`lat` + `lng` can also go beside a viewport or a place. Then they are the reference point for `distance_miles` and
`sort=distance`. A place with no point takes the list's default order. On Free and Starter the place is one ZIP
([Plans and limits](/guides/plans-and-limits)). For a ZIP or a city that no loaded market's parcels carry, the API
answers `422 outside_coverage` ([Coverage](/guides/concepts/coverage#ask-outside-a-market)).

| You want                                                                                   | Parameter                                                                                                 |
| ------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------- |
| only flips and wholesales                                                                  | `kind=flip,wholesale`                                                                                     |
| purchases between $200k and $500k                                                          | `price_min=200000&price_max=500000`                                                                       |
| bought since 2024                                                                          | `bought_after=2024-01-01`                                                                                 |
| houses, not condos                                                                         | `segment=SFR`                                                                                             |
| at least 3 bedrooms, 1,500+ sqft                                                           | `beds_min=3&sqft_min=1500`                                                                                |
| investors who are flippers (in any capacity)                                               | `investor_kind=FLIPPER`                                                                                   |
| drop wholesalers                                                                           | `investor_kind_exclude=WHOLESALER`                                                                        |
| only confident classifications                                                             | `investor_confidence_min=PROBABLE`                                                                        |
| include Opendoor, builders, REITs                                                          | `scale=individual,small,mid,large,institutional`                                                          |
| include the county and other public bodies                                                 | `include_public=true`                                                                                     |
| bought something in the last 12 months                                                     | `active_within_months=12`                                                                                 |
| at least 3 purchases in this radius                                                        | `investor_deals_min=3`                                                                                    |
| investors holding 20 or more parcels across the market                                     | `holds_min=20`                                                                                            |
| investors holding between 5 and 19 parcels (`holds_max=0`: holding nothing)                | `holds_min=5&holds_max=19`                                                                                |
| has bought from a wholesaler before                                                        | `buys_wholesale=true`                                                                                     |
| only deals bought through a double close                                                   | `bought_from_wholesaler=true`                                                                             |
| only buyers with an investor id                                                            | `registered_only=true`                                                                                    |
| bought at a foreclosure auction in the last two years (cash within a day)                  | `buys_at_auction=true`                                                                                    |
| bought from a lender after a foreclosure (REO) in the last two years                       | `buys_reo=true`                                                                                           |
| only deals whose purchase deed was a trustee's sale                                        | `bought_auction_kind=TRUSTEE_SALE` (also `SHERIFF_SALE`, `HOA_TRUSTEE_SALE`, `TAX_SALE`, `TAX_LIEN_DEED`) |
| investors who borrow from one lender, by any loan the registry ties to them                | `financed_by=len_...`                                                                                     |
| investors who borrowed from a hard-money, private or investor lender in the last two years | `uses_private_lender=true`                                                                                |
| one investor's deals                                                                       | `investor_id=inv_...`                                                                                     |

Lists take commas (`kind=flip,hold`) or repeated keys (`kind=flip&kind=hold`). For a misspelled parameter the API
answers a 400 that names it, so a typo never returns everything without an error. The three auction filters answer
`422 auction_unavailable` in a market whose registry predates the counts. `meta.coverage[].auction_counted` is `false`
there. Drop the parameter to list every row.

The two lender filters read the lender registry's borrower match. `financed_by` matches any loan the registry ties to
the investor. `uses_private_lender` matches a loan in the 24 months to the registry's slice date from three kinds of
lender. The lender is hard money by name or behaviour, an investor lender by behaviour, or classed `INDIVIDUAL` or
`PRIVATE`. Both answer `422 lenders_unavailable` in a market without a published registry or borrower match. The match
sees about one loan in five, so both are floors, never a cash test.

**Texas markets.** Texas is a non-disclosure state: most off-market deeds carry no price. So on a Houston deal
`bought_price` is usually null while the MLS resale's `sold_price` is known, and `gross_profit` and `spread_ratio` are
null. `price_quality` says which prices the row has: `SELL_ONLY`, `BOTH`, `BUY_ONLY` or `NONE`. The first is the normal
shape of a Texas flip bought off-market and sold through the MLS. A price is never 0.

The API handles a null purchase price in these ways:

* `price_min` / `price_max` compare `bought_price`, so either filter drops null-priced deals unless you add
  `include_unpriced=true`.
* `sort=price_desc` and `price_asc` put null-priced rows last in both directions.
* `median_bought_price`, `total_volume` and `in_radius.volume` use priced rows only, and `n_unpriced` counts the rows
  left out.
* `median_gross_profit` uses the rows where both prices are known.

In `/v1/buyers/match` the `price_fit` factor reads the investor's band of priced purchases. So for many Texas investors
it is absent, and the other factors share its weight. For an investor with fewer than 3 priced purchases, the API
halves it. `resale_fit` is the exit-price counterpart. It compares `subject_arv` with the median resale price of the
investor's flips, which Texas does record. It carries weight 0 by default, so set `w_resale_fit=` to score it.

The Houston market is Harris County. `meta.coverage[]` says so: `universe_kind: "county"`, `counties[]` names Harris,
and `n_parcels` gives the parcel count. Every investor count, price band, scale tier and confidence there covers the
county only. The data does not see activity in the neighbouring counties. The point tolerance of the market is 2
miles.

`holding_kind` is `RENTAL_SIGNAL` in every market on a holding whose short-term rental licence is a business use
attributed to the owner. The `short_term_rental` block on the row says so. Texas has no rental registry. So there the
same value also marks an absentee owner with no homestead exemption on the county roll or a rental listing.
`RENTAL_REGISTERED` still takes precedence where the county registry has the parcel.


## Related topics

- [List deals around a location](/api-reference/endpoints/deals-list.md)
- [Introduction](/index.md)
- [Top buyers in a place](/guides/walkthroughs/top-buyers.md)
- [Changelog](/changelog.md)
- [The Permit object](/api-reference/objects/permit.md)
