Regimes tributários
Consulte as formas de tributação registradas na base de Escrituração Contábil Fiscal (ECF) para um CNPJ completo. A resposta reúne os regimes do ano mais recente disponível, seu histórico anual e os identificadores de Sociedades em Conta de Participação (SCP), quando presentes.
A ECF contém informações relacionadas ao IRPJ e à CSLL. O período da escrituração é distinto da data da consulta: a entrega ocorre, em regra, no ano seguinte ao ano-calendário informado. Por isso, ano_referencia identifica a informação histórica disponível e não comprova o regime vigente hoje. Fonte: Receita Federal — ECF.
Endpoint
Endereço oficial: https://api.sintegrapi.com.br.
Autenticação pelo cabeçalho x-api-key, conforme a documentação de autenticação. Envie o CNPJ completo, preferencialmente sem pontuação, preservando zeros iniciais. A validação aceita CNPJ numérico e alfanumérico conforme o padrão da API. O CNPJ consultado é exatamente o informado; uma filial não é substituída automaticamente pela matriz.
Não há parâmetro de ano, UF ou estratégia de cache. A consulta retorna todo o histórico disponível para esse documento. Os dados podem ser reutilizados por até 24 horas; esse prazo não representa a frequência de atualização da base ECF.
curl 'https://api.sintegrapi.com.br/consultas/v2/regimes-tributarios/11222333000181' \
-H 'x-api-key: SUA_API_KEY' \
-H 'Accept: application/json'
Exemplo de integração em JavaScript no servidor:
const cnpj = '11222333000181';
const resposta = await fetch(
`https://api.sintegrapi.com.br/consultas/v2/regimes-tributarios/${cnpj}`,
{ headers: { 'x-api-key': process.env.SINTEGRAPI_API_KEY } },
);
const dados = await resposta.json();
if (resposta.status === 200) {
// Analise todos os itens e preserve o ano de referência.
console.log(dados.ano_referencia, dados.regimes);
} else if (resposta.status === 404 && dados.error === false) {
// Consulta concluída, sem registros ECF disponíveis; custa 1 crédito.
console.log('Sem registros ECF disponíveis');
} else {
throw new Error(dados.error_message?.message ?? 'Consulta não concluída');
}
Mantenha a chave no backend da sua integração. Os documentos, nomes e períodos dos exemplos são fictícios e ilustrativos.
Uso no CNPJ multifonte
A mesma consulta está disponível no CNPJ multifonte com regimes_tributarios=true. Essa fonte é desabilitada por padrão e custa 1 crédito adicional quando conclui, inclusive sem registros. O contrato abaixo aparece em fontes.regimes_tributarios.dados, com o status individual em fontes.regimes_tributarios.status_http. O status HTTP do envelope segue as regras do multifonte: uma fonte sem registros não é uma falha técnica.
Custo e estados HTTP
| Situação | HTTP | success | error | Consumo normal |
|---|---|---|---|---|
| Há registros ECF | 200 | true | false | 1 crédito |
| CNPJ válido, sem registros ECF | 404 | false | false | 1 crédito |
| CNPJ inválido | 400 | false | true | 0 |
| Credencial ausente ou inválida | 401 | Conforme contrato de autenticação | Conforme contrato de autenticação | 0 |
| Saldo insuficiente | 402 | false | true | 0 |
| Limite de requisições atingido | 429 | Conforme contrato de rate limiting | Conforme contrato de rate limiting | 0 |
| Fonte de dados indisponível ou timeout da consulta | 503 | false | true | 0 |
Cada requisição concluída custa 1 crédito, inclusive HTTP 404 e respostas reutilizadas. O número de anos, regimes ou SCPs não aumenta o preço. Repetir uma chamada concluída gera uma nova consulta e novo consumo. Pré-pagos usam saldo; pós-pagos registram consumo conforme seu contrato. As isenções existentes de homologação continuam aplicáveis.
No HTTP 503 não há confirmação da cobrança; a reserva é compensada. Em interrupção de conexão, consulte o histórico pelo request_id disponível antes de repetir, pois o cliente pode não ter recebido uma resposta já concluída. Veja planos e consumo.
Resposta com registros
Exemplo fictício com dois anos e uma SCP. Os itens do último ano também aparecem no primeiro elemento de historico; não some as duas listas como registros distintos.
{
"request_id": "b328aa70-146b-48bd-a280-4fb47836cf70",
"success": true,
"error": false,
"cnpj": "11222333000181",
"razao_social": "EMPRESA FICTÍCIA LTDA",
"encontrado": true,
"fonte": "Receita Federal / ECF",
"ano_referencia": 2024,
"regimes": [
{
"regime": "LUCRO REAL",
"cnpj_scp": null,
"razao_social_scp": null,
"scp_tipo": null,
"quantidade_escrituracoes": 2
},
{
"regime": "LUCRO PRESUMIDO",
"cnpj_scp": "00000000000001",
"razao_social_scp": "SCP FICTÍCIA",
"scp_tipo": "CNPJ",
"quantidade_escrituracoes": 1
}
],
"historico": [
{
"ano_referencia": 2024,
"regimes": [
{
"regime": "LUCRO REAL",
"cnpj_scp": null,
"razao_social_scp": null,
"scp_tipo": null,
"quantidade_escrituracoes": 2
},
{
"regime": "LUCRO PRESUMIDO",
"cnpj_scp": "00000000000001",
"razao_social_scp": "SCP FICTÍCIA",
"scp_tipo": "CNPJ",
"quantidade_escrituracoes": 1
}
]
},
{
"ano_referencia": 2023,
"regimes": [
{
"regime": "LUCRO PRESUMIDO",
"cnpj_scp": null,
"razao_social_scp": null,
"scp_tipo": null,
"quantidade_escrituracoes": 1
}
]
}
]
}
Campos da resposta
| Campo | Tipo | Interpretação |
|---|---|---|
request_id | string UUID | Identificador desta requisição; muda a cada chamada. |
success | boolean | Há registros ECF quando true. |
error | boolean | Falha técnica/operacional quando true; avalie antes dos dados. |
error_message | objeto opcional | code e message descrevem ausência ou falha. |
cnpj | string | Documento completo normalizado, com zeros e letras preservados. |
razao_social | string ou null | Nome disponível na base cadastral; pode faltar mesmo havendo ECF. |
encontrado | boolean | Existem fatos ECF para esse CNPJ, quando error=false. |
fonte | string | Identificação Receita Federal / ECF. |
ano_referencia | inteiro ou null | Maior ano disponível para o CNPJ; null quando não há registros. |
regimes | lista | Todas as formas de tributação do último ano disponível. |
historico | lista | Grupos por ano, do mais recente para o mais antigo. |
historico[].ano_referencia | inteiro | Ano do respectivo grupo. |
historico[].regimes | lista | Mesma estrutura dos itens de regimes. |
regimes[].regime | string ou null | Forma de tributação tal como registrada na base. |
regimes[].cnpj_scp | string ou null | Identificador da SCP; interprete em conjunto com scp_tipo. |
regimes[].razao_social_scp | string ou null | Nome cadastral encontrado quando o identificador é do tipo CNPJ. |
regimes[].scp_tipo | string ou null | Tipo de identificador informado pela base; CNPJ permite o vínculo cadastral. |
regimes[].quantidade_escrituracoes | inteiro ou null | Quantidade de escriturações registrada naquele agrupamento, não número de empresas. |
Regimes, SCP e histórico
As formas podem incluir Lucro Real, Lucro Presumido, Lucro Arbitrado, imunes e isentas do IRPJ. Trate os textos como valores abertos: não reduza toda a resposta ao primeiro item nem descarte combinações retornadas pela fonte.
Cada SCP tem escrituração própria, conforme as orientações oficiais da Receita Federal. Preserve o vínculo de cada item com sua SCP; um regime associado a uma SCP não deve ser automaticamente atribuído à empresa consultada. Identificadores históricos podem não ser CNPJs. Um nome de SCP nulo significa que esse enriquecimento não está disponível, sem invalidar o registro ECF.
A ordem dos itens acompanha a chave de SCP e a forma de tributação da base. Ela não indica prioridade, vigência ou preferência de regime. Não há garantia de um registro para todos os anos.
Ausência de registros
O HTTP 404 abaixo é um resultado concluído e cobrável. A razão social pode vir preenchida se o CNPJ existir na base cadastral, mesmo sem fatos ECF.
{
"request_id": "ab718761-04a9-4bd7-9fac-c7e5631d726e",
"success": false,
"error": false,
"error_message": {
"code": "REGIMES_TRIBUTARIOS_NAO_ENCONTRADOS",
"message": "Nenhum registro de regime tributário foi encontrado para este CNPJ na base ECF disponível."
},
"cnpj": "11222333000181",
"razao_social": null,
"encontrado": false,
"fonte": "Receita Federal / ECF",
"ano_referencia": null,
"regimes": [],
"historico": []
}
Ausência de ECF não demonstra que o CNPJ seja inválido, esteja inativo ou seja optante do Simples/MEI. Para essa informação, utilize a consulta de Simples Nacional e SIMEI, com cobrança própria. A ECF histórica também não determina, isoladamente, enquadramento de IBS/CBS ou direito a créditos desses tributos.
Falha de leitura
HTTP 503 utiliza error=true, success=false e error_message.code igual a REGIMES_TRIBUTARIOS_INDISPONIVEIS. As listas vazias e encontrado=false desse erro não representam uma pesquisa concluída sem registros. Preserve os dados anteriores da sua integração até obter uma resposta válida.
JSON Schema
Baixar JSON Schema Draft 2020-12. O schema descreve as respostas desta consulta (200, 404 e 503); autenticação, validação e limites seguem os contratos gerais da API. Campos adicionais devem ser tolerados para evolução compatível.
Integração com sistemas
Armazene CNPJ, ano de referência, fonte e request_id com o resultado. Modele regimes e historico como coleções e preserve os identificadores de SCP. Em ERP ou sistema contábil, mantenha a informação histórica em campo próprio e encaminhe divergências para revisão fiscal. Em cadastro de fornecedores, use a consulta como enriquecimento, combinada às verificações cadastrais e tributárias pertinentes.
