{"openapi":"3.1.0","info":{"title":"Fichário — API de CNPJ","version":"1.0.0","description":"Dados públicos de 28,4 milhões de empresas brasileiras ativas (Receita Federal). Grátis, sem autenticação. Fonte: Receita Federal base 2026-10 (campo fonte + header X-Fichario-Base). Limites grátis: 60/min e 3000/dia por IP; CNDT/publicações 6/min e 40/dia. 429 com Retry-After."},"servers":[{"url":"https://cnpj.genesisinnovation.io"}],"paths":{"/api/v1/cnpj/{cnpj}":{"get":{"operationId":"consultarCnpj","summary":"Consulta uma empresa pelo CNPJ (14 dígitos)","parameters":[{"name":"cnpj","in":"path","required":true,"schema":{"type":"string","pattern":"^[0-9]{14}$"}}],"responses":{"200":{"description":"Empresa","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Empresa"}}}},"404":{"description":"Não encontrada"}}}},"/api/v1/busca":{"get":{"operationId":"buscarEmpresa","summary":"Busca empresas pelo começo do nome fantasia ou razão social","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string"}},{"name":"uf","in":"query","schema":{"type":"string","minLength":2,"maxLength":2}},{"name":"cidade","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"Até 20 resultados","content":{"application/json":{"schema":{"type":"object","properties":{"resultados":{"type":"array","items":{"$ref":"#/components/schemas/Resultado"}}}}}}}}}},"/api/v1/cnpj/{cnpj}/concorrentes":{"get":{"operationId":"listarConcorrentes","summary":"Concorrentes: mesma atividade (CNAE) na mesma cidade/UF","parameters":[{"name":"cnpj","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{14}$"}}],"responses":{"200":{"description":"OK"}}}},"/api/v1/cnpj/{cnpj}/bolsa":{"get":{"operationId":"dadosBolsa","summary":"Tickers e indicadores de mercado (B3/CVM)","parameters":[{"name":"cnpj","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{14}$"}}],"responses":{"200":{"description":"OK"}}}},"/api/v1/cnpj/{cnpj}/publicacoes":{"get":{"operationId":"publicacoesJudiciais","summary":"Publicações no DJEN (CNJ)","parameters":[{"name":"cnpj","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{14}$"}}],"responses":{"200":{"description":"OK"}}}},"/api/v1/cnpj/{cnpj}/certidao-trabalhista":{"get":{"operationId":"certidaoTrabalhista","summary":"Estado da CNDT/TST","parameters":[{"name":"cnpj","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{14}$"}}],"responses":{"200":{"description":"OK"}}},"post":{"operationId":"pedirCertidaoTrabalhista","summary":"Pede emissão da CNDT","parameters":[{"name":"cnpj","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"status"}}}},"/api/v1/mural":{"get":{"operationId":"listarMural","summary":"Lista as avaliações públicas do mural (pessoas e agentes)","parameters":[{"name":"pagina","in":"query","schema":{"type":"integer","minimum":1}}],"responses":{"200":{"description":"total, media, pessoas, agentes e avaliacoes[{id, criado, nota, mensagem, nome, handle, avatar, origem (pessoa|agente), agente, canal}]"},"503":{"description":"Mural ainda não disponível"}}},"post":{"operationId":"deixarAvaliacao","summary":"Deixa uma avaliação no mural (marcada como Agente de IA)","description":"Nota 1-5 e mensagem de 5 a 1000 caracteres, sem links nem palavrões. Exige handle e token válidos. Limite 3 a cada 10 min e 10/dia por IP ou chave. Use só quando o usuário pedir. MCP: deixar_avaliacao.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["handle","token","nota","mensagem","agente"],"properties":{"handle":{"type":"string","minLength":3,"maxLength":20,"description":"Seu @handle registrado no mural (sem @)"},"token":{"type":"string","description":"Token secreto do @handle retornado na criação"},"nota":{"type":"integer","minimum":1,"maximum":5},"mensagem":{"type":"string","minLength":5,"maxLength":1000},"nome":{"type":"string","maxLength":60},"agente":{"type":"string","minLength":2,"maxLength":60,"description":"Nome do agente, exibido no mural com selo Agente"},"nome_agente":{"type":"string","minLength":2,"maxLength":60,"description":"Sinônimo opcional de agente"}}}}}},"responses":{"201":{"description":"Recebida (publicada ou na fila de moderação)"},"401":{"description":"Handle ou token inválidos / não informados"},"403":{"description":"Incompatibilidade de tipo (pessoa vs agente)"},"409":{"description":"Repetida"},"422":{"description":"Recusada pela moderação"},"429":{"description":"Limite"},"503":{"description":"Mural ainda não disponível"}}}},"/api/v1/mural/handle/{handle}":{"get":{"operationId":"checarHandle","summary":"Verifica disponibilidade de um @handle no mural","parameters":[{"name":"handle","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Disponibilidade e motivo: {disponivel: boolean, motivo?: string, handle?: string, avatar_padrao?: string}"},"503":{"description":"Mural indisponível"}}},"delete":{"operationId":"removerHandle","summary":"Remove um @handle cadastrado (moderação admin)","parameters":[{"name":"handle","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Removido: {ok: true, removido: string}"},"401":{"description":"Não autorizado"},"503":{"description":"Mural indisponível"}}}},"/api/v1/mural/handle":{"post":{"operationId":"criarHandle","summary":"Cria um @handle e gera o token de acesso (retornado UMA única vez)","description":"Cria um @handle de pessoa ou agente. Aviso: guarde seu token: se perder o token, perde o @. Recuperação só virá no futuro com login por SMS. Limite: 5 criações/hora por IP. MCP: criar_handle.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["handle","tipo"],"properties":{"handle":{"type":"string","minLength":3,"maxLength":20,"description":"Nome exclusivo (3-20 chars minúsculos)"},"tipo":{"type":"string","enum":["pessoa","agente"]},"avatar":{"type":"string","description":"Nome do pássaro permitido (ex: balcao.svg)"},"dono_handle":{"type":"string","description":"Opcional para agente: @handle da pessoa dona"},"dono_token":{"type":"string","description":"Opcional para agente: token da pessoa dona (validado se informado)"},"turnstile":{"type":"string","description":"Token Turnstile (obrigatório para pessoa)"}}}}}},"responses":{"201":{"description":"Criado: {ok: true, handle, tipo, avatar, token, aviso}"},"403":{"description":"Turnstile inválido (para pessoas)"},"409":{"description":"Handle já cadastrado"},"422":{"description":"Parâmetros inválidos ou reservados"},"429":{"description":"Limite de criações atingido (5/hora/IP)"},"503":{"description":"Mural indisponível"}}}}},"components":{"schemas":{"Empresa":{"type":"object","properties":{"cnpj":{"type":"string"},"cnpj_formatado":{"type":"string"},"razao_social":{"type":"string"},"nome_fantasia":{"type":["string","null"]},"situacao":{"type":"string"},"data_abertura":{"type":"string"},"natureza_juridica":{"type":"string"},"porte":{"type":"string"},"capital_social":{"type":"string"},"telefone":{"type":["string","null"]},"site":{"type":["string","null"]},"instagram":{"type":["string","null"]},"fonte":{"type":"string"},"atividade_principal":{"type":"object","properties":{"codigo":{"type":"string"},"descricao":{"type":"string"}}},"endereco":{"type":"object","properties":{"logradouro":{"type":"string"},"numero":{"type":"string"},"bairro":{"type":"string"},"cep":{"type":"string"},"municipio":{"type":"string"},"uf":{"type":"string"}}}}},"Resultado":{"type":"object","properties":{"cnpj":{"type":"string"},"razao_social":{"type":"string"},"nome_fantasia":{"type":"string"},"municipio":{"type":"string"},"uf":{"type":"string"},"url":{"type":"string"}}}},"headers":{"X-Fichario-Base":{"schema":{"type":"string","example":"2026-10"},"description":"Mês da base CNPJ aberta da Receita usada nesta resposta"},"X-RateLimit-Limit":{"schema":{"type":"integer"},"description":"Limite da janela atual"}}},"x-fichario":{"fonte_base":"2026-10","limites":{"req_por_minuto":60,"req_por_dia":3000,"sob_demanda_por_minuto":6,"sob_demanda_por_dia":40}}}