{
"id": "<string>",
"market": "<string>",
"name": "<string>",
"display_name": "<string>",
"state": "<string>",
"institutional": true,
"is_public": true,
"last_bought_on": "<string>",
"n_deals": 0,
"mailing_states": [
"<string>"
],
"registry_version": "<string>",
"registry_run": 0,
"id_history": [
{
"registry_run": 0,
"jaccard": 123,
"prev_group_id": 0
}
],
"kinds": [],
"confidence_by_kind": {},
"classification_reasons": [
"<string>"
],
"is_entity": true,
"flipper_first": true,
"holdings_first": true,
"flipper_demoted": true,
"has_builder_name": true,
"is_ibuyer": true,
"n_strict_flips": 0,
"n_quick_resales": 0,
"n_lot_to_build_built": 0,
"n_sales_new_construction": 0,
"n_current_holdings": 0,
"is_production_builder": true,
"is_sfr_bulk_holder": true,
"institutional_reason": "<string>",
"institutional_reasons": [
"<string>"
],
"public_name": "<string>",
"n_flips": 0,
"n_wholesales": 0,
"n_long_holds": 0,
"n_holds": 0,
"median_purchase_year": 0,
"n_other": 0,
"n_builds": 0,
"n_acquisitions": 0,
"n_priced_deals": 0,
"n_unpriced_deals": 0,
"n_purchases": 0,
"n_sales": 0,
"first_deed": "<string>",
"last_deed": "<string>",
"last_sold_on": "<string>",
"last_flip_sold_on": "<string>",
"last_deal_on": "<string>",
"days_since_last_purchase": 0,
"n_purchase_events_12m": 0,
"n_purchase_events_24m": 0,
"n_flips_24m": 0,
"n_holds_24m": 0,
"n_sales_12m": 0,
"bought_12m": true,
"bought_24m": true,
"price_band": {
"p25": 0,
"p50": 0,
"p75": 0,
"n_priced_purchases": 0
},
"p50_flip_sold_price": 0,
"p50_buy_to_resale_ratio": 123,
"median_hold_days": 123,
"median_spread_ratio": 123,
"median_gross_profit": 0,
"median_bought_price": 0,
"segment_mix": {
"sfr": 123,
"condo_th": 123,
"other": 123
},
"segment_sfr_share": 123,
"cities_active": [
"<string>"
],
"n_bought_from_wholesaler": 0,
"n_bought_from_wholesaler_5y": 0,
"n_bought_from_wholesaler_24m": 0,
"share_bought_from_wholesaler": 123,
"last_bought_from_wholesaler_on": "<string>",
"buys_wholesale": true,
"n_bought_from_investor": 0,
"n_distressed_buys": 0,
"auction": {
"n_auction_buys": 0,
"n_auction_buys_24m": 0,
"last_auction_buy_on": "<string>",
"is_active_auction_buyer": true,
"auction_resale_share": 123,
"n_reo_buys": 0,
"n_reo_buys_24m": 0,
"last_reo_buy_on": "<string>",
"is_active_reo_buyer": true,
"auction_kinds": [],
"n_auction_by_kind": {},
"n_auction_by_venue": {},
"n_auction_events": 0,
"n_auction_resold_12m": 0,
"n_auction_transferred_12m": 0,
"n_auction_lost": 0,
"n_auction_held": 0,
"n_auction_parcels": 0,
"median_auction_discount": 123,
"lender_note": "<string>",
"n_reo_by_grantor": {},
"n_reo_resold_12m": 0,
"n_reo_transferred_12m": 0,
"n_reo_lost": 0,
"n_reo_held": 0,
"reo_resale_share": 123
},
"member_names": [
"<string>"
],
"n_members": 0,
"n_addresses_by_kind": {
"house": 0,
"suite": 0,
"pobox": 0
},
"has_mailing_address": true,
"buyer_signal": {
"operator_id": "<string>",
"n_operator_members": 0,
"operator_member_ids": [
"<string>"
],
"is_anchor": true,
"activity_p_180": 123,
"activity_p_365": 123,
"cell_n": 0,
"activity_model": "<string>",
"capital_freed_60d": true,
"days_since_last_purchase": 0,
"days_since_last_resale": 0,
"open_inventory": 0,
"n_purchases_36m": 0,
"median_gap_days": 123,
"share_within_30d_of_resale": 123,
"data_end": "<string>"
},
"listings": {
"n_active": 0,
"n_pending": 0,
"n_listed": 0,
"n_listed_undated": 0,
"n_holdings_dated": 0,
"n_holdings_undated": 0,
"median_list_price": 0,
"min_list_price": 0,
"max_list_price": 0,
"last_listed_on": "<string>",
"n_listed_12m": 0,
"listings_data_end": "<string>"
},
"has_licensed_member": true,
"agent_links": [
{
"agent_id": "<string>",
"n_self_listings": 0
}
],
"wholesale_purchases": {
"n": 0,
"n_12m": 0,
"n_24m": 0,
"n_5y": 0,
"n_probable": 0,
"last_on": "<string>",
"n_wholesalers": 0,
"top_wholesalers": [
{
"id": "<string>",
"name": "<string>",
"n": 0
}
],
"n_double_closed": 0,
"median_asking_price": 0,
"data_end": "<string>"
},
"str": {
"n_holdings": 0,
"n_permits": 0,
"n_at_purchase": 0,
"n_assumed": 0,
"n_owner_occupied_licences": 0,
"n_managed": 0,
"share": 123,
"manager_companies": [
"<string>"
],
"jurisdictions": [
"<string>"
],
"stale_jurisdictions": [
"<string>"
],
"last_application_on": "<string>"
},
"financing": {
"n_loans": 0,
"n_loans_12m": 0,
"n_loans_24m": 0,
"n_lenders": 0,
"lenders_used": [
{
"id": "<string>",
"name": "<string>",
"is_hard_money": true,
"n": 0,
"n_24m": 0,
"last_loan_on": "<string>"
}
],
"last_loan": {
"lender_id": "<string>",
"name": "<string>",
"is_hard_money": true,
"property_id": "<string>",
"recording_date": "<string>",
"amount": 0
},
"n_deals_measured_24m": 0,
"n_deals_financed_24m": 0,
"share_deals_financed_24m": 123,
"uses_hard_money": true,
"as_of": "<string>",
"dated": true
},
"data_end": "<string>"
}The Investor object
A buyer: every name the registry believes is one operator, what they buy, and how to reach them.
inv_ plus 12 hex characters.
Store the id, and keep the name for display. After a data refresh, an old id goes one of two ways. Either it
redirects: you get the current profile, and meta.resolved_from names the id you asked for. Or the registry
retired it: you get 410 gone with superseded_by: null. Then search by name again.
Three counts that are not the same thing
| Where | What it counts |
|---|---|
The profile’s own counts (n_deals, n_flips, n_purchase_events_12m) | Everything the investor did across the whole market. |
in_radius on a list or match row | Only what they did inside the geometry you asked about, after your filters. |
summary on the response | The whole filtered set, not the page. |
n_deals: 775 beside in_radius.n_events: 12. Both are right: a large operator with twelve deals in
your neighbourhood.
Holdings
n_holds is what the investor still owns across the market: confirmed holdings plus purchases it did not resell. The
profile adds median_purchase_year (since 0.26.0), the median year of purchase of those parcels. The API computes it
over the dated n_holds rows when you read the profile. A midpoint between two years rounds up: holdings bought in
2020 and 2021 read 2021. The value is null when the API has nothing to measure. Read it with n_holds: 300 holdings
bought around 2021 is a recent portfolio, and around 2009 a long-held one.
The lists take the count as a filter: holds_min and holds_max, for example holds_min=20 for the larger
portfolios. GET /v1/investors sorts on the holdings inside the geometry with sort=holds_desc. See
Filters.
Scale, and who is hidden by default
scale is individual, small, mid, large or institutional. Institutional means iBuyers, production
homebuilders and bulk single-family landlords with 500 or more houses. They lead every neighbourhood by volume, and
they are almost never the buyer for a wholesale deal. So the API hides them by default, together with public
bodies: the county, the state land department, a housing authority. Ask for them with
scale=individual,small,mid,large,institutional and include_public=true.
Operators: when several ids are one buyer
Many flippers buy through a new LLC per deal. Every list and match row carriesinvestor.operator_id and
investor.n_operator_members. The first is the id of the buying operation, the second how many ids it spans. Shared
mailing addresses and shared names link those ids. Rows that share an operator_id are one buyer: collapse them
in a table and contact them once.
The API still ranks and pages each id on its own. So an operator with three ids can appear three times, and across
pages. Keep the row whose id equals operator_id as the visible one. operator_id is the busiest member’s id, and it
can move after a refresh. So group by it within one response, and store the investor ids.
Same buyer, cash right now has the whole rule and the buyer_signal block.
Contact fields
This host does not servecontact: the people behind the entity, their parsed names, their mailing addresses and
skip_trace_targets[]. contact_redacted is true, and four of the block’s fields come back null:
primary_address, mailing_addresses, person_members and skip_trace_targets. The host serves the block’s counts,
n_person_members, has_home_address and the rest, so the block itself is never null. Top-level members is null
too, and member_names lists the entity and trust names only. The host serves the rest of the profile as normal. See
Authentication.
A deed names a person as SURNAME GIVEN (“RIVERA DANA”). Never split members[].name yourself. Use the given and
surname fields, which are already in the right order.
Two names: name and display_name
name is the deed spelling: the spelling most often on the investor’s deeds, in upper case. For a person it is SURNAME
GIVEN (“RIVERA DANA”). Search matches on name, and you join on it. It can change under a stable id when another of the
investor’s spellings overtakes.
display_name (since 0.29.0) is the name to print. For a person whose deed spelling parsed cleanly it is GIVEN [MIDDLE]
SURNAME [SUFFIX] in upper case (“DANA RIVERA”). For an entity, a trust, a public body, an institutional investor or an
ambiguous spelling it equals name.
Every investor object on this page carries both fields on every key. Those objects are the deal row’s summary, the list
row, the match row, the profile, the search hit, and a deal’s seller and end_buyer. display_name is null
exactly when name is null. The investor stubs on lender objects carry name alone. The agent and wholesale stubs carry
display_name since 0.31.0.
Print display_name. Match, join and search on name. Never reorder a name yourself.
Auction and REO buyers
auction is the foreclosure-auction and REO purchase block (since 0.7.0). On a list row or a match row it is the
nine-field summary:
n_auction_buys: the houses a third party bought at a trustee’s sale or an Arizona sheriff’s sale, all time.n_auction_buys_24mandis_active_auction_buyer: one or more such purchases in the last two years, the cash-within-a-day buyers.last_auction_buy_on.auction_resale_share: the share resold within a year.- The same four for houses bought from a lender after a foreclosure:
n_reo_buys,n_reo_buys_24m,is_active_reo_buyerandlast_reo_buy_on.
auction_kindsandn_auction_by_kind. These include the kinds the API shows but does not count,HOA_TRUSTEE_SALE,TAX_SALEandTAX_LIEN_DEED, son_auction_parcelscan exceedn_auction_buys.n_auction_by_venue: the Texas platform the servicer appointed, Auction.com, ServiceLink or Xome.- The outcomes of those purchases at 12 months:
n_auction_resold_12m,n_auction_transferred_12m,n_auction_lostandn_auction_held. median_auction_discountagainst the later resale.lender_note.- The REO half by grantor class (
n_reo_by_grantor:SERVICER,GSE_HUD_VA), with its own outcomes andreo_resale_share.
meta.coverage[].auction_counted is
false. That null is an answer, not a zero. Two filters read the block, buys_at_auction and buys_reo. See
Filters.
The financing block
financing (since 0.16.0) is what the lender registry ties to the investor:
- The loans whose borrowers resolve to it, as the main borrower or a co-borrower:
n_loans,n_loans_12mandn_loans_24m. The API counts each loan once across the open-lien and recorded-history tables. - The lenders behind them:
n_lenders, andlenders_used[]with each lender’s id, name, class and hard-money flag, how many loans, and the date of the last. - The most recent loan,
last_loan: the lender, the parcel, the date, the amount, and a flag that says if it financed a purchase. - How many of the investor’s purchases in the registry’s 24-month window have a purchase loan the registry found:
n_deals_financed_24movern_deals_measured_24m, andshare_deals_financed_24m. uses_hard_money: a flag that says if a hard-money lender was among the recent ones.
share_deals_financed_24m is never a cash
share.
The block carries its own as_of and dated: the registry’s slice date, not the deed data end. The host serves the
block to every key, because lender names are business records. The block is null where the market has no published
registry or no published borrower match. It reads zeros where the market has both and no loan resolves
to the investor. Two filters read it, financed_by and uses_private_lender, and the buyers match adds a financing
reason at weight 0. See Filters.
Where investors come from
| Endpoint | What it gives you |
|---|---|
GET /v1/buyers/match | Ranked against a subject property, with reasons. |
GET /v1/investors | The investors active inside an area, by activity. |
GET /v1/investors/search | By any name they buy under. |
GET /v1/investors/{id} | The full profile below. |
GET /v1/investors/{id}/deals | Their whole deal history. |
The full profile of one investor: identity, activity, price band, buyer signal and listings. It also carries the linked listing agents, Investorlift purchases, short-term rental holdings, financing and id history.
Investor id: inv_ followed by 12 hex characters, for example inv_abaf618f44a3. The id is stable across data refreshes within a market. Store it as the investor's identity.
^inv_[0-9a-f]{12}$Market code, for example phx. The loaded markets are in meta.coverage[].
The deed spelling, the one most often on their deeds, upper case, SURNAME GIVEN for a person, for example "ZAK VENTURES LLC" or "RIVERA DANA". Never a key. Print display_name.
The name to print. For a cleanly parsed person, it has the form GIVEN [MIDDLE] SURNAME [SUFFIX] in upper case. For example, "DANA RIVERA" from the deed's "RIVERA DANA". For an entity, a trust, a public body, an institutional investor or an ambiguous spelling it equals name. Display only: match, join and search on name.
2-letter state of the market. The loaded markets and their states are in meta.coverage[].
Primary kind, display only. Filters and scoring read kinds[] instead. Null when id is null. Investor kind, the primary one of kinds[] (an investor can carry several), for display only. FLIPPER: buys, renovates and resells. WHOLESALER: buys to resell quickly, often through a double close. LANDLORD: buys and holds rentals. BUILDER: builds on lots it buys. IBUYER: Opendoor, Offerpad or Zillow.
FLIPPER, WHOLESALER, LANDLORD, BUILDER, IBUYER Registry confidence in the primary kind. Null when id is null. How sure the registry is of the kind. STRONG: several deals of that kind and a consistent pattern. PROBABLE: some evidence. WEAK: a single signal. The registry judges the confidence from the deeds inside the area loaded for the market (meta.coverage[].universe_kind). In a ZIP market an investor's deals outside the ZIP are unseen, so the confidence is a floor.
STRONG, PROBABLE, WEAK Scale tier. Null when id is null. Investor scale: individual (one person, no entity), small (fewer than 10 investment deals), mid (10 to 99), large (100 to 999) or institutional. An institutional investor is an iBuyer, a production builder, a bulk landlord with 500 or more holdings, or a known brand from a list. The registry counts the deals inside the area loaded for the market (meta.coverage[].universe_kind), so in a ZIP market the tier is a floor.
individual, small, mid, large, institutional True for iBuyers, production builders, 500+ holding bulk landlords and the brand list. Lists hide them unless scale includes institutional. Null when id is null.
True for a public body: a county, a city, a housing authority or a school district. Lists hide them unless include_public=true. Null when id is null.
Date of their last purchase anywhere inside the area loaded for the market, YYYY-MM-DD. Sales and transfers never count. Null when they never bought or id is null.
Investment deals as buyer inside the area loaded for the market (meta.coverage[].universe_kind), all kinds and years, for example 755. The count is a floor in a ZIP market. Null when id is null.
-9007199254740991 <= x <= 9007199254740991registered when the row carries an id. Otherwise why the buyer has no id.
registered, unclassified, excluded, unknown Distinct states of their non-generic mailing addresses, most deeds first, for example ["AZ","CA"].
A 2-letter state.
Which registry code version produced this profile. Informational: use meta.coverage[].dataset_version for caching. Null when not recorded.
Which data refresh (registry run number) produced this profile (informational). Null when not recorded.
-9007199254740991 <= x <= 9007199254740991What each data refresh did to this id, oldest first.
Show child attributes
Show child attributes
Every kind the investor qualifies for.
Investor kind, the primary one of kinds[] (an investor can carry several), for display only. FLIPPER: buys, renovates and resells. WHOLESALER: buys to resell quickly, often through a double close. LANDLORD: buys and holds rentals. BUILDER: builds on lots it buys. IBUYER: Opendoor, Offerpad or Zillow.
FLIPPER, WHOLESALER, LANDLORD, BUILDER, IBUYER Per-kind evidence: how many deals support each kind and the confidence in it. Null when the registry recorded none.
Show child attributes
Show child attributes
Diagnostic codes from the classifier, for example "FLIPPER:STRICT_FLIPS_2P". Not for display, and distinct from the match reasons[]. You can ignore them.
One classifier code.
True when the investor's main name is an entity (an LLC, corporation or partnership), not a person.
Diagnostic: when the classifier chose the primary kind, the flipping evidence outranked the holdings. You can ignore it.
Diagnostic: when the classifier chose the primary kind, the holdings outranked the flipping evidence. You can ignore it.
Diagnostic: the investor looked like a flipper first, but the classifier made another kind primary. You can ignore it.
True when one of their names carries builder vocabulary (HOMES, CONSTRUCTION, DEVELOPMENT).
True for an iBuyer brand (Opendoor, Offerpad, Zillow).
Diagnostic: flips that met the strict flip test, as the classifier counted them. The strict test is a resale within a year at a profit-shaped margin. You can ignore it: n_flips is the number to show.
-9007199254740991 <= x <= 9007199254740991Diagnostic: resales in under 30 days, or a chain resale or round trip within 90 days, as the classifier counted them. You can ignore it: n_wholesales is the number to show.
-9007199254740991 <= x <= 9007199254740991Lots they bought and then built on, as the registry's builder test counts them. That test also counts a finished home bought in its completion year, and it applies none of the build kind's bounds. The count can exceed n_builds, the served count of build deals.
-9007199254740991 <= x <= 9007199254740991Sales of newly built homes (the production-builder test).
-9007199254740991 <= x <= 9007199254740991Diagnostic: the holdings at data_end as the classifier counted them (the bulk-holder test at 500). You can ignore it: n_holds is the number to show.
-9007199254740991 <= x <= 9007199254740991True for a volume homebuilder. The test: 100+ new-construction sales, or a builder name with 10+, and at least twice their flips.
True at 500 or more holdings at data_end.
Diagnostic: the rule that made them institutional, for example "IBUYER" or "PATTERN:PRODUCTION_BUILDER:FULTON HOMES CORP". Null when not institutional.
Diagnostic: every institutional rule that applied. Empty when not institutional.
One institutional rule.
The deed name that marked them as a public body (county, city, housing authority). Null when not public.
Flips inside the area loaded for the market. Every count on the profile covers that area only (meta.coverage[].universe_kind). In a ZIP market the count is a floor.
-9007199254740991 <= x <= 9007199254740991Wholesale resales inside the area loaded for the market.
-9007199254740991 <= x <= 9007199254740991Long holds (held over a year, resold).
-9007199254740991 <= x <= 9007199254740991Parcels they still own at data_end.
-9007199254740991 <= x <= 9007199254740991The median year the investor bought the parcels it still holds at data_end, a whole year, for example 2021. The API computes this holdings statistic over the n_holds rows inside the area loaded for the market, from their purchase dates at request time. For an even count whose two middle years differ, the API rounds the midpoint up to the later year: 2020 and 2021 read 2021. Null when the investor holds nothing or when no holding carries a purchase date. The median leaves out holdings without a purchase date. Read it with n_holds: 300 parcels bought around 2021 is a young portfolio, around 2009 a seasoned one.
-9007199254740991 <= x <= 9007199254740991Other investor resales: a loss, a thin margin, a builder's new home resold, or an iBuyer resale.
-9007199254740991 <= x <= 9007199254740991Builds: lots or teardowns bought, built on, then sold, under the bounds of the build kind. A market built on or before 2026-09-17 (meta.coverage[].loaded_at) counts every lot-to-build resale by a registered investor as a build until its next build.
-9007199254740991 <= x <= 9007199254740991All-time distinct purchase events inside the area loaded for the market. A purchase event is a day on which the investor bought.
-9007199254740991 <= x <= 9007199254740991Deals with a purchase price on the deed.
-9007199254740991 <= x <= 9007199254740991Deals without a purchase price. These are holdings, builder lots, and most off-market purchases in a non-disclosure state such as Texas.
-9007199254740991 <= x <= 9007199254740991Deeds as buyer, every parcel and kind. This is a deed count, larger than n_deals.
-9007199254740991 <= x <= 9007199254740991Deeds as seller. Seller-only builders have n_deals = 0 and n_sales > 0.
-9007199254740991 <= x <= 9007199254740991First deed under any member name, YYYY-MM-DD.
Last deed under any member name.
Their last sale of any kind.
Their last flip resale (a just-sold flipper has cash).
Last purchase, sale or transfer (display only).
Days from last_bought_on to the data end date. Null when they never bought.
-9007199254740991 <= x <= 9007199254740991Distinct purchase days in the 12 months before the data end date.
-9007199254740991 <= x <= 9007199254740991Distinct purchase days in the 24 months before the data end date.
-9007199254740991 <= x <= 9007199254740991Flips resold in the 24 months before data_end.
-9007199254740991 <= x <= 9007199254740991Purchases in the 24 months ending on data_end, still held at it.
-9007199254740991 <= x <= 9007199254740991Sales in the 12 months before data_end.
-9007199254740991 <= x <= 9007199254740991True when they bought in the 12 months before the data end date.
True when they bought in the 24 months before the data end date.
What they pay: the quartiles of their priced purchases.
Show child attributes
Show child attributes
Median flip resale price, whole dollars. Null with fewer than 3 flips.
-9007199254740991 <= x <= 9007199254740991Median bought / sold over their priced flips. At 0.72 they pay 72% of resale. Null with fewer than 3 priced flips. In a non-disclosure state most flips carry no purchase price. The market median is meta.coverage[].metro_buy_to_resale_ratio.
Median days between purchase and resale over their resold deals.
Median resale margin as a ratio (0.53 = +53%).
Median sold minus bought over their resold deals, whole dollars.
-9007199254740991 <= x <= 9007199254740991Median of what they paid, whole dollars, priced deals only.
-9007199254740991 <= x <= 9007199254740991Shares of their deals by parcel segment. Null when they have no deals.
Show child attributes
Show child attributes
Share of their deals on single-family houses, 0 to 1. Null when they have no deals.
Cities where they have deals, most first, upper case.
A city name, upper case.
All-time purchases documented as bought from a wholesaler.
-9007199254740991 <= x <= 9007199254740991Same, the 5 years ending on data_end.
-9007199254740991 <= x <= 9007199254740991Same, the 24 months ending on data_end.
-9007199254740991 <= x <= 9007199254740991Share of their purchases documented as bought from a wholesaler, 0 to 1.
Last documented wholesale purchase.
True when they bought from a wholesaler in the 36 months before the data end date.
Purchases where the seller carried an investor id.
-9007199254740991 <= x <= 9007199254740991Deals whose purchase deed was a distressed instrument of any kind, whoever the buyer. The instruments: a trustee's, sheriff's or tax deed, a deed in lieu, or a deed the feed flags as REO or foreclosure. Wider than auction.n_auction_buys, the third-party auction purchases by parcel, and auction.n_reo_buys, the purchases from a lender after a foreclosure. None of the three is a subset of another.
-9007199254740991 <= x <= 9007199254740991The auction and REO block: the list-row summary plus the kinds bought at and the platform that ran the sale (Texas). It also carries the outcomes of the purchases at 12 months, the median discount to the later resale and the lender note. Null where the market publishes no auction counts (meta.coverage[].auction_counted false). Zeros and empty maps where it does and the investor never bought at auction or from a lender.
Show child attributes
Show child attributes
Every deed name that belongs to this investor, entities first. This host omits person names. Raw spelling (SURNAME GIVEN for persons).
One deed name, raw spelling.
Number of deed names that belong to this investor.
-9007199254740991 <= x <= 9007199254740991Mailing addresses on file by kind. Null when none is on file.
Show child attributes
Show child attributes
True when any mailing address is on file.
The operator this investor belongs to, that operator's capital cycle and its probability of buying in the next 180 days, measured at data_end. Its "days since" values, measured at data_end, are the operator's, not this id's alone. Null when the market has no buyer signal, or when this investor has no signal row. An id minted after the signal build has no signal row.
Show child attributes
Show child attributes
What the investor has on the market right now, measured at listings_data_end (later than data_end). The block carries their holdings listed ACTIVE or PENDING in the MLS feed, with the asking prices. The per-parcel blocks are on the hold rows of /v1/investors/{id}/deals, and their counted rows equal n_active + n_pending here. The API serves this block to every key. Null when the market publishes no listing tables, zeros when it does and no holding is listed.
Show child attributes
Show child attributes
True when one of the investor's people is a listing agent keyed on a state licence, and agent_links carries the link. Such an investor can list its own inventory. False when no such agent has a link. Null when the market publishes no agent registry (meta.coverage[].agents_data_end is null). The API serves this field to every key.
The listing agents that are, by name, this investor's people, HIGH confidence first. Each carries the link basis and how many of the investor's parcels the agent listed. Empty when none, null when the market publishes no agent registry. Open GET /v1/agents/{agent_id} for the agent's profile and history. The API serves agent_id, link_basis, confidence and n_self_listings to every key.
Show child attributes
Show child attributes
What the investor bought off Investorlift listings per the recorded deeds. The block carries counts by window (n, n_12m, n_24m, n_5y) and how many at high confidence (n minus n_probable). It also carries the last closing and the companies they buy from. The rows themselves are GET /v1/investors/{id}/wholesale-purchases. The API serves this block to every key. Null when the market publishes no wholesale tables (meta.coverage[].wholesale_as_of is null), zeros when it does and the investor never bought off Investorlift.
Show child attributes
Show child attributes
How many of the investor's holdings carry a business-use short-term-rental licence attributed to them, from the cities' rolls. The block carries holdings and permits, how many got a licence within 180 days of the purchase, and how many rest on an assumed attribution. It also carries the share of their holds, the property managers named and the cities. The per-parcel blocks are on the hold rows of /v1/investors/{id}/deals (str_status=LICENSED,PENDING lists them). The API serves this block to every key. Null when the market publishes no short-term rental tables (meta.coverage[].str_as_of is null), zeros when it does and the investor holds no such parcel.
Show child attributes
Show child attributes
What the investor borrows, from the lender registry: the loans the recorded mortgages and open liens tie to it, and the lenders behind them. The block carries the last loan, how many of its recent purchases (measured to financing.as_of) had a loan found, and if it uses hard money. Every count is a floor of a partial feed, and its windows end on the registry's own slice date (financing.as_of), not on data_end. The API serves this block to every key. Null when the market publishes no lender registry or borrower match: meta.coverage[].lenders is null or investor_lending_measured is false. Zeros when it does and no loan resolves to the investor.
Show child attributes
Show child attributes
The date from which the API measures every "days since" value and every window (12m, 24m, 5y) on this profile.
Was this page helpful?