Mandados de prisão (BNMP)
Exemplos fictícios: documentos, nomes e números abaixo são demonstrativos e não representam pessoas ou mandados reais. Para executar uma consulta autorizada, use um CPF válido e sua API key.
A API consulta mandados de prisão na base BNMP/CNJ e devolve o resultado estruturado. Use para triagem cadastral, compliance e due diligence, separado dos processos judiciais comuns (GET /v1/processos).
O retorno descreve os registros disponíveis naquele instante. Ele não substitui certidão, ofício ou consulta formal perante o órgão emissor.
Endpoint
| Método | Path | Preço padrão |
|---|---|---|
| GET | /v1/mandados | R$ 0,25 por consulta concluída |
Valores podem ter condições específicas por conta. Confirme a tabela vigente no Console API.
Ausência de mandado (exists: false, count: 0) é um resultado válido e gera débito. Indisponibilidade da fonte não gera débito.
Consultar por CPF
curl --get 'https://api.buscaprocessos.app.br/v1/mandados' \
--header 'x-api-key: SUA_API_KEY' \
--data-urlencode 'cpf=00000000000'
Também aceita Authorization: Bearer SUA_API_KEY. Informe cpf ou numero_peca.
Parâmetros
| Parâmetro | Obrigatório | Descrição |
|---|---|---|
cpf | um dos dois | CPF da pessoa. A API aceita pontuação e normaliza para 11 dígitos. |
numero_peca | um dos dois | Número da peça ou do mandado. |
nome | não | Nome para refinar a consulta. |
incluir_detalhes | não | Quando true, complementa até 10 mandados com o detalhe público da peça. Padrão: false. |
page | não | Página iniciando em 1. |
limit | não | Itens por página, de 1 a 100. Padrão: 20. |
Resposta 200
{
"data": {
"cpf": "00000000000",
"nome": null,
"numero_peca": null,
"status": "CONSTA",
"exists": true,
"count": 1,
"mandados": [
{
"id": "1234567",
"numero": "0000000-00.2026.8.26.0000",
"nome": "Fulano de Tal",
"situacao": "Pendente de cumprimento",
"tipo": "Mandado de Prisão",
"data_expedicao": "2024-03-12T00:00:00.000Z",
"orgao": "1ª Vara Criminal",
"peca_tipo_id": 1
}
],
"consultado_em": "2026-09-03T20:00:00.000Z",
"paginator": {
"page": 1,
"limit": 20,
"total": 1
}
},
"meta": {
"creditsCharged": 0.25,
"creditsRemaining": 199.75,
"requestId": "req_bnmp_exemplo",
"searchLogId": "log_bnmp_exemplo",
"servedAt": "17:00:00",
"source": "CNJ/BNMP",
"definitiveNegative": false
}
}
Status do resultado
data.status | data.exists | Significado |
|---|---|---|
CONSTA | true | A fonte retornou ao menos um mandado. Consulte data.count e data.mandados. |
NADA_CONSTA | false | A consulta foi concluída com sucesso e retornou zero mandados naquele instante. |
Os valores são retornados em maiúsculas. O campo booleano data.exists
permanece disponível para compatibilidade. Uma falha, timeout ou
indisponibilidade da fonte é retornada como erro e nunca como NADA_CONSTA.
Exemplo de resposta concluída sem mandados:
{
"data": {
"cpf": "00000000000",
"nome": null,
"numero_peca": null,
"status": "NADA_CONSTA",
"exists": false,
"count": 0,
"mandados": [],
"consultado_em": "2026-09-04T15:30:00.000Z",
"paginator": {
"page": 1,
"limit": 20,
"total": 0
}
},
"meta": {
"creditsCharged": 0.25,
"creditsRemaining": 199.75,
"requestId": "req_bnmp_exemplo",
"searchLogId": "log_bnmp_exemplo",
"servedAt": "12:30:00",
"source": "CNJ/BNMP",
"definitiveNegative": false
}
}
Campos de cada item em data.mandados:
| Campo | Significado |
|---|---|
id | Identificador interno da peça. |
numero | Número da peça, quando disponível. |
nome | Nome associado ao mandado. |
situacao | Situação do mandado, por exemplo pendente de cumprimento. |
tipo | Tipo da peça, em geral mandado de prisão. |
data_expedicao | Data de expedição, quando disponível. |
orgao | Órgão expedidor. |
peca_tipo_id | Identificador do tipo da peça, usado no detalhe. |
detalhes | Presente somente com incluir_detalhes=true. |
meta.definitiveNegative permanece false: um resultado negativo vale para aquele instante.
Consultas assíncronas
A operação reserva até 28 segundos para uma resposta síncrona. Se a consulta ainda estiver em processamento, a API responde 202 Accepted, sem cobrança naquele estado intermediário, e informa Location, Retry-After, data.statusUrl, o intervalo recomendado de polling e o horário da próxima tentativa.
Consulte a statusUrl com a mesma API key até receber o resultado final. Não repita GET /v1/mandados enquanto o trabalho estiver em curso. A operação continua no servidor, é deduplicada e é cobrada uma única vez quando concluída.
{
"data": {
"status": "PROCESSANDO",
"requestId": "00000000-0000-0000-0000-000000000000",
"message": "A consulta continua em segundo plano. Consulte a statusUrl até receber a resposta final.",
"statusUrl": "https://api.buscaprocessos.app.br/v1/requests/00000000-0000-0000-0000-000000000000",
"pollAfterMs": 5000,
"pollAfterSeconds": 5,
"nextPollAt": "2026-09-03T20:00:05.000Z",
"submittedAt": "2026-09-03T20:00:00.000Z"
},
"meta": {
"creditsCharged": 0
}
}
curl --request GET \
--url 'https://api.buscaprocessos.app.br/v1/requests/00000000-0000-0000-0000-000000000000' \
--header 'x-api-key: SUA_API_KEY'
Erros frequentes
| HTTP | Código | Significado |
|---|---|---|
| 422 | INVALID_CPF | CPF informado é inválido. |
| 422 | MISSING_QUERY | Informe cpf ou numero_peca. |
| 429 | BNMP_RATE_LIMITED | A fonte limitou temporariamente as consultas. Respeite Retry-After. |
| 502 | BNMP_UNAVAILABLE / BNMP_BLOCKED | Fonte temporariamente indisponível. |
Falhas de validação de entrada e indisponibilidade da fonte não geram débito.
Limitações
- O resultado cobre mandados disponíveis na base BNMP/CNJ no momento da consulta.
- Não substitui certidão oficial nem afirma ausência definitiva de mandado.
- Não misture este retorno com a listagem de processos judiciais.