> For the complete documentation index see https://domscan.net/llms.txt. Markdown versions of every docs page are available by appending .md to the page URL.

Source: https://domscan.net/pt/docs/products/npi-lookup

# API de API de consulta de NPI e verificação de prestadores de saúde

Consulte o registro de um prestador de serviços de saúde dos EUA pelo NPI. Use esta referência para escolher uma operação e integrar seu contrato de resposta documentado.

[Ver página do produto](https://domscan.net/pt/npi-lookup-api)

## Operações

GET `/v1/npi` [Ver referência da API](https://domscan.net/pt/docs/products/npi-lookup#lookupNpi)

GET `/v1/npi/search` [Ver referência da API](https://domscan.net/pt/docs/products/npi-lookup#searchNpi)

## GET `/v1/npi`

Operação: `lookupNpi`
Créditos e autenticação: 1
Autenticação obrigatória

GET /v1/npi Créditos: 1

#### Parâmetros de consulta

| Parâmetro | Tipo | obrigatório |
| --- | --- | --- |
| number | string | obrigatório |
| name | string | opcional |
| state | string | opcional |
| taxonomy | string | opcional |

#### Campos da resposta

| Campo | Tipo |
| --- | --- |
| `npi` | string |
| `status` | string |
| `checksum_valid` | boolean \| null |
| `reason` | string \| null |
| `notes[]` | string[] |
| `provider` | object |
| `provider.npi` | string |
| `provider.type` | string |
| `provider.enumeration_type` | string |
| `provider.name` | string |
| `provider.individual` | object |
| `provider.individual.prefix` | string \| null |
| `provider.individual.first_name` | string \| null |
| `provider.individual.middle_name` | string \| null |
| `provider.individual.last_name` | string \| null |
| `provider.individual.suffix` | string \| null |
| `provider.individual.credential` | string \| null |
| `provider.individual.sex` | string |
| `provider.organization` | object |
| `provider.organization.name` | string \| null |
| `provider.organization.subpart` | boolean \| null |
| `provider.organization.authorized_official` | object |
| `provider.organization.authorized_official.prefix` | string \| null |
| `provider.organization.authorized_official.first_name` | string \| null |
| `provider.organization.authorized_official.middle_name` | string \| null |
| `provider.organization.authorized_official.last_name` | string \| null |
| `provider.organization.authorized_official.suffix` | string \| null |
| `provider.organization.authorized_official.credential` | string \| null |
| `provider.organization.authorized_official.title` | string \| null |
| `provider.organization.authorized_official.telephone` | string \| null |
| `provider.record_status` | string \| null |
| `provider.active` | boolean |
| `provider.enumeration_date` | string \| null |
| `provider.certification_date` | string \| null |
| `provider.last_updated` | string \| null |
| `provider.sole_proprietor` | boolean \| null |
| `provider.taxonomies[]` | object[] |
| `provider.taxonomies[]` | object |
| `provider.taxonomies[].code` | string |
| `provider.taxonomies[].description` | string \| null |
| `provider.taxonomies[].primary` | boolean |
| `provider.taxonomies[].state` | string \| null |
| `provider.taxonomies[].license` | string \| null |
| `provider.taxonomies[].group` | string \| null |
| `provider.primary_taxonomy` | object |
| `provider.primary_taxonomy.code` | string |
| `provider.primary_taxonomy.description` | string \| null |
| `provider.primary_taxonomy.primary` | boolean |
| `provider.primary_taxonomy.state` | string \| null |
| `provider.primary_taxonomy.license` | string \| null |
| `provider.primary_taxonomy.group` | string \| null |
| `provider.addresses` | object |
| `provider.addresses.location` | object |
| `provider.addresses.location.purpose` | string \| null |
| `provider.addresses.location.address_type` | string \| null |
| `provider.addresses.location.line1` | string \| null |
| `provider.addresses.location.line2` | string \| null |
| `provider.addresses.location.city` | string \| null |
| `provider.addresses.location.state` | string \| null |
| `provider.addresses.location.postal_code` | string \| null |
| `provider.addresses.location.country_code` | string \| null |
| `provider.addresses.location.country_name` | string \| null |
| `provider.addresses.location.telephone` | string \| null |
| `provider.addresses.location.fax` | string \| null |
| `provider.addresses.mailing` | object |
| `provider.addresses.mailing.purpose` | string \| null |
| `provider.addresses.mailing.address_type` | string \| null |
| `provider.addresses.mailing.line1` | string \| null |
| `provider.addresses.mailing.line2` | string \| null |
| `provider.addresses.mailing.city` | string \| null |
| `provider.addresses.mailing.state` | string \| null |
| `provider.addresses.mailing.postal_code` | string \| null |
| `provider.addresses.mailing.country_code` | string \| null |
| `provider.addresses.mailing.country_name` | string \| null |
| `provider.addresses.mailing.telephone` | string \| null |
| `provider.addresses.mailing.fax` | string \| null |
| `provider.practice_locations[]` | object[] |
| `provider.practice_locations[]` | object |
| `provider.practice_locations[].purpose` | string \| null |
| `provider.practice_locations[].address_type` | string \| null |
| `provider.practice_locations[].line1` | string \| null |
| `provider.practice_locations[].line2` | string \| null |
| `provider.practice_locations[].city` | string \| null |
| `provider.practice_locations[].state` | string \| null |
| `provider.practice_locations[].postal_code` | string \| null |
| `provider.practice_locations[].country_code` | string \| null |
| `provider.practice_locations[].country_name` | string \| null |
| `provider.practice_locations[].telephone` | string \| null |
| `provider.practice_locations[].fax` | string \| null |
| `provider.identifiers[]` | object[] |
| `provider.identifiers[]` | object |
| `provider.identifiers[].code` | string \| null |
| `provider.identifiers[].description` | string \| null |
| `provider.identifiers[].identifier` | string \| null |
| `provider.identifiers[].issuer` | string \| null |
| `provider.identifiers[].state` | string \| null |
| `provider.endpoints[]` | object[] |
| `provider.endpoints[]` | object |
| `provider.endpoints[].endpoint` | string \| null |
| `provider.endpoints[].type` | string \| null |
| `provider.endpoints[].type_description` | string \| null |
| `provider.endpoints[].description` | string \| null |
| `provider.endpoints[].use` | string \| null |
| `provider.endpoints[].use_description` | string \| null |
| `provider.endpoints[].use_other_description` | string \| null |
| `provider.endpoints[].content_type` | string \| null |
| `provider.endpoints[].content_type_description` | string \| null |
| `provider.endpoints[].affiliation` | boolean \| null |
| `provider.endpoints[].affiliation_name` | string \| null |
| `provider.other_names[]` | object[] |
| `provider.other_names[]` | object |
| `provider.other_names[].type` | string \| null |
| `provider.other_names[].code` | string \| null |
| `provider.other_names[].name` | string |
| `provider.other_names[].prefix` | string \| null |
| `provider.other_names[].first_name` | string \| null |
| `provider.other_names[].middle_name` | string \| null |
| `provider.other_names[].last_name` | string \| null |
| `provider.other_names[].suffix` | string \| null |
| `provider.other_names[].credential` | string \| null |
| `provider.other_names[].organization_name` | string \| null |
| `verification` | object |
| `verification.name` | object |
| `verification.name.status` | string |
| `verification.name.matched_on` | string \| null |
| `verification.state` | object |
| `verification.state.status` | string |
| `verification.state.matched_on` | string \| null |
| `verification.taxonomy` | object |
| `verification.taxonomy.status` | string |
| `verification.taxonomy.matched_on` | string \| null |
| `verification.fields_checked` | integer |
| `verification.verified` | boolean |
| `upstream_error_code` | string \| null |
| `source` | object |
| `source.name` | string |
| `source.url` | string |
| `source.checked_at` | string |
| `source.latency_ms` | integer \| null |

#### Exemplo de requisição

```bash
curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/npi?number=example&name=example&state=example&taxonomy=example"
```

```javascript
const response = await fetch("https://domscan.net/v1/npi?number=example&name=example&state=example&taxonomy=example", {
  headers: { "X-API-Key": process.env.DOMSCAN_API_KEY },
});
const data = await response.json();
console.log(data);
```

```python
import os
import requests

response = requests.get(
    "https://domscan.net/v1/npi?number=example&name=example&state=example&taxonomy=example",
    headers={"X-API-Key": os.environ["DOMSCAN_API_KEY"]},
)
print(response.json())
```

```go
package main

func main() {
	req, err := http.NewRequest(http.MethodGet, "https://domscan.net/v1/npi?number=example&name=example&state=example&taxonomy=example", nil)
	if err != nil {
		panic(err)
	}
	req.Header.Set("X-API-Key", os.Getenv("DOMSCAN_API_KEY"))

```ruby
require "json"
require "net/http"

uri = URI("https://domscan.net/v1/npi?number=example&name=example&state=example&taxonomy=example")
request = Net::HTTP::Get.new(uri)
request["X-API-Key"] = ENV.fetch("DOMSCAN_API_KEY")

#### Exemplo de resposta

```json
{
  "npi": "1003000126",
  "status": "found",
  "checksum_valid": true,
  "reason": null,
  "notes": [],
  "provider": {
    "npi": "1003000126",
    "type": "individual",
    "enumeration_type": "NPI-1",
    "name": "ARDALAN ENKESHAFI",
    "individual": {
      "prefix": null,
      "first_name": "ARDALAN",
      "middle_name": null,
      "last_name": "ENKESHAFI",
      "suffix": null,
      "credential": "M.D.",
      "sex": "M"
    },
    "organization": null,
    "record_status": "A",
    "active": true,
    "enumeration_date": "2007-08-31",
    "certification_date": "2025-05-28",
    "last_updated": "2025-05-28",
    "sole_proprietor": false,
    "taxonomies": [
      {
        "code": "208M00000X",
        "description": "Hospitalist",
        "primary": true,
        "state": "DC",
        "license": "MD600003480",
        "group": null
      }
    ],
    "primary_taxonomy": {
      "code": "208M00000X",
      "description": "Hospitalist",
      "primary": true,
      "state": "DC",
      "license": "MD600003480",
      "group": null
    },
    "addresses": {
      "location": {
        "purpose": "location",
        "address_type": "DOM",
        "line1": "6410 ROCKLEDGE DR STE 304",
        "line2": null,
        "city": "BETHESDA",
        "state": "MD",
        "postal_code": "20817-1841",
        "country_code": "US",
        "country_name": "United States",
        "telephone": "443-602-6207",
        "fax": null
      },
      "mailing": null
    },
    "practice_locations": [],
    "identifiers": [],
    "endpoints": [],
    "other_names": []
  },
  "verification": {
    "name": {
      "status": "match",
      "matched_on": "name"
    },
    "state": {
      "status": "match",
      "matched_on": "location"
    },
    "taxonomy": {
      "status": "not_requested",
      "matched_on": null
    },
    "fields_checked": 2,
    "verified": true
  },
  "upstream_error_code": null,
  "source": {
    "name": "nppes_npi_registry",
    "url": "https://npiregistry.cms.hhs.gov/api/?version=2.1&number=1003000126",
    "checked_at": "2026-10-18T03:58:55.722Z",
    "latency_ms": 286
  }
}
```

#### Códigos de status HTTP

- `200` OK
- `400` Pedido inválido
- `401` Não autorizado
- `402` Pagamento necessário
- `429` Demasiados pedidos

## GET `/v1/npi/search`

Operação: `searchNpi`
Créditos e autenticação: 1
Autenticação obrigatória

GET /v1/npi/search Créditos: 1

#### Parâmetros de consulta

| Parâmetro | Tipo | obrigatório |
| --- | --- | --- |
| first_name | string | opcional |
| last_name | string | opcional |
| organization_name | string | opcional |
| city | string | opcional |
| state | string | opcional |
| postal_code | string | opcional |
| taxonomy_description | string | opcional |
| limit | integer Padrão `10` | opcional |
| skip | integer Padrão `0` | opcional |

#### Campos da resposta

| Campo | Tipo |
| --- | --- |
| `status` | string |
| `reason` | string \| null |
| `field` | string \| null |
| `query` | object |
| `query.first_name` | string \| null |
| `query.last_name` | string \| null |
| `query.organization_name` | string \| null |
| `query.city` | string \| null |
| `query.state` | string \| null |
| `query.postal_code` | string \| null |
| `query.taxonomy_description` | string \| null |
| `query.limit` | integer |
| `query.skip` | integer |
| `results[]` | object[] |
| `results[]` | object |
| `results[].npi` | string |
| `results[].type` | string |
| `results[].enumeration_type` | string |
| `results[].name` | string |
| `results[].individual` | object |
| `results[].individual.prefix` | string \| null |
| `results[].individual.first_name` | string \| null |
| `results[].individual.middle_name` | string \| null |
| `results[].individual.last_name` | string \| null |
| `results[].individual.suffix` | string \| null |
| `results[].individual.credential` | string \| null |
| `results[].individual.sex` | string |
| `results[].organization` | object |
| `results[].organization.name` | string \| null |
| `results[].organization.subpart` | boolean \| null |
| `results[].organization.authorized_official` | object |
| `results[].organization.authorized_official.prefix` | string \| null |
| `results[].organization.authorized_official.first_name` | string \| null |
| `results[].organization.authorized_official.middle_name` | string \| null |
| `results[].organization.authorized_official.last_name` | string \| null |
| `results[].organization.authorized_official.suffix` | string \| null |
| `results[].organization.authorized_official.credential` | string \| null |
| `results[].organization.authorized_official.title` | string \| null |
| `results[].organization.authorized_official.telephone` | string \| null |
| `results[].record_status` | string \| null |
| `results[].active` | boolean |
| `results[].enumeration_date` | string \| null |
| `results[].certification_date` | string \| null |
| `results[].last_updated` | string \| null |
| `results[].sole_proprietor` | boolean \| null |
| `results[].taxonomies[]` | object[] |
| `results[].taxonomies[]` | object |
| `results[].taxonomies[].code` | string |
| `results[].taxonomies[].description` | string \| null |
| `results[].taxonomies[].primary` | boolean |
| `results[].taxonomies[].state` | string \| null |
| `results[].taxonomies[].license` | string \| null |
| `results[].taxonomies[].group` | string \| null |
| `results[].primary_taxonomy` | object |
| `results[].primary_taxonomy.code` | string |
| `results[].primary_taxonomy.description` | string \| null |
| `results[].primary_taxonomy.primary` | boolean |
| `results[].primary_taxonomy.state` | string \| null |
| `results[].primary_taxonomy.license` | string \| null |
| `results[].primary_taxonomy.group` | string \| null |
| `results[].addresses` | object |
| `results[].addresses.location` | object |
| `results[].addresses.location.purpose` | string \| null |
| `results[].addresses.location.address_type` | string \| null |
| `results[].addresses.location.line1` | string \| null |
| `results[].addresses.location.line2` | string \| null |
| `results[].addresses.location.city` | string \| null |
| `results[].addresses.location.state` | string \| null |
| `results[].addresses.location.postal_code` | string \| null |
| `results[].addresses.location.country_code` | string \| null |
| `results[].addresses.location.country_name` | string \| null |
| `results[].addresses.location.telephone` | string \| null |
| `results[].addresses.location.fax` | string \| null |
| `results[].addresses.mailing` | object |
| `results[].addresses.mailing.purpose` | string \| null |
| `results[].addresses.mailing.address_type` | string \| null |
| `results[].addresses.mailing.line1` | string \| null |
| `results[].addresses.mailing.line2` | string \| null |
| `results[].addresses.mailing.city` | string \| null |
| `results[].addresses.mailing.state` | string \| null |
| `results[].addresses.mailing.postal_code` | string \| null |
| `results[].addresses.mailing.country_code` | string \| null |
| `results[].addresses.mailing.country_name` | string \| null |
| `results[].addresses.mailing.telephone` | string \| null |
| `results[].addresses.mailing.fax` | string \| null |
| `results[].practice_locations[]` | object[] |
| `results[].practice_locations[]` | object |
| `results[].practice_locations[].purpose` | string \| null |
| `results[].practice_locations[].address_type` | string \| null |
| `results[].practice_locations[].line1` | string \| null |
| `results[].practice_locations[].line2` | string \| null |
| `results[].practice_locations[].city` | string \| null |
| `results[].practice_locations[].state` | string \| null |
| `results[].practice_locations[].postal_code` | string \| null |
| `results[].practice_locations[].country_code` | string \| null |
| `results[].practice_locations[].country_name` | string \| null |
| `results[].practice_locations[].telephone` | string \| null |
| `results[].practice_locations[].fax` | string \| null |
| `results[].identifiers[]` | object[] |
| `results[].identifiers[]` | object |
| `results[].identifiers[].code` | string \| null |
| `results[].identifiers[].description` | string \| null |
| `results[].identifiers[].identifier` | string \| null |
| `results[].identifiers[].issuer` | string \| null |
| `results[].identifiers[].state` | string \| null |
| `results[].endpoints[]` | object[] |
| `results[].endpoints[]` | object |
| `results[].endpoints[].endpoint` | string \| null |
| `results[].endpoints[].type` | string \| null |
| `results[].endpoints[].type_description` | string \| null |
| `results[].endpoints[].description` | string \| null |
| `results[].endpoints[].use` | string \| null |
| `results[].endpoints[].use_description` | string \| null |
| `results[].endpoints[].use_other_description` | string \| null |
| `results[].endpoints[].content_type` | string \| null |
| `results[].endpoints[].content_type_description` | string \| null |
| `results[].endpoints[].affiliation` | boolean \| null |
| `results[].endpoints[].affiliation_name` | string \| null |
| `results[].other_names[]` | object[] |
| `results[].other_names[]` | object |
| `results[].other_names[].type` | string \| null |
| `results[].other_names[].code` | string \| null |
| `results[].other_names[].name` | string |
| `results[].other_names[].prefix` | string \| null |
| `results[].other_names[].first_name` | string \| null |
| `results[].other_names[].middle_name` | string \| null |
| `results[].other_names[].last_name` | string \| null |
| `results[].other_names[].suffix` | string \| null |
| `results[].other_names[].credential` | string \| null |
| `results[].other_names[].organization_name` | string \| null |
| `result_count` | integer |
| `has_more` | boolean |
| `upstream_error_code` | string \| null |
| `source` | object |
| `source.name` | string |
| `source.url` | string |
| `source.checked_at` | string |
| `source.latency_ms` | integer \| null |

#### Exemplo de requisição

```bash
curl -H "X-API-Key: $DOMSCAN_API_KEY" "https://domscan.net/v1/npi/search?first_name=example&last_name=example&organization_name=example&city=example&state=example&postal_code=example&taxonomy_description=example&limit=25&skip=0"
```

```javascript
const response = await fetch("https://domscan.net/v1/npi/search?first_name=example&last_name=example&organization_name=example&city=example&state=example&postal_code=example&taxonomy_description=example&limit=25&skip=0", {
  headers: { "X-API-Key": process.env.DOMSCAN_API_KEY },
});
const data = await response.json();
console.log(data);
```

```python
import os
import requests

response = requests.get(
    "https://domscan.net/v1/npi/search?first_name=example&last_name=example&organization_name=example&city=example&state=example&postal_code=example&taxonomy_description=example&limit=25&skip=0",
    headers={"X-API-Key": os.environ["DOMSCAN_API_KEY"]},
)
print(response.json())
```

```go
package main

import (
	"fmt"
	"io"
	"net/http"
	"os"
)

func main() {
	req, err := http.NewRequest(http.MethodGet, "https://domscan.net/v1/npi/search?first_name=example&last_name=example&organization_name=example&city=example&state=example&postal_code=example&taxonomy_description=example&limit=25&skip=0", nil)
	if err != nil {
		panic(err)
	}
	req.Header.Set("X-API-Key", os.Getenv("DOMSCAN_API_KEY"))

	resp, err := http.DefaultClient.Do(req)
	if err != nil {
		panic(err)
	}
	defer resp.Body.Close()

	data, err := io.ReadAll(resp.Body)
	if err != nil {
		panic(err)
	}
	fmt.Println(resp.Status, string(data))
}
```

```ruby
require "json"
require "net/http"

uri = URI("https://domscan.net/v1/npi/search?first_name=example&last_name=example&organization_name=example&city=example&state=example&postal_code=example&taxonomy_description=example&limit=25&skip=0")
request = Net::HTTP::Get.new(uri)
request["X-API-Key"] = ENV.fetch("DOMSCAN_API_KEY")

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
  http.request(request)
end
puts JSON.pretty_generate(JSON.parse(response.body))
```

#### Exemplo de resposta

```json
{
  "status": "ok",
  "reason": null,
  "field": null,
  "query": {
    "first_name": null,
    "last_name": null,
    "organization_name": "mayo clinic*",
    "city": null,
    "state": "MN",
    "postal_code": null,
    "taxonomy_description": null,
    "limit": 1,
    "skip": 0
  },
  "results": [
    {
      "npi": "1003000126",
      "type": "individual",
      "enumeration_type": "NPI-1",
      "name": "ARDALAN ENKESHAFI",
      "individual": {
        "prefix": null,
        "first_name": "ARDALAN",
        "middle_name": null,
        "last_name": "ENKESHAFI",
        "suffix": null,
        "credential": "M.D.",
        "sex": "M"
      },
      "organization": null,
      "record_status": "A",
      "active": true,
      "enumeration_date": "2007-08-31",
      "certification_date": "2025-05-28",
      "last_updated": "2025-05-28",
      "sole_proprietor": false,
      "taxonomies": [
        {
          "code": "208M00000X",
          "description": "Hospitalist",
          "primary": true,
          "state": "DC",
          "license": "MD600003480",
          "group": null
        }
      ],
      "primary_taxonomy": {
        "code": "208M00000X",
        "description": "Hospitalist",
        "primary": true,
        "state": "DC",
        "license": "MD600003480",
        "group": null
      },
      "addresses": {
        "location": {
          "purpose": "location",
          "address_type": "DOM",
          "line1": "6410 ROCKLEDGE DR STE 304",
          "line2": null,
          "city": "BETHESDA",
          "state": "MD",
          "postal_code": "20817-1841",
          "country_code": "US",
          "country_name": "United States",
          "telephone": "443-602-6207",
          "fax": null
        },
        "mailing": null
      },
      "practice_locations": [],
      "identifiers": [],
      "endpoints": [],
      "other_names": []
    }
  ],
  "result_count": 1,
  "has_more": true,
  "upstream_error_code": null,
  "source": {
    "name": "nppes_npi_registry",
    "url": "https://npiregistry.cms.hhs.gov/api/?version=2.1",
    "checked_at": "2026-10-18T03:58:55.722Z",
    "latency_ms": 286
  }
}
```

#### Códigos de status HTTP

- `200` OK
- `400` Pedido inválido
- `401` Não autorizado
- `402` Pagamento necessário
- `429` Demasiados pedidos

## Recursos de referência

[OpenAPI 3.0](https://domscan.net/v1/openapi.json)
[Postman](https://domscan.net/v1/postman.json)
[MCP](https://domscan.net/pt/mcp-domain-checker)
