# Look up an NPI

Page: https://sandbox.myclaimhouse.com/docs/api/lookupNpi

`GET /api/v1/npi/{npi}`

What the national NPI registry (NPPES) holds for an NPI: whether it is an organization or an individual, its status, name, primary practice address and phone, and primary taxonomy with the license listed for it. Use it to fill an office or a provider before you add it. It confirms that an NPI exists and whose it is; it does not prove that you own it. A deactivated NPI is returned with status deactivated. The path takes 10 digits with a valid check digit. A test key is answered by a sandbox registry with made-up records (see the Sandbox guide for the NPIs to try); a live key asks the real registry, which may be slow or down (502 NPI_REGISTRY_UNAVAILABLE: send the request again later).

Needs a key with `read` permission.

## Request

### Path parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `npi` | string | Yes | An NPI: 10 digits with a valid check digit. |

## Response

The registry's record. Status `200`.

| Name | Type | Description |
| --- | --- | --- |
| `object` | string | Always `npi_record`. |
| `npi` | string |  |
| `type` | string | organization is a type 2 NPI (an office or group), individual a type 1 NPI (a dentist). One of: `organization`, `individual`. |
| `status` | string | A deactivated NPI is still returned, so you can tell it from one that never existed. One of: `active`, `deactivated`. |
| `organization_name` | value | For an organization; null for an individual. |
| `first_name` | value | For an individual; null for an organization. |
| `last_name` | value | For an individual; null for an organization. |
| `credential` | value | For an individual, such as DDS; null when the registry has none. |
| `location` | object or null | The primary practice location. Each part is null where the registry has none. |
| `location.address_line1` | value |  |
| `location.address_line2` | value |  |
| `location.city` | value |  |
| `location.state` | value | The two-letter state code. |
| `location.postal_code` | value | 5 or 9 digits. |
| `location.phone` | value | 10 digits. |
| `taxonomy` | object or null | The primary taxonomy, with the license the registry lists for it. |
| `taxonomy.code` | string | The NUCC taxonomy code. |
| `taxonomy.description` | value |  |
| `taxonomy.license_number` | value |  |
| `taxonomy.license_state` | value |  |
| `last_updated` | string (date) or null | The date the registry last changed the record. |

## Errors

| HTTP status | Code | What it means |
| --- | --- | --- |
| 401 | `UNAUTHORIZED` | A valid API key is required. Send it as "Authorization: Bearer <key>". |
| 403 | `PERMISSION_DENIED` | This API key is not allowed to do that. |
| 404 | `NOT_FOUND` | Not found. |
| 422 | `INVALID_REQUEST` | The request is not valid. |
| 504 | `TIMEOUT` | The request took too long to finish. It may still have taken effect: look it up before sending it again with a new Idempotency-Key. What it made is found with GET /api/v1/eligibility?request_id=<this request_id>, and the same filter on /api/v1/claims and /api/v1/attachments (a key with read permission). |
| 502 | `NPI_REGISTRY_UNAVAILABLE` | The NPI registry is not answering right now. Nothing needs to change: send the request again later. |
| 500 | `INTERNAL` | Something went wrong on our side. Quote the request ID if you contact us. |

## Example

### Example request

```bash
curl "https://sandbox.myclaimhouse.com/api/v1/npi/1999980018" \
  -H "Authorization: Bearer $CLAIMHOUSE_KEY"
```

### Example response: 200

```json
{
  "object": "npi_record",
  "npi": "1999980018",
  "type": "organization",
  "status": "active",
  "organization_name": "Lakeside Dental Group",
  "first_name": null,
  "last_name": null,
  "credential": null,
  "location": {
    "address_line1": "60 Sample Lane",
    "address_line2": "Suite 200",
    "city": "Lakeside",
    "state": "GA",
    "postal_code": "303051234",
    "phone": "4045550160"
  },
  "taxonomy": {
    "code": "1223G0001X",
    "description": "General dentistry",
    "license_number": null,
    "license_state": null
  },
  "last_updated": "2026-03-02"
}
```

### An NPI the registry does not have: 404

```json
{
  "error": "NOT_FOUND",
  "message": "No such NPI is in the registry.",
  "errors": [],
  "request_id": "req_01JM000000E008000000000010"
}
```
