Sintegra
Sintegra stands for Sistema Integrado de Informações Sobre Operações Interestaduais com Mercadorias e Serviços — the integrated system for information on interstate operations involving goods and services. It is a central system that gathers taxpayer information and relays it to the tax authority of each state.
This endpoint accepts three lookups — by CNPJ, by CPF + state, and by state tax registration + state.
🚧 The body is passed through from the provider, with no transformation
The content of data is whatever the provider returns, delivered as is inside the standard envelope. Three practical consequences:
- The field names are in Portuguese, in the provider's vocabulary (
razaoSocial,inscricaoEstadual,situacaoCadastral), and not in the EnglishcamelCaseused by the rest of the API. - Every block is optional. A block only shows up when the provider has data for it. Never assume a key exists: test before accessing it.
- There is no type guarantee. Since there is no conversion along the way, the same field may arrive as a number or as text depending on where the data came from.
The only transformation the API applies is removing the urlComprovante fields — see below.
Request
GET/receita-federal-and-sintegra/v1You must provide one of the three parameter sets below.
Parameters - Lookup by CNPJ
| Parameter | Description | Required |
|---|---|---|
| cnpj | CNPJ (the Brazilian company taxpayer number) | Yes |
E.g.:
GET /receita-federal-and-sintegra/v1?cnpj=12.345.678/0001-95
The taxId parameter is accepted as a synonym of cnpj and produces exactly the same lookup. Prefer cnpj, which is the name used in the other sets.
Parameters - Lookup by CPF + UF
| Parameter | Description | Required |
|---|---|---|
| cpf | CPF (the Brazilian individual taxpayer number) | Yes |
| uf | State, as the two-letter code (UF) | Yes |
E.g.:
GET /receita-federal-and-sintegra/v1?cpf=12345678909&uf=SP
Parameters - Lookup by IE + UF
| Parameter | Description | Required |
|---|---|---|
| ie | State tax registration (inscrição estadual, IE) | Yes |
| uf | State, as the two-letter code (UF) | Yes |
| iepr | Paraná state tax registration, used as a second attempt when uf=PR | No |
E.g.:
GET /receita-federal-and-sintegra/v1?ie=111222333&uf=SP
iepr only has an effect in Paraná
With uf=PR and both ie and iepr informed, the lookup is attempted first with ie; if the Paraná Sintegra does not recognize the registration, it is retried with iepr. Outside Paraná, or without ie alongside it, iepr is not used as a second attempt.
CNPJ and CPF format
TIP
The CNPJ or CPF can be sent with or without the mask (12.345.678/0001-95 or 12345678000195) and must be sent with all its characters, including any leading zeros.
A CNPJ or CPF that fails the check-digit validation returns 422 before any lookup is performed.
Alphanumeric CNPJ
The endpoint accepts the alphanumeric CNPJ defined by IN RFB 2.229/2024 (a Brazilian Federal Revenue Service normative instruction), in which the first eight positions of the root and the four of the order number may contain letters, while the two check digits remain numeric.
GET /receita-federal-and-sintegra/v1?cnpj=12ABC34501DE35The letters can be sent in lowercase: the API normalizes them to uppercase before querying the provider. The mask is accepted as well: 12.ABC.345/01DE-35.
Headers
Authorization: ApiKey <your-api-key>An unknown query parameter is ignored
A parameter that is not one of taxId, cnpj, cpf, uf, ie and iepr does not raise an error: it is simply ignored.
The same goes for the case in which no identifier at all is informed. The call is not blocked on the way in — it goes through to the provider, which answers with no result.
Example request
curl -i -G 'https://api.nxcd.app/receita-federal-and-sintegra/v1' \
--header 'Authorization: ApiKey YOUR_API_KEY' \
--data-urlencode 'cnpj=12345678000195'Response
| Field | Description | Type |
|---|---|---|
| id | Unique ID of the request | String |
| version | API version | String |
| data | Object with the result of the lookup | Object |
| data.cnpj | CNPJ queried | String |
| data.receitaFederal | Registration data at the Federal Revenue Service. Only in the lookup by CNPJ. | Object |
| data.sintegra | Object with the result of the lookup | Object |
| data.sintegra.inscricoesEstaduais | List with the data for each state tax registration found | Object[] |
| metadata | Object with the metadata of the request | Object |
| metadata.timeSpent | Request time, in milliseconds | Number |
🚧 There is no urlComprovante in this response
The API removes the urlComprovante field from the receitaFederal block and from each item of sintegra.inscricoesEstaduais before answering. The receipt of the lookup is not delivered by this endpoint.
JSON examples
Here are some JSON examples of the response.
- Example when the data is found
{
"id": "13cfec7c-b238-4820-a4d1-5173e4c1418e",
"version": "v1",
"data": {
"cnpj": "12345678000195",
"sintegra": {
"inscricoesEstaduais": [
{
"cnpj": "12345678000195",
"inscricaoEstadual": "00.000.000-0",
"razaoSocial": "EMPRESA LTDA",
"nomeFantasia": "EMPRESA LTDA",
"logradouro": "RUA",
"numero": "10",
"complemento": "COMPLEMENTO",
"bairro": "CENTRO",
"cep": "00000000",
"municipio": "GOIANIA",
"uf": "GO",
"telefone": "",
"atividadeEconomica": "4692300 - Comércio atacadista de mercadorias em geral, com predominância de insumos agropecuários (MERCADORIAS EM GERAL, COM PREDOMINÂNCIA DE INSUMOS AGROPECUÁRIOS; COMÉRCIO ATACADISTA DE)",
"atividadesEconomicasSecundarias": [
"4623109 - Comércio atacadista de alimentos para animais",
"4644302 - Comércio atacadista de medicamentos e drogas de uso veterinário"
],
"dataInicioAtividade": "",
"dataSituacaoCadastral": "01/12/2000",
"regimeRecolhimento": "Normal",
"observacao": "",
"situacaoCadastral": "Suspenso - NÃO HABILITADO",
"situacaoCadastralTratada": 1,
"ocorrenciaFiscal": "",
"atividadeEconomicaTratada": "4930-2/02 - Transporte rodoviário de carga, exceto produtos perigosos e mudanças, intermunicipal, interestadual e internacional",
"atividadesEconomicasSecundariasTratada": [
"7719-5/99 - Locação de outros meios de transporte não especificados anteriormente, sem condutor",
"4744-0/99 - Comércio varejista de materiais de construção em geral"
],
"camposExclusivos": {}
}
]
}
},
"metadata": {
"timeSpent": 10000
}
}Two fields of the item call for an explanation:
situacaoCadastralTratada("normalized registration status") normalizessituacaoCadastral:1for the positive statuses (ATIVO, HABILITADO) and0for the negative ones (INATIVO, SUSPENSO).camposExclusivos("exclusive fields") is the space for data specific to the Sintegra being queried. Implementing it is optional, and it may come back empty.
Response headers
| Header | When it appears |
|---|---|
Nextid-ReqId | On every response. Carries the request identifier, the same one as the id field of the body. |
Errors
| Code | When it happens |
|---|---|
| 401 Unauthorized | API key missing, invalid, or without the nextid.bureaus.rfAndSintegra permission. |
| 404 Not Found | The version informed in the URL does not exist. Only v1 is accepted. |
| 422 Unprocessable Entity | CNPJ or CPF that fails the check-digit validation. |
| 500 Internal Server Error | Unexpected failure during processing. |
The 422 carries a message that identifies which parameter failed:
| Parameter | Message |
|---|---|
cnpj | Invalid cnpj |
cpf | Invalid cpf |
taxId | Invalid taxId (CPF/CNPJ) |
taxId is validated as a CNPJ
Even though the message mentions both CPF and CNPJ, the taxId of this endpoint is validated as a CNPJ. To query by CPF, use the cpf parameter together with uf.
Example of a response with an invalid CNPJ:
Status Code: 422{
"id": "13cfec7c-b238-4820-a4d1-5173e4c1418e",
"error": {
"statusCode": 422,
"error": "Unprocessable Entity",
"message": "Invalid cnpj"
}
}The format of the error responses is described in HTTP response codes.
Versions
The only version is v1, and it is the one that answers when the version is omitted from the URL. /receita-federal-and-sintegra and /receita-federal-and-sintegra/v1 are equivalent.
| Version | Status | What changes |
|---|---|---|
| v1 | Recommended | The only version. It is what answers when the version is omitted from the URL. |
Any other value in place of v1 returns 404 with the message API version not found.
Related endpoint
For the ownership structure of the same CNPJ, see QSA.