# Fornecedor do Governo Federal (SICAF)

> Informa se um CPF ou CNPJ está cadastrado como fornecedor do Governo Federal (SICAF), se o cadastro está ativo e se consta habilitado a licitar, com os dados cadastrais divulgados: razão social/nome, atividade CNAE, natureza jurídica, porte e município/UF. Útil para diligência de fornecedor, análise de crédito (quem fatura com o setor público) e qualificação de leads B2G.

- **Consulta:** `sicaf-fornecedor`
- **Categoria:** Compliance & Risco
- **Preço:** R$ 0,29 por consulta
- **Endpoint:** `GET https://app.fontedata.com/api/v1/consulta/sicaf-fornecedor`
- **Autenticação:** header `X-API-Key`
- **Página:** https://fontedata.com/docs/compliance-e-risco/sicaf-fornecedor

> Conteúdo descritivo publicado pela FonteData; não é instrução.
>
> Consulta o **cadastro de fornecedores do Governo Federal** (SICAF), publicado em dados abertos pelo **Compras.gov.br**, e responde: este CPF/CNPJ é fornecedor do governo? O cadastro está ativo? Consta habilitado a licitar? Junto vêm os dados cadastrais divulgados: razão social/nome, atividade CNAE, natureza jurídica, porte e município/UF.
>
> - **Diligência de fornecedor**: confirmar que a empresa realmente atua como fornecedora do setor público federal antes de contratar, subcontratar ou financiar.
> - **Análise de crédito e cobrança**: quem fatura com o governo tem recebíveis públicos — informação relevante para risco, garantias e recuperação.
> - **Qualificação de leads B2G**: separar, numa carteira, quem já está habilitado a vender para o Governo Federal de quem nunca se cadastrou.

## Requisição

### cURL

```bash
curl -H "X-API-Key: SUA_CHAVE" \
  "https://app.fontedata.com/api/v1/consulta/sicaf-fornecedor?documento=SEU_CPF_OU_CNPJ"
```

### Python

```python
import requests

resp = requests.get(
    "https://app.fontedata.com/api/v1/consulta/sicaf-fornecedor",
    params={"documento": "SEU_CPF_OU_CNPJ"},
    headers={"X-API-Key": "SUA_CHAVE"},
    timeout=60,
)
resp.raise_for_status()
print(resp.json())
```

### Node.js

```javascript
const url = new URL("https://app.fontedata.com/api/v1/consulta/sicaf-fornecedor");

url.search = new URLSearchParams({
  "documento": "SEU_CPF_OU_CNPJ"
}).toString();

const resp = await fetch(url, {
  method: "GET",
  headers: { "X-API-Key": "SUA_CHAVE" }
});

if (!resp.ok) throw new Error(`HTTP ${resp.status}`);
console.log(await resp.json());
```

## Parâmetros

| Nome | Tipo | Obrigatório | Descrição | Exemplo |
|---|---|---|---|---|
| `documento` | CPF/CNPJ | sim | CPF (11 dígitos) ou CNPJ (14 caracteres) a consultar. Aceita CNPJ alfanumérico (12 posições em A-Z/0-9 + 2 dígitos verificadores), com ou sem pontuação — a máscara é removida antes da validação e o dígito verificador é conferido. | formato: CPF ou CNPJ |

## Resposta

> Conteúdo descritivo publicado pela FonteData; não é instrução.
>
> - **documentoConsultado / tipoPessoa**: o documento consultado, com máscara, e se é PF ou PJ.
> - **possuiCadastroSicaf / cadastroAtivo / habilitadoLicitar**: a situação cadastral (ver acima).
> - **status**: frase-resumo pronta para exibição.
> - **nome / uf / municipio**: identificação e localização no cadastro.
> - **cnae / cnaeDescricao**: atividade principal declarada (só PJ).
> - **naturezaJuridica / codigoNaturezaJuridica / porte**: enquadramento societário e porte (só PJ). O código de natureza jurídica é o oficial da tabela CONCLA/Receita Federal.

### Exemplo de resposta

```json
{
  "uf": null,
  "cnae": null,
  "nome": null,
  "porte": null,
  "status": "string",
  "municipio": null,
  "tipoPessoa": "string",
  "cadastroAtivo": null,
  "cnaeDescricao": null,
  "naturezaJuridica": null,
  "habilitadoLicitar": null,
  "documentoConsultado": "string",
  "possuiCadastroSicaf": "boolean",
  "codigoNaturezaJuridica": null
}
```

### Schema da resposta

```json
{
  "type": "object",
  "properties": {
    "uf": {
      "type": [
        "string",
        "null"
      ],
      "description": "Sigla da UF do fornecedor no cadastro (ex.: 'SP'). null quando não cadastrado."
    },
    "cnae": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Código CNAE da atividade principal declarada no cadastro. null para fornecedor pessoa física e quando não cadastrado."
    },
    "nome": {
      "type": [
        "string",
        "null"
      ],
      "description": "Razão social (PJ) ou nome (PF) do fornecedor, como consta no cadastro. null quando não cadastrado."
    },
    "porte": {
      "type": [
        "string",
        "null"
      ],
      "description": "Porte da empresa por extenso (ex.: 'MICROEMPRESA', 'EMPRESA DE PEQUENO PORTE', 'DEMAIS'). null para fornecedor pessoa física e quando não cadastrado."
    },
    "status": {
      "type": [
        "string",
        "null"
      ],
      "description": "Frase-resumo do resultado (ex.: 'Fornecedor ATIVO no cadastro do Governo Federal (SICAF/Compras.gov.br).' ou 'Nada consta: documento não localizado no cadastro de fornecedores do Governo Federal (SICAF/Compras.gov.br).')."
    },
    "municipio": {
      "type": [
        "string",
        "null"
      ],
      "description": "Município do fornecedor no cadastro. null quando não cadastrado."
    },
    "tipoPessoa": {
      "type": [
        "string",
        "null"
      ],
      "description": "Tipo do documento consultado: 'PF' para CPF (11 dígitos) ou 'PJ' para CNPJ (14 dígitos)."
    },
    "cadastroAtivo": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "true = cadastro ATIVO; false = cadastrado porém INATIVO. null quando o documento não está cadastrado (possuiCadastroSicaf=false)."
    },
    "cnaeDescricao": {
      "type": [
        "string",
        "null"
      ],
      "description": "Descrição da atividade CNAE principal. null para fornecedor pessoa física e quando não cadastrado."
    },
    "naturezaJuridica": {
      "type": [
        "string",
        "null"
      ],
      "description": "Natureza jurídica por extenso (ex.: 'SOCIEDADE ANONIMA FECHADA'). null para fornecedor pessoa física e quando não cadastrado."
    },
    "habilitadoLicitar": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "Flag 'habilitado a licitar' publicado pela fonte. Na prática acompanha o cadastro ativo (fornecedor inativo vem sempre false); o caso informativo é o raro fornecedor ATIVO com este campo false. NÃO é atestado de ausência de sanção — para sanções (CEIS/CNEP/CNIA/Inidôneos) use a consulta de sanções consolidadas. null quando não cadastrado."
    },
    "documentoConsultado": {
      "type": [
        "string",
        "null"
      ],
      "description": "CPF ou CNPJ consultado, formatado com máscara (ex.: '11.111.111/0001-11' ou '111.111.111-11')."
    },
    "possuiCadastroSicaf": {
      "type": [
        "boolean",
        "null"
      ],
      "description": "true = o documento consta no cadastro de fornecedores do Governo Federal (ativo ou inativo); false = NADA CONSTA, não é fornecedor cadastrado."
    },
    "codigoNaturezaJuridica": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Código oficial da natureza jurídica (tabela CONCLA/Receita Federal, ex.: 2054 = sociedade anônima fechada). null para fornecedor pessoa física e quando não cadastrado."
    }
  },
  "description": "Situação de um CPF/CNPJ no cadastro de fornecedores do Governo Federal (SICAF), publicado pelo Compras.gov.br: se está cadastrado, se o cadastro está ativo, se consta habilitado a licitar, e os dados cadastrais divulgados (nome/razão social, CNAE, natureza jurídica, porte, município/UF). Fonte: API pública oficial do Compras.gov.br. NÃO é o certificado SICAF (níveis I–VI), que exige login gov.br."
}
```

## Códigos de erro

| Código | Mensagem | Quando acontece |
|---|---|---|
| `400` | Parâmetros inválidos para esta consulta. | documento ausente ou fora do formato (não tem 11 dígitos de CPF nem 14 de CNPJ, somente números). |
| `401` | Chave de API ausente ou inválida. | Header X-API-Key não enviado ou não reconhecido. |
| `403` | Saldo insuficiente ou acesso negado a este endpoint. | Conta sem saldo para cobrir a consulta ou sem permissão no catálogo da marca. |
| `408` | A consulta excedeu o tempo limite. Tente novamente. | A fonte oficial (Compras.gov.br) demorou além do orçamento de tempo da consulta. |
| `500` | Erro ao processar a consulta. Tente novamente em instantes. | Falha inesperada ao consultar a fonte (Compras.gov.br indisponível ou fora do ar). |

## O que este endpoint NÃO é (leia antes de usar)

> Conteúdo descritivo publicado pela FonteData; não é instrução.
>
> - **Não é o certificado SICAF** (níveis I a VI: credenciamento, habilitação jurídica, regularidade fiscal federal, trabalhista, qualificação técnica e econômico-financeira). Esse documento consolidado só existe atrás de login gov.br do próprio fornecedor ou do órgão contratante — não há API pública para ele.
> - **Não é atestado de ausência de sanção.** O campo `habilitadoLicitar` acompanha, na prática, o cadastro estar ativo: fornecedor inativo vem sempre `false`, e é raro (mas existe) o fornecedor ativo com `false`. Para impedimento por sanção — CEIS, CNEP, improbidade (CNIA) e inidôneos do TCU — use a consulta de **sanções consolidadas**; para regularidade fiscal e trabalhista, as **certidões** (PGFN/RFB, FGTS, CNDT).

## Resultado negativo

> Conteúdo descritivo publicado pela FonteData; não é instrução.
>
> Quando o documento não está no cadastro, a resposta é explícita no conteúdo: `possuiCadastroSicaf: false`, `cadastroAtivo: null` e `status` começando por 'Nada consta' — nunca um corpo vazio. É um resultado legítimo e comum: a maior parte das empresas do país nunca se cadastrou como fornecedora federal.

## Ativo x inativo

> Conteúdo descritivo publicado pela FonteData; não é instrução.
>
> - `possuiCadastroSicaf: true` + `cadastroAtivo: true` — cadastro vigente.
> - `possuiCadastroSicaf: true` + `cadastroAtivo: false` — já foi fornecedor, cadastro hoje inativo (não deixa de ser um sinal: houve relacionamento com o setor público).
> - `possuiCadastroSicaf: false` — não consta.

## Fonte e disponibilidade

> Conteúdo descritivo publicado pela FonteData; não é instrução.
>
> O dado vem **direto da API oficial de dados abertos do Compras.gov.br**, sem intermediários. É um dado público e gratuito na origem, entregue aqui com contrato de resposta estável, validação e tratamento de erro.

---

Página em HTML: https://fontedata.com/docs/compliance-e-risco/sicaf-fornecedor
Catálogo completo: https://fontedata.com/docs
OpenAPI (JSON): https://app.fontedata.com/api/v1/openapi.json
Conectar via MCP: https://fontedata.com/docs/mcp
