> ## 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.

# The Investorlift listing object

> One house listed on Investorlift, and the outcome the county deeds show for it.

<Note>
  Early access: while the developer tier is in beta, the API serves this route to Investorlift's team and trusted partners. Investorlift will restrict the route further before it opens to every key.
</Note>

Every house listed on Investorlift is on file as one wholesale listing, with the id `wl_` plus 32 hex characters.
The outcome the row reports comes from the **county deeds**, never from the listing's status in the app. The API
does not read that status and does not serve it.

## The verdict

`verification` is the one-word answer:

| `verification` | Means                                                                                                                                                                   |
| -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `CONFIRMED`    | A recorded deed closed it to a buyer.                                                                                                                                   |
| `RETAIL`       | It closed to an owner-occupant, or through the MLS.                                                                                                                     |
| `OPEN`         | No transfer yet.                                                                                                                                                        |
| `NONE`         | No transfer within 400 days, a distressed deed, or a transfer the rules cannot tie to it. It is also the verdict when the credit goes to another listing of the parcel. |

`outcome` is the detail behind the verdict: `ASSIGNED`, `DOUBLE_CLOSED`, `LISTER_HELD_THEN_SOLD`,
`SOLD_TO_OWNER_OCCUPANT`, `NO_TRANSFER_400`, `PENDING` and the rest. `outcome_text` is a name-free sentence you
can show.

## Show the uncertainty

`confidence`, `time_fit`, `deed.chain_certain`, `lister_attribution` ("listed by n companies") and `retail_signals[]` say
how certain the match between the listing and the deed is. **Show them as text, never as a colour alone.** A
confirmed row with low confidence is a different claim from a confirmed row with high confidence, and a colour
cannot carry that.

## Who is named

The buyer rule is the deal rule. `buyer` carries an `id` and a `name` when the grantee is a registry investor,
whatever its kind. It carries a `name` alone for a company not yet in the registry. It carries neither for a
person, a trust or an owner-occupant outside the registry. `tier` says which case you are in.

Since 0.31.0 `buyer.display_name` and `intermediate.display_name` carry the name to print beside `name`. They follow
the investor object's rule: given-first for a cleanly parsed person, equal to `name` otherwise. Each is null exactly
when `name` is null.

The row always names the `wholesaler`: it is a business.

<Note>
  The wholesaler's own contract price and spread never leave the pipeline. They are not in any response, on any key.
</Note>

## Join back to the deeds

`registry_deal_id` is the [Deal](/api-reference/objects/deal) that the API serves the closing deed as. So a listing
and its deed are two views of one event. The default `primary_only=true` lists each closing deed once when several
listings of the parcel can claim it.

## Who lends here

`lenders_active[]` (since 0.19.0) names the five lenders with the most loans to registered investors in the
listing's ZIP. The window is the 24 months to the lender registry's slice date. The sort is `n_investor` first,
then `n`, then id. The API reads the array from the registry's ZIP rankings at request time. It is the
marketplace's lender panel: who funds this kind of deal here.

Each entry is a stub (`id`, `name`, `lender_class`, `is_hard_money`) with six more fields. `n` counts every
instrument the lender recorded in the ZIP over the window. `n_investor` and `n_purchase_money` follow.
`n_purchase_money` is null where the market has no deed link. `share` is the lender's share of every lender's
instruments in the ZIP. `as_of` and `dated` complete the entry.

The array is empty when the ZIP has no investor lending in the window. It is null on a hidden-address row. It is
also null in a market without the lender registry or its borrower match. Rows served from a registry built before
that match carry null too.

While the row carries the block, `meta.dated[]` names `lenders` beside `financing`, because the registry is a
snapshot at its own slice date. The block is not in the listings CSV. The concise MCP row of
`godmode_wholesale_listings` leaves it to the detailed format.

## Availability

A market without published Investorlift wholesale tables answers `422 wholesale_unavailable` on the six wholesale
routes and the two filters. It serves every wholesale block null.
`meta.coverage[].wholesale_as_of` is the date of the export, and tells you in advance.


## Related topics

- [The Listing agent object](/api-reference/objects/agent.md)
- [The Listing cycle object](/api-reference/objects/listing-cycle.md)
- [Find an Investorlift listing company](/api-reference/endpoints/wholesalers-search.md)
- [List Investorlift listings](/api-reference/endpoints/wholesale-listings.md)
- [Get the profile of one Investorlift listing company](/api-reference/wholesale/get-the-profile-of-one-investorlift-listing-company.md)
