API pública · v1

Restrição de CNPJ direto na sua planilha

Cadastro, quadro societário e nove categorias de restrição pública, por CNPJ, em JSON. Uma chamada devolve o mesmo veredito que a tela do monitore.ai mostra.

Primeira consulta Ver todas as rotas
Financeiro Gestão Contratação pública Mercado de capitais Ambiental Trabalho Tributário federal Insolvência Contas públicas
Começar

Da chave à primeira resposta

  1. Receba sua chave

    A chave tem 40 caracteres e começa em mk_live_. Ela é emitida por nós e mostrada uma única vez: guardamos apenas o hash, o que significa que não existe reenviar uma chave perdida. Se sumir, emitimos outra e revogamos a anterior.

  2. Chame a API com o header x-api-key

    Toda rota é GET e devolve JSON.

    # ficha cadastral + quadro societário
    curl -H "x-api-key: $CHAVE" \
      https://api.monitore.ai/api/v1/empresas/33000167000101
    
    # as nove categorias de restrição numa chamada só
    curl -H "x-api-key: $CHAVE" \
      https://api.monitore.ai/api/v1/empresas/33000167000101/restricoes
  3. Ou puxe direto no Excel

    Dados → Obter Dados → De Outras Fontes → Consulta em Branco → Editor Avançado. Cole o código abaixo e troque só a chave. Quando o Excel pedir credencial, escolha Anônima — a chave já vai no header.

    let
        Chave = "mk_live_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
        Cnpj  = "33000167000101",
        Resposta = Json.Document(
            Web.Contents(
                "https://api.monitore.ai",
                [
                    RelativePath = "api/v1/empresas/" & Cnpj,
                    Headers = [#"x-api-key" = Chave]
                ]
            )
        ),
        Socios = try Resposta[socios] otherwise {},
        Tabela = Table.FromList(Socios, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
        Expandida = Table.ExpandRecordColumn(
            Tabela, "Column1",
            {"nome_socio", "cnpj_cpf_socio", "qualificacao_socio"},
            {"Sócio", "CPF mascarado", "Qualificação"}
        )
    in
        Expandida

    Use RelativePath, não uma URL montada

    Concatenar o CNPJ na URL faz o Excel tratar cada consulta como uma fonte de dados nova e quebrar a atualização automática com o erro de dynamic data source.

Antes de integrar

Três regras que mudam o que você escreve

Esta API alimenta decisão de crédito. As três regras abaixo existem para que uma falha de infraestrutura nunca vire a frase "nada consta".

Erro nunca é lista vazia

Base fora do ar responde 503. No consolidado, a fonte volta null e aparece com indisponivel: true no resumo. Sempre teste resumo.parcial antes de concluir qualquer coisa.

404 não é 200 vazio

404 é CNPJ que não existe na base. 200 com listas vazias é empresa que existe e está limpa. Só a segunda autoriza escrever "sem apontamentos".

CPF sempre mascarado

Sai no formato ***123456**, em toda rota. Uma pessoa é identificada pelo par nome + CPF mascarado — não existe id de sócio, e não há como obter o CPF completo por aqui.

A rota principal

Uma chamada, nove categorias

GET /api/v1/empresas/{cnpj}/restricoes responde "tem pendência?" de uma vez. Pedir categoria a categoria custaria nove requisições pelo mesmo resultado.

{
  "cnpj": "33000167000101",
  "resumo": {
    "severidade": "ambar",      // pior severidade entre as categorias
    "parcial": false,           // true = alguma categoria falhou
    "total": 3,
    "categorias": [
      { "categoria": "financeiro", "natureza": "multa",
        "sujeitos": ["empresa", "socio"],
        "n": 0, "nEmpresa": 0, "nSocios": 0, "severidade": null,
        "historico": false, "ambiguo": false, "indisponivel": false },
      { "categoria": "mercadoCapitais", "natureza": "processo",
        "sujeitos": ["empresa", "socio"],
        "n": 3, "nEmpresa": 1, "nSocios": 2, "severidade": "ambar",
        "historico": false, "ambiguo": false, "indisponivel": false }
    ]
  },
  "consultas": { /* detalhe de cada categoria, ou null */ }
}

Como ler a severidade

ValorSignifica
vermelho Situação em aberto hoje: sanção vigente, prazo de inabilitação correndo.
ambar Processo em andamento, achado já encerrado (histórico) ou homônimo indeterminado. Não é condenação.
null Nada consta nessa categoria — desde que indisponivel seja false.

Âmbar não é vermelho

Um processo em andamento é âmbar; vermelho só sai em condenação. Tratar os dois como iguais transforma uma acusação em sanção na tela do seu usuário.

Superfície

Todas as rotas

Todas são GET, todas exigem x-api-key. Detalhe de campo por campo na referência.

RotaDevolve
/api/v1/empresas?q=Busca por nome ou CNPJ (autocomplete).
/api/v1/empresas/{cnpj}Ficha cadastral e quadro societário.
/api/v1/empresas/{cnpj}/filiaisEstabelecimentos da mesma raiz de CNPJ.
/api/v1/empresas/{cnpj}/historicoAlterações cadastrais, já descritas em português.
/api/v1/empresas/{cnpj}/vinculosGrafo de empresas ligadas por sócio em comum.
/api/v1/empresas/{cnpj}/restricoesAs nove categorias num payload só.
/api/v1/empresas/{cnpj}/restricoes/{categoria}Uma categoria isolada — veja a lista abaixo.
/api/v1/socios?q=Busca de pessoa por nome.
/api/v1/socios/empresas?nome=&cpf=Empresas de que a pessoa participa.

As nove categorias

Cada categoria vem classificada em dois eixos: sujeitos, que diz se o apontamento pode ser do CNPJ ou de uma pessoa do quadro; e natureza, que diz o que o registro é.

CategoriaSujeitosNaturezaO que traz
financeiroCNPJ + CPFmulta Sanção administrativa do setor financeiro. Número do processo, tipo de penalidade e valor da multa por instância, se houve recurso, e valorMultaVigente — a multa que vale hoje, já resolvida entre as duas.
gestaoCNPJ + CPFsancao Impedimento de exercer cargo de gestão em instituição financeira. Penalidade, prazo em anos, início e fim do cumprimento, e emCurso — se o prazo ainda corre hoje.
contratacaoPublicaCNPJ + CPFsancao Impedimento de contratar com o poder público, punição por ato lesivo e acordos de leniência. Categoria da sanção, vigência de início e fim, e valor quando a lista publicar.
mercadoCapitaisCNPJ + CPFprocesso Processo sancionador do mercado de capitais. Número, objeto e ementa, situação, fase atual e última movimentação — mais um resumo que separa acusações de condenações.
ambientalCNPJ + CPFmulta Autuações e embargos. Valor da multa, área em hectares, UF e município, status e o enquadramento da infração. Única categoria paginada.
trabalhoCNPJ + CPFsancao Cadastro de empregadores autuados por trabalho análogo ao de escravo. Ano da ação fiscal, trabalhadores envolvidos, local e decisão — e distingue estar na lista hoje de já ter estado.
tributarioFederalCNPJ + CPFdivida Dívida ativa federal. Valor consolidado, quantas inscrições estão em cobrança e quantas já foram ajuizadas, quebra por origem do débito, e o detalhe inscrição a inscrição.
insolvenciasó CNPJestado Recuperação judicial e falência. O estado, o nome como grafado na fonte (que é a evidência dele) e as publicações judiciais que o sustentam, com processo, tribunal e link.
contasPublicasCNPJ + CPFsancao Contas julgadas irregulares e inabilitação. Processo e acórdão, data do trânsito em julgado, links oficiais e — só na inabilitação — prazo final e vigência.

Sujeitos: CNPJ ou CPF

Toda categoria devolve nEmpresa e nSocios separados, porque a pergunta que decide crédito é se a pendência é da pessoa jurídica ou de alguém do quadro.

insolvencia é a única categoria que só fala do CNPJ. Ali nSocios é 0 por construção, nunca por ausência de achado.

Natureza: cinco valores

multaSanção com valor em reais.
sancaoPunição sem valor: impedimento, inidoneidade, inabilitação.
dividaDébito. Não é punição.
processoApuração em curso ou julgada. Não é condenação.
estadoSituação jurídica da empresa.

Multa não é o oposto de sanção

Multa é a sanção que tem valor em dinheiro. Um campo de dois valores mentiria em quatro das nove categorias.

E não some divida com sancao num total só: isso pinta de inadimplente quem foi punido, e de punido quem só deve.

Contrato

Erros e limites

Códigos de erro

O campo error é estável e distinto por causa raiz — cada um pede uma ação diferente.

401api-key-ausente
401api-key-invalida
403api-key-revogada
400cnpj-invalido
404empresa-nao-encontrada
503base indisponível (código por fonte)

Limites

10 requisições por segundo por chave e 5 por segundo por IP, com absorção de picos. Acima disso a borda responde 429.

Consultas em lote: sequencial com pequena pausa entre CNPJs rende mais que paralelismo agressivo, que só bate no limite.

Segurança da chave

Só em header, nunca em querystring — query fica gravada em log de proxy e em histórico de navegador.

A API não envia headers de CORS de propósito: uma chave vazada não pode ser usada por uma página web. O cliente é servidor, Excel ou agente.

Também disponível

Dentro do seu assistente

A mesma API atende como servidor MCP: o Claude Desktop consulta CNPJ, sócios e restrições com a sua chave, sem você escrever código.

Configurar o MCP