Parcelas SIGEF (INCRA)
Consulta parcelas georreferenciadas certificadas no SIGEF (Sistema de Gestão Fundiária do INCRA).
GET /api/consultar-sigef
Consulta parcelas georreferenciadas de imóveis rurais certificadas no SIGEF (Sistema de Gestão Fundiária), mantido pelo INCRA. Para cada parcela, retorna os dados cadastrais (área, município, detentor, matrícula, cartório, situação), o responsável técnico, o histórico de requerimentos e a geometria certificada: o polígono da parcela em WKT, todos os vértices com coordenadas, os limites com seus confrontantes, centroide, bounding box e perímetro.
O SIGEF é complementar ao CNIR. Enquanto o CNIR contém os dados fiscais e tributários (ITR) de todos os imóveis rurais, o SIGEF registra apenas os imóveis georreferenciados com limites certificados pelo INCRA — o padrão exigido para registro em cartório desde 2011. Use o SIGEF quando precisar dos limites físicos do imóvel, por exemplo para cruzar com o polígono do CAR.
Já tem o UUID da parcela? Use Parcela SIGEF por UUID, que não pede CPF/CNPJ e traz também ordem, anel, tipo e precisão de cada vértice.
Autenticação
Envie sua chave no header X-API-Key. Veja Autenticação para detalhes.
Parâmetros de consulta
Você deve informar exatamente um dos parâmetros cpf ou cnpj (não ambos).
| Name | Type | Required | Description |
|---|---|---|---|
cpf | string | Não | CPF do detentor (somente números, 11 dígitos). |
cnpj | string | Não | CNPJ do detentor (somente números, 14 dígitos). |
Exemplos de código
curl -X GET "https://api.fiscalapi.com.br/api/consultar-sigef?cpf=12345678909" \
-H "X-API-Key: fapi_sua_chave_aqui"const response = await fetch(
"https://api.fiscalapi.com.br/api/consultar-sigef?cpf=12345678909",
{ headers: { "X-API-Key": "fapi_sua_chave_aqui" } }
);
const data = await response.json();
console.log(`Total de parcelas: ${data.result.total_parcelas}`);
console.log(`Area total: ${data.result.area_total_ha} ha`);
data.result.parcelas.forEach((p) => {
console.log(`${p.denominacao} - ${p.area_ha} ha - ${p.municipio}/${p.uf}`);
});import requests
response = requests.get(
"https://api.fiscalapi.com.br/api/consultar-sigef",
headers={"X-API-Key": "fapi_sua_chave_aqui"},
params={"cpf": "12345678909"},
)
data = response.json()
print(f"Total de parcelas: {data['result']['total_parcelas']}")
print(f"Area total: {data['result']['area_total_ha']} ha")
for p in data["result"]["parcelas"]:
print(f"{p['denominacao']} - {p['area_ha']} ha - {p['municipio']}/{p['uf']}")$response = Http::withHeaders([
'X-API-Key' => 'fapi_sua_chave_aqui',
])->get('https://api.fiscalapi.com.br/api/consultar-sigef', [
'cpf' => '12345678909',
]);
$data = $response->json();var client = new HttpClient();
client.DefaultRequestHeaders.Add("X-API-Key", "fapi_sua_chave_aqui");
var response = await client.GetAsync(
"https://api.fiscalapi.com.br/api/consultar-sigef?cpf=12345678909"
);
var data = await response.Content.ReadAsStringAsync();Resposta
Campos de nível superior
| Campo | Tipo | Descrição |
|---|---|---|
request_id | string | Identificador único da requisição (UUID). |
document | string | Documento enviado na consulta. |
document_type | string | Tipo do documento: cpf ou cnpj. |
cached | boolean | Se a resposta veio do cache (TTL 168h). |
source_status | object | Status da consulta (status, error_code, error_message). |
result | object | null | Resultado da consulta (null em caso de erro). |
Campos de result
| Campo | Tipo | Descrição |
|---|---|---|
total_parcelas | integer | Total de parcelas certificadas encontradas. |
area_total_ha | number | Soma das áreas em hectares. |
parcelas | array | Lista de parcelas georreferenciadas. |
Campos de cada parcela (parcelas[])
Identificação e registro
| Campo | Tipo | Descrição |
|---|---|---|
parcel_id | string | Identificador (UUID) da parcela no SIGEF. |
codigo_parcela | string | Código da parcela no SIGEF. |
denominacao | string | Nome do imóvel. |
area_ha | number | Área em hectares. |
municipio | string | Município sede. |
uf | string | Unidade federativa (sigla). |
codigo_ibge | string | Código IBGE do município. |
detentor | string | Nome do detentor (proprietário/posseiro). |
natureza | string | Natureza da área (ex: Particular). |
codigo_sncr | string | Código do imóvel no SNCR. |
matricula | string | Matrícula do imóvel no cartório de registro de imóveis. |
cns | string | Código Nacional da Serventia (cartório). |
cartorio | string | Nome do cartório. |
Situação e datas
| Campo | Tipo | Descrição |
|---|---|---|
status | string | Situação da parcela (ex: Certificada - Com Registro em Cartório Confirmado). |
imovel_situacao | string | Situação do imóvel (ex: Imóvel Registrado). |
registro_situacao | string | Situação do registro em cartório (ex: Confirmado). |
num_parcelas_imovel | integer | Quantidade de parcelas que compõem o imóvel. |
data_certificacao | string | Data da certificação (DD/MM/AAAA). |
data_certificacao_iso | string | Data da certificação em ISO 8601 (AAAA-MM-DD). |
data_entrada | string | Data de entrada no SIGEF (DD/MM/AAAA). |
data_entrada_iso | string | Data de entrada em ISO 8601. |
requerimentos | array | Histórico de requerimentos: tipo (ex: Retificação), status e data. |
Responsável técnico
| Campo | Tipo | Descrição |
|---|---|---|
responsavel_tecnico | string | Nome do responsável técnico pelo georreferenciamento. |
rt_documento | string | Documento de responsabilidade técnica (ART/TRT) informado no SIGEF. |
Geometria
| Campo | Tipo | Descrição |
|---|---|---|
geometria_wkt | string | Polígono da parcela em WKT (POLYGON ((lon lat, ...)), SIRGAS 2000), pronto para uso em ferramentas de GIS. |
vertices | array | Todos os vértices do perímetro, na ordem do SIGEF. Cada item: codigo, latitude e longitude (texto em graus, minutos e segundos), latitude_decimal e longitude_decimal (graus decimais, SIRGAS 2000), altitude_m e metodo (método de posicionamento). |
confrontantes | array | Todos os limites (lados) da parcela. Cada item: do_vertice e ao_vertice, tipo_limite, lado, azimute, comprimento_m, descricao (texto do confrontante, como matrícula vizinha, estrada ou rio) e, quando houver, cns e matricula ou ocupante do vizinho. |
centroid_lat / centroid_lng | number | Centroide calculado a partir dos vértices. |
bbox_min_lat / bbox_min_lng / bbox_max_lat / bbox_max_lng | number | Retângulo envolvente (bounding box) dos vértices. |
perimetro_m | number | Perímetro em metros (soma dos comprimentos dos limites). |
Os campos indice, tipo, lado, sigma_x_m/sigma_y_m/sigma_z_m (vértices) e indice, azimute_decimal, geometria_wkt (limites) só são preenchidos na consulta por UUID. Aqui eles vêm null ou vazios.
Para cruzar a parcela com outra geometria (por exemplo, o polígono do CAR), use geometria_wkt direto em qualquer biblioteca de GIS (PostGIS, Shapely, GeoPandas, QGIS).
Exemplo de resposta
{
"request_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"document": "12345678909",
"document_type": "cpf",
"cached": false,
"source_status": { "status": "success", "error_code": "", "error_message": "" },
"result": {
"total_parcelas": 1,
"area_total_ha": 120.55,
"parcelas": [
{
"parcel_id": "b085a96d-8461-402c-bf2b-3c9ab1806d30",
"codigo_parcela": "ABC123-4567",
"denominacao": "Fazenda Boa Vista",
"area_ha": 120.55,
"municipio": "Pontes e Lacerda",
"uf": "MT",
"codigo_ibge": "5106752",
"detentor": "JOAO DA SILVA",
"natureza": "Particular",
"codigo_sncr": "9511100017838",
"matricula": "12345",
"cns": "06.503-7",
"cartorio": "Primeiro Serviço Notarial e Registral",
"status": "Certificada - Com Registro em Cartório Confirmado",
"imovel_situacao": "Imóvel Registrado",
"registro_situacao": "Confirmado",
"num_parcelas_imovel": 1,
"data_certificacao": "15/03/2022",
"data_certificacao_iso": "2022-03-15",
"data_entrada": "10/05/2021",
"data_entrada_iso": "2021-05-10",
"responsavel_tecnico": "MARIA OLIVEIRA",
"rt_documento": "MT20210012345",
"geometria_wkt": "POLYGON ((-59.335416 -15.2092, -59.3198 -15.2079, -59.3301 -15.2201, -59.335416 -15.2092))",
"requerimentos": [
{ "tipo": "Registro", "status": "Finalizado", "data": "20/04/2022" }
],
"vertices": [
{
"codigo": "ABCD-M-0001",
"longitude": "-59°20'07,497\"",
"latitude": "-15°12'33,120\"",
"longitude_decimal": -59.335416,
"latitude_decimal": -15.2092,
"altitude_m": 254.3,
"metodo": "PG1"
}
],
"confrontantes": [
{
"do_vertice": "ABCD-M-0001",
"ao_vertice": "ABCD-P-0002",
"descricao": "CNS: 06.503-7 - Mat. 29.290",
"cns": "06.503-7",
"matricula": "29.290",
"ocupante": "",
"lado": "EXTERNO",
"tipo_limite": "LA6",
"azimute": "92°14'",
"comprimento_m": 1250.4
}
],
"centroid_lat": -15.2135,
"centroid_lng": -59.3301,
"bbox_min_lat": -15.2201,
"bbox_min_lng": -59.3412,
"bbox_max_lat": -15.2079,
"bbox_max_lng": -59.3198,
"perimetro_m": 4820.7
}
]
}
}No exemplo, geometria_wkt, vertices e confrontantes foram encurtados. Na resposta real eles trazem todos os pontos e limites da parcela.
Códigos de erro
| Código | HTTP Status | Descrição |
|---|---|---|
PARAMETRO_AUSENTE | 400 | Nenhum documento (cpf ou cnpj) foi informado. |
PARAMETRO_CONFLITANTE | 400 | Ambos cpf e cnpj foram informados. Envie apenas um. |
SIGEF_UNAVAILABLE | 200 | O SIGEF não respondeu a tempo ou está indisponível. Tente novamente em alguns minutos. |
SIGEF_MAINTENANCE | 200 | O SIGEF está em manutenção programada pelo INCRA. Tente novamente mais tarde. |
SIGEF_DISABLED | 200 | Consulta SIGEF temporariamente desativada. |
ERRO_INTERNO | 500 | Erro interno no servidor. |
Nos erros com HTTP 200, o código vem em source_status.error_code e result vem null. Consultas com erro não são cobradas.
Diferenças entre CNIR e SIGEF
| Aspecto | CNIR (/consultar-cnir) | SIGEF (/consultar-sigef) |
|---|---|---|
| Fonte | Receita Federal | INCRA |
| Escopo | Todos os imóveis rurais cadastrados | Apenas parcelas georreferenciadas (certificadas pelo INCRA) |
| Dados fiscais | Sim (ITR, CIB, NIRF) | Não |
| Dados georreferenciados | Não | Sim (limites certificados) |
| Uso típico | Verificação de regularidade fiscal | Verificação de regularidade fundiária |
Esta pagina foi util?