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

# Identifiers: CLIP, APN and address

> How Cotality identifies a property — the CLIP identity spine, the parcel APN, and USPS-standardized addresses — and when to use each.

## The identity spine

Every Cotality workflow anchors to one stable key: the **CLIP**.

| Identifier  | What it is                                         | Stability                                     | Use it to                                  |
| ----------- | -------------------------------------------------- | --------------------------------------------- | ------------------------------------------ |
| **CLIP**    | Cotality property identifier — unique per property | Stable, persistent                            | Join all data assets for a property        |
| **APN**     | Assessor's parcel number — county-assigned         | Varies by county; can change                  | Tie to local tax and assessment records    |
| **Address** | USPS-standardized street address                   | Unstable (formatting, aliases, unit variants) | Human input → always resolve to CLIP first |

## Why CLIP first

Addresses are ambiguous — "123 Main St" vs "123 Main Street Apt 2" — and APNs differ in
format across \~3,000 US counties. The CLIP normalizes both into one durable key so property
characteristics, transactions, and risk always align.

```mermaid theme={null}
graph LR
  A[Raw address] -->|USPS standardize| B[Clean address]
  B -->|resolve| C[CLIP]
  D[APN + county] -->|resolve| C
  C --> E[Property Characteristics]
  C --> F[Climate Risk]
  C --> G[Market Analytics]
```

## Resolving to a CLIP

<Steps>
  <Step title="Standardize the address">
    Addresses are normalized to USPS Publication 28 before matching. Provide street number,
    street name, city, state, and ZIP for best match accuracy.
  </Step>

  <Step title="Call the resolver">
    **MCP:** `clip-find_property_by_full_address` — returns CLIP and property details.

    **MCP (if you have the CLIP):** `clip-find_property_by_clip` — validates and returns full property record.
  </Step>

  <Step title="Use the CLIP everywhere">
    Pass the returned CLIP to every downstream tool —
    [Property characteristics](/mcp/property-data/tools/property-characteristics),
    [Climate risk analytics](/mcp/property-data/tools/climate-risk-analytics).
  </Step>
</Steps>

```json theme={null}
// Resolve response (illustrative)
{
  "success": true,
  "count": 1,
  "data": [{
    "clip": "123456789",
    "address": { "fullAddress": "123 Main St, Austin TX 78701" },
    "apn": "0234-0012-0056"
  }],
  "messages": []
}
```

<Warning>
  Never fabricate or guess a CLIP. If resolution returns zero candidates, report that to the
  user. If it returns multiple candidates, surface them for the user to disambiguate — do not
  assume the first match. See [Error handling](/reference/error-handling) for `CLIP_NOT_FOUND`.
</Warning>

## Multiple records

A single address can sometimes resolve to more than one CLIP when a parcel has been
subdivided or re-platted. The response will contain multiple items in `data` — always check
`count` and present the choices to the user.

<Tip>
  Batch-resolve addresses when onboarding a portfolio, then persist CLIPs. Future lookups
  can skip the resolution step entirely and call data tools directly.
</Tip>
