Skip to content

Listas Restritivas

Este endpoint verifica se o nome de uma pessoa se encontra em uma ou mais listas restritivas.

A busca também pode ser feita por CPF ou CNPJ, com o parâmetro taxId.

Request

GET /restricted-lists/v2?name={name}&list={list}

Parâmetros

ParâmetroDescriçãoObrigatório
listLista desejada (ver opções abaixo)Sim
nameNome da pessoa consultada, de 3 a 200 caracteres — os dois extremos entramSim, se não houver taxId
taxIdCPF ou CNPJ da pessoa consultadaNão

É preciso informar name ou taxId. Quando os dois vêm na mesma chamada, o taxId é usado e o name é ignorado.

Opções de listas (list):

ValorLista
auxilioemergencialBeneficiários do Auxílio Emergencial
bacenBanco Central do Brasil
candidatoseleitoraisCandidatos eleitorais
ceisCadastro de Empresas Inidôneas e Suspensas (CEIS)
cepimCadastro de Entidades Privadas Sem Fins Lucrativos Impedidas (CEPIM)
cnepCadastro Nacional de Empresas Punidas (CNEP)
cvmCadastro da Comissão de Valores Mobiliários (CVM)
diariooficialDiário Oficial
europeiasSanções europeias
lenienciaAcordos de leniência
ofacsdnLista SDN da Agência de Controle de Ativos Estrangeiros dos EUA (OFAC)
onuSanções da ONU
pepCadastro de Pessoas Expostas Politicamente (PEP)
todasBusca em todas as listas disponíveis. Veja o aviso abaixo.
trabalhoescravoTrabalho escravo
ukSanções do Reino Unido

O valor de list é o mesmo identificador que volta em data[].list (na v2) e em data.lists (na v1), sempre em minúsculas.

‼️ list=todas consulta as dezesseis listas e cobra as dezesseis

Caso seja utilizado o parâmetro todas, a busca será realizada em todas as listas e o valor tarifado será correspondente a somatória de cada consulta individual. Dessa forma, certifique-se que este é o parâmetro ideal para o seu cenário.

todas também exige a permissão nextid.bureaus.restrictedLists.allLists. Uma chave que só tem nextid.bureaus.restrictedLists.oneList consulta qualquer lista individual normalmente, mas recebe 401 ao pedir todas.

Busca por nome

A comparação é por trecho contido no nome, sem diferenciar maiúsculas de minúsculas. Buscar por silva retorna todo registro cujo nome contenha silva em qualquer posição.

Busca por taxId

O taxId aceita CPF ou CNPJ, com ou sem máscara. O que decide qual dos dois é o número de caracteres depois de removidos os separadores: 11 é CPF, 14 é CNPJ. Qualquer outro tamanho não gera erro — a consulta simplesmente não encontra nada.

Parte das listas publica o CPF mascarado. Por isso a busca por CPF procura também a forma mascarada correspondente (***.456.789-** para o CPF 12345678909), e os registros encontrados assim vêm marcados em reconciliation.

Headers

http
Authorization: ApiKey <sua-chave-de-api>

Exemplo Request

GET /restricted-lists/v2?name=Joao da Silva&list=ofacsdn

bash
curl -i -G 'https://api.nxcd.app/restricted-lists/v2' \
  --header 'Authorization: ApiKey SUA_CHAVE_AQUI' \
  --data-urlencode 'name=Joao da Silva' \
  --data-urlencode 'list=ofacsdn'

Busca por CPF:

bash
curl -i -G 'https://api.nxcd.app/restricted-lists/v2' \
  --header 'Authorization: ApiKey SUA_CHAVE_AQUI' \
  --data-urlencode 'taxId=12345678909' \
  --data-urlencode 'list=pep'

Response

Os campos abaixo descrevem a resposta da v2, a versão recomendada e a usada nos exemplos desta página. A v1 devolve um data com outro formato — veja Versões.

Cada item de data é um par lista + arquivo de origem, com os registros encontrados nele.

CampoDescriçãoTipo
idID único da requisiçãoString
versionVersão da APIString
dataLista dos resultados da busca, agrupados por lista e arquivo de origemObject[]
data[].listIdentificador da lista, o mesmo aceito no parâmetro listString
data[].fileArquivo de origem, no formato AAAAMMDD_LISTA.csvString
data[].foundRegistros encontrados nesse arquivoObject[]
data[].found[].nameNome como consta na listaString
data[].found[].taxIdCPF ou CNPJ como consta na lista, podendo vir mascaradoString
data[].found[].reconciliationComo o registro foi casado com o taxId consultado. Só aparece quando há informação.String
data[].found[].candidatesCandidatos registrados na origem para esse registro. Só aparece quando a origem os traz.Object[]
metadataObjeto com os metadados da requisiçãoObject
metadata.timeSpentTempo da requisição, em milissegundosNumber

‼️ data é uma lista, não um objeto

Um código escrito para ler data.found recebe undefined. E a resposta vazia é [], não { "found": false }.

Chamar /restricted-lists sem indicar a versão entrega a chamada para a v1, que tem outro formato. Sempre informe a versão na URL.

Quando a busca é feita por taxId e um grupo contém pelo menos um registro com reconciliation igual a exact, os demais registros daquele grupo são descartados — sobra só o casamento exato.

🚧 Não compare reconciliation contra uma lista fechada

Os valores confirmados são exact, para o casamento direto do documento, e unavailable, para o registro cujo taxId na origem vem mascarado e não pôde ser conferido. A origem pode trazer outros valores.

Trate exact como o casamento confirmado e qualquer outro valor como resultado a conferir, em vez de comparar contra uma lista fechada.

Exemplos JSON

Veja um exemplo em JSON da resposta.

Status Code: 200
json
{
  "id": "13cfec7c-b238-4820-a4d1-5173e4c1418e",
  "version": "v2",
  "data": [
    {
      "list": "pep",
      "file": "20210802_PEP.csv",
      "found": [
        {
          "name": "JOAO DA SILVA",
          "taxId": "***.456.789-**",
          "reconciliation": "unavailable"
        }
      ]
    }
  ],
  "metadata": {
    "timeSpent": 10000
  }
}

Quando nada é encontrado

data vem como lista vazia.

Status Code: 200
json
{
  "id": "13cfec7c-b238-4820-a4d1-5173e4c1418e",
  "version": "v2",
  "data": [],
  "metadata": {
    "timeSpent": 10000
  }
}

Headers de resposta

HeaderQuando aparece
Nextid-ReqIdEm todas as respostas. Traz o identificador da requisição, o mesmo do campo id do corpo.

Erros

CódigoQuando ocorre
401 UnauthorizedChave de API ausente, inválida, sem nenhuma das permissões de listas restritivas, ou pedindo list=todas sem a permissão nextid.bureaus.restrictedLists.allLists.
404 Not FoundA versão informada na URL não existe. Só v1 e v2 são aceitas.
422 Unprocessable Entitylist ausente ou fora das opções, ou name com menos de 3 ou mais de 200 caracteres sem que taxId tenha sido informado.
500 Internal Server ErrorFalha inesperada durante o processamento.

Exemplo de resposta com list fora das opções:

Status Code: 422
json
{
  "id": "13cfec7c-b238-4820-a4d1-5173e4c1418e",
  "error": {
    "statusCode": 422,
    "error": "Unprocessable Entity",
    "message": "The \"list\" query param is required and should be one of the following options: auxilioemergencial - bacen - candidatoseleitorais - ceis - cepim - cnep - cvm - diariooficial - europeias - leniencia - ofacsdn - onu - pep - todas - trabalhoescravo - uk"
  }
}

O formato das respostas de erro está descrito em Códigos HTTP das respostas.

Versões

VersãoSituaçãoO que muda
v2Recomendadadata é uma lista, agrupada por lista e arquivo, com os registros encontrados. Diz quem foi encontrado.
v1Disponíveldata é um objeto com found, lists e files. É o que responde quando a versão é omitida na URL.

A v2 é a versão descrita nesta página. Informe sempre a versão no caminho da chamada: /restricted-lists sem versão continua respondendo pela v1, no formato antigo.

O data da v1

Registro para quem já integrou na v1. Ela diz se houve resultado, não quem foi encontrado: found é apenas true ou false, e lists/files dizem em que lista e em que arquivo houve resultado. Os nomes e documentos encontrados não aparecem nesta versão.

CampoDescriçãoTipo
dataObjeto com o resultado da buscaObject
data.foundNome encontrado na lista buscada?Boolean
data.listsIdentificadores das listas em que houve resultadoString[]
data.filesArquivos de origem dos resultados, no formato AAAAMMDD_LISTA.csvString[]

Os campos id, version e metadata são os mesmos da v2.

Status Code: 200
json
{
  "id": "13cfec7c-b238-4820-a4d1-5173e4c1418e",
  "version": "v1",
  "data": {
    "found": true,
    "lists": [
      "ofacsdn"
    ],
    "files": [
      "20210802_OFACSDN.csv"
    ]
  },
  "metadata": {
    "timeSpent": 10000
  }
}

Quando nada é encontrado, found vem false e as duas listas vêm vazias:

Status Code: 200
json
{
  "id": "13cfec7c-b238-4820-a4d1-5173e4c1418e",
  "version": "v1",
  "data": {
    "found": false,
    "lists": [],
    "files": []
  },
  "metadata": {
    "timeSpent": 10000
  }
}

Nextcode | Soluções em Verificação de Identidade