> ## 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 Listing agent object

> The agent behind an MLS listing, keyed to the state licence roll where one matches.

<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 MLS listing block names its listing agents. Each agent carries a stable `agent_id` (`agt_` plus 12 hex). The id
is the same on every listing the agent appears on, whatever the spelling of the name or the brokerage.

## How an agent is identified

The registry keys agents on the state real-estate licence roll where a licence matches, and on the name and contact
keys otherwise. `identity_basis` says which:

| `identity_basis`           | Means                                                                                                    |
| -------------------------- | -------------------------------------------------------------------------------------------------------- |
| The four `LICENSE_` values | Keyed on the public licence record. `LICENSE_FEED` means the MLS feed itself carried the licence number. |
| `NAME_ONLY`                | The name alone. `license_candidates` says how many licensees share it, so you can judge the risk.        |

`agent_is_holder_member` is true when the agent is one of the holding investor's own people. The listing is then the
investor's own inventory, not a client's.

Old agent ids follow the same alias rules as investor ids: a merged id answers 200 with `meta.resolved_from`, a
retired one answers `410 gone`.

## The two ends of one fact

The agent profile's `investor_links[]` and the investor profile's `agent_links[]` are the same fact from either side.
This person both lists houses and buys them through that investor. `has_licensed_member` on the investor says so in
one boolean. Since 0.31.0 a link carries `investor_display_name` beside `investor_name`. A listing row's `holder`
carries `display_name` beside `name`. Each is the name to print: given-first for a cleanly parsed person, equal to
the deed spelling otherwise.

## Contact fields

This host does not serve the agent's name, phones, emails and licence number. They are null, with
`contact_redacted: true`. This host serves the ids, `identity_basis`, the brokerages and the listing counts.

## Availability

A market with no published agent registry answers `422 agents_unavailable` on the three agent routes. It serves the
agent fields null everywhere else. `meta.coverage[].agents_data_end` tells you in advance.

| Endpoint                                                                   | What it gives you                              |
| -------------------------------------------------------------------------- | ---------------------------------------------- |
| [`GET /v1/agents/search`](/api-reference/endpoints/agents-search)          | The agent id, from a name or a licence number. |
| [`GET /v1/agents/{id}`](/api-reference/endpoints/agents-get)               | The profile below.                             |
| [`GET /v1/agents/{id}/listings`](/api-reference/endpoints/agents-listings) | Every listing of theirs, newest first.         |


## Related topics

- [The Listing cycle object](/api-reference/objects/listing-cycle.md)
- [Find a listing agent](/api-reference/endpoints/agents-search.md)
- [Get one listing agent](/api-reference/endpoints/agents-get.md)
- [List one agent's listings](/api-reference/endpoints/agents-listings.md)
- [Get the profile of one listing agent](/api-reference/agents/get-the-profile-of-one-listing-agent.md)
