# API de CNDT: certidão trabalhista do TST por CNPJ ou CPF

> Consulta a Certidão Negativa de Débitos Trabalhistas (CNDT) de um CNPJ ou CPF no TST e devolve situação, validade, número e o PDF oficial.

URL: https://docs.fiscalapi.com.br/docs/certidoes-federais/consultar-cndt
Atualizado em 06/11/2026

`GET /api/consultar-cndt` devolve a Certidão Negativa de Débitos Trabalhistas (CNDT) de um CNPJ ou CPF, emitida pelo Tribunal Superior do Trabalho (TST), com a situação (`negativa`, `positiva` ou `positiva_com_efeitos_de_negativa`), a validade, o número e o PDF oficial, e conta como **1 consulta** (de R$ 0,025 a R$ 0,67, conforme o plano).

A CNDT mostra se a pessoa ou empresa consta no Banco Nacional de Devedores Trabalhistas (BNDT) e é exigida em licitações, contratos e operações de crédito. Ela vale **180 dias** a partir da emissão (CLT, art. 642-A, § 4º).

## ## Resumo

| Item                            | Valor                                                                         |
| ------------------------------- | ----------------------------------------------------------------------------- |
| Endpoint                        | `GET https://api.fiscalapi.com.br/api/consultar-cndt`                         |
| Você envia                      | `cnpj` ou `cpf`                                                               |
| Órgão emissor                   | Tribunal Superior do Trabalho (TST)                                           |
| Volta                           | `status`, validade, emissão, número da certidão (`protocolo`) e PDF em base64 |
| Validade da certidão            | 180 dias (CLT, art. 642-A, § 4º)                                              |
| Precisa de certificado digital? | Não. Basta o documento.                                                       |

## ## Quanto custa cada chamada

| Chamada                      | Conta como | Lite    | Starter | Pro      | Enterprise |
| ---------------------------- | ---------- | ------- | ------- | -------- | ---------- |
| CNDT (`/api/consultar-cndt`) | 1 consulta | R$ 0,67 | R$ 0,10 | R$ 0,065 | R$ 0,025   |

Valores por consulta dentro da franquia mensal; recarga a R$ 0,12 (Starter), R$ 0,07 (Pro) ou R$ 0,02 (Enterprise). Veja [Planos e limites](/docs/referencia/plans-and-limits).

* **Não é cobrada:** erro HTTP e `status: "erro"` (o portal do TST não entregou a certidão).
* **É cobrada:** a certidão devolvida, negativa ou positiva. Resultado em cache (`cached: true`, até 24 horas) também conta.

## ## Autenticação

Envie sua chave no header `X-API-Key`. Veja [Autenticação](/docs/getting-started/authentication) para detalhes.

## ## Parâmetros de consulta

Você deve informar pelo menos um dos parâmetros `cpf` ou `cnpj`. Se ambos forem enviados, `cnpj` tem precedência.

| Name   | Type   | Required | Description                                         |
| ------ | ------ | -------- | --------------------------------------------------- |
| `cpf`  | string | Não      | CPF do contribuinte (somente números, 11 dígitos).  |
| `cnpj` | string | Não      | CNPJ do contribuinte (somente números, 14 dígitos). |

## ## Exemplos

### ### CNDT de um CNPJ

<Tabs items="[&#x22;curl&#x22;, &#x22;JavaScript&#x22;, &#x22;Python&#x22;, &#x22;PHP&#x22;, &#x22;C#&#x22;]">
  <Tab value="curl">
    ```bash
    curl -X GET "https://api.fiscalapi.com.br/api/consultar-cndt?cnpj=12345678000195" \
      -H "X-API-Key: fapi_sua_chave_aqui"
    ```
  </Tab>

  <Tab value="JavaScript">
    ```javascript
    const response = await fetch(
      "https://api.fiscalapi.com.br/api/consultar-cndt?cnpj=12345678000195",
      { headers: { "X-API-Key": "fapi_sua_chave_aqui" } }
    );
    const data = await response.json();
    console.log(data.result.status);
    ```
  </Tab>

  <Tab value="Python">
    ```python
    import requests

    response = requests.get(
        "https://api.fiscalapi.com.br/api/consultar-cndt",
        headers={"X-API-Key": "fapi_sua_chave_aqui"},
        params={"cnpj": "12345678000195"},
    )
    data = response.json()
    print(data["result"]["status"])
    ```
  </Tab>

  <Tab value="PHP">
    ```php
    $response = Http::withHeaders([
        'X-API-Key' => 'fapi_sua_chave_aqui',
    ])->get('https://api.fiscalapi.com.br/api/consultar-cndt', [
        'cnpj' => '12345678000195',
    ]);
    $data = $response->json();
    ```
  </Tab>

  <Tab value="C#">
    ```csharp
    var client = new HttpClient();
    client.DefaultRequestHeaders.Add("X-API-Key", "fapi_sua_chave_aqui");
    var response = await client.GetAsync(
        "https://api.fiscalapi.com.br/api/consultar-cndt?cnpj=12345678000195"
    );
    var data = await response.Content.ReadAsStringAsync();
    ```
  </Tab>
</Tabs>

## ## Resposta

### ### Campos de nível superior

| Campo           | Tipo    | Descrição                                                  |
| --------------- | ------- | ---------------------------------------------------------- |
| `request_id`    | string  | Identificador único da requisição (UUID).                  |
| `document`      | string  | Documento enviado na consulta.                             |
| `document_type` | string  | Tipo do documento: `cpf` ou `cnpj`.                        |
| `cached`        | boolean | Indica se o resultado veio do cache (TTL de 24h).          |
| `source_status` | object  | Status da fonte (`status`, `error_code`, `error_message`). |
| `result`        | object  | Dados da certidão.                                         |

### ### Campos de `result`

| Campo             | Tipo   | Descrição                                                                                                                                                                                      |
| ----------------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `tipo`            | string | Sempre `cndt` neste endpoint.                                                                                                                                                                  |
| `status`          | string | Status normalizado da certidão. Veja tabela abaixo.                                                                                                                                            |
| `status_raw`      | string | Texto original retornado pelo TST.                                                                                                                                                             |
| `validade`        | string | Data de validade da certidão.                                                                                                                                                                  |
| `validade_iso`    | string | Data de validade em ISO 8601 (`YYYY-MM-DD`).                                                                                                                                                   |
| `emissao`         | string | Data de emissão da certidão.                                                                                                                                                                   |
| `emissao_iso`     | string | Data de emissão em ISO 8601 (`YYYY-MM-DD`).                                                                                                                                                    |
| `protocolo`       | string | Número da certidão no TST, no formato `NNNNNNN/AAAA`.                                                                                                                                          |
| `pdf_base64`      | string | PDF oficial da certidão em base64. Vem preenchido no `/api/consultar-cndt`; nas consultas consolidadas (`/api/certidoes-todas`, `/api/perfil-produtor`) vem vazio, para não inflar a resposta. |
| `url_verificacao` | string | Reservado; hoje vem vazio. Para conferir autenticidade, use o `protocolo` em [https://cndt-certidao.tst.jus.br](https://cndt-certidao.tst.jus.br).                                             |
| `orgao`           | string | Sempre `TST` neste endpoint.                                                                                                                                                                   |

### ### Valores de status da CNDT

| Status                             | Significado                                                                                                           |
| ---------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| `negativa`                         | O contribuinte **não possui débitos trabalhistas** — não consta no BNDT. Situação regular.                            |
| `positiva`                         | O contribuinte **consta no Banco Nacional de Devedores Trabalhistas** (débitos inadimplidos em execução trabalhista). |
| `positiva_com_efeitos_de_negativa` | Há débitos, mas **garantidos ou com exigibilidade suspensa** — efeitos práticos de certidão negativa.                 |
| `erro`                             | Ocorreu um erro na consulta ao TST. Verifique `source_status` para detalhes.                                          |

### ### Exemplo de resposta

```json
{
  "request_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "document": "12345678000195",
  "document_type": "cnpj",
  "cached": false,
  "source_status": {
    "status": "success",
    "error_code": "",
    "error_message": ""
  },
  "result": {
    "tipo": "cndt",
    "status": "negativa",
    "status_raw": "CERTIDAO NEGATIVA DE DEBITOS TRABALHISTAS",
    "validade": "09/09/2026",
    "validade_iso": "2026-09-09",
    "emissao": "13/03/2026",
    "emissao_iso": "2026-03-13",
    "protocolo": "1234567/2026",
    "pdf_base64": "JVBERi0xLjQK...",
    "orgao": "TST"
  }
}
```

<Callout type="info">
  O `status` é lido do próprio PDF emitido pelo TST — não de mensagem de tela. Quando a certidão não pode ser lida, a API responde `status: "erro"` em vez de presumir regularidade.
</Callout>

## ## Cache

O resultado fica em cache por 24 horas (`cached: true`). O PDF não é guardado em cache: ele é baixado de novo do TST na leitura, sem custo adicional.

## ## Códigos de erro

| Código                | HTTP Status | Descrição                                         |
| --------------------- | ----------- | ------------------------------------------------- |
| `PARAMETRO_AUSENTE`   | 400         | Nenhum documento (`cpf` ou `cnpj`) foi informado. |
| `LIMITE_ATINGIDO`     | 402         | Cota mensal do plano esgotada e sem recarga.      |
| `RATE_LIMIT_EXCEEDED` | 429         | Rate limit do plano excedido.                     |
| `ERRO_INTERNO`        | 500         | Erro interno no servidor.                         |

## ## Integração com ERPs

A chamada é um `GET` com o header `X-API-Key`, em geral na homologação de fornecedores, no cadastro de prestadores ou na análise de crédito. Não existe conector pronto.

| Sistema                      | Como chamar a API REST                                                                                      |
| ---------------------------- | ----------------------------------------------------------------------------------------------------------- |
| TOTVS Protheus               | Num fonte ADVPL/TLPP, com a classe `FWRest` ou a função `HttpGet`.                                          |
| SAP (ECC, S/4HANA)           | Em ABAP, com `cl_http_client`, ou por um fluxo no SAP Integration Suite.                                    |
| Sankhya, Senior, Omie, Bling | Por um serviço intermediário (script, n8n, Make) que chama a FiscalAPI e grava o resultado pela API do ERP. |
| Odoo                         | Num módulo próprio em Python, com `requests`.                                                               |

## ## Perguntas frequentes

### ### Existe API de CNDT?

Sim. `GET /api/consultar-cndt` recebe um CNPJ ou CPF e devolve em JSON a situação da Certidão Negativa de Débitos Trabalhistas no TST, com validade, número e o PDF oficial. Não precisa de certificado digital.

### ### Quanto custa a CNDT por API?

1 consulta por chamada: R$ 0,025 no Enterprise, R$ 0,065 no Pro, R$ 0,10 no Starter e R$ 0,67 no Lite, dentro da franquia. Erro não é cobrado.

### ### Qual a validade da CNDT?

180 dias, contados da data de emissão (CLT, art. 642-A, § 4º). A data vem no campo `validade`.

### ### Dá para consultar CNDT de vários CNPJs?

Sim. Faça uma chamada por documento, respeitando o limite por minuto do plano. Para CNDT, CND Federal, CRF e CND estadual juntas, use [Todas as certidões](/docs/certidoes-federais/certidoes-todas).
