Visão geral
A API Centurion Agro é organizada em torno de recursos: car, socio e enriquecimento. Todos os endpoints aceitam e respondem JSON. Usamos códigos HTTP convencionais e bearer tokens.
Convenções
| Item | Padrão |
|---|---|
| Encoding | UTF-8 |
| Datas | ISO 8601 em UTC (2026-05-20T14:02:11Z) |
| Identificadores | strings opacas, prefixadas (req_, ck_) |
| Paginação | cursor-based via ?cursor= e ?limit= |
| Idempotência | cabeçalho Idempotency-Key em métodos não-GET |
Autenticação
Toda chamada requer um bearer token enviado no header Authorization. Tokens são gerados no painel da conta e têm prefixos distintos por ambiente.
| Prefixo | Ambiente | Uso |
|---|---|---|
ck_test_ | Sandbox | Dados mockados, sem cobrança |
ck_live_ | Produção | Dados reais, consumo registrado |
curl "https://api.centurion-agro.com/v1/car/MT-5103403-83F2C7A4" \ -H "Authorization: Bearer ck_live_•••••" \ -H "Accept: application/json"
Boas práticas: nunca exponha a chave em código client-side. Use rotação trimestral. Tokens revogados continuam aparecendo em logs por 30 dias para auditoria.
Rate limit & consumo
Limites são por chave de API. Cabeçalhos de resposta indicam o estado atual:
| Header | Significado |
|---|---|
X-RateLimit-Limit | Requisições/minuto permitidas |
X-RateLimit-Remaining | Quantas ainda restam neste minuto |
X-RateLimit-Reset | Timestamp em que o contador zera |
X-Quota-Used | Requisições consumidas no ciclo mensal |
X-Quota-Limit | Limite do plano contratado |
Quando o limite por minuto é atingido, retornamos 429 Too Many Requests com Retry-After. Erros 4xx/5xx não consomem cota do plano.
Códigos de erro
Usamos códigos HTTP convencionais. O corpo de erro segue o formato:
{
"error": {
"code": "car_not_found",
"message": "CAR não encontrado na base SiCAR.",
"request_id": "req_01HXY8K7N3FQ"
}
}
| HTTP | Código | Significado |
|---|---|---|
| 400 | invalid_request | Parâmetros mal formados |
| 401 | unauthorized | Token ausente, inválido ou revogado |
| 402 | quota_exceeded | Cota mensal do plano excedida |
| 404 | car_not_found | Recurso não existe na fonte oficial |
| 422 | geometry_invalid | Geometria não pôde ser interpretada |
| 429 | rate_limited | Excesso de requisições por minuto |
| 500 | internal_error | Erro interno — reportar ao suporte com request_id |
| 503 | upstream_unavailable | Fonte oficial (ex: SiCAR) indisponível |
API CAR — Introdução
A API CAR consulta o Cadastro Ambiental Rural (SiCAR/Serviço Florestal Brasileiro) e cruza com bases auxiliares: embargos do IBAMA, sobreposição com unidades de conservação, terras indígenas e áreas quilombolas.
Você pode consultar por número do CAR ou por geometria (GeoJSON), retornando os imóveis rurais cadastrados que intersectam aquela área.
Recursos disponíveis
| Recurso | Endpoint |
|---|---|
| Consulta por número | GET /v1/car/{numero} |
| Consulta por CPF/CNPJ | GET /v1/car/by-document/{documento} |
| Consulta por geometria | POST /v1/car/by-geometry |
| Histórico | GET /v1/car/history |
Consultar CAR por número
Retorna a ficha completa do imóvel rural a partir do número do CAR.
Parâmetros de caminho
| Nome | Tipo | Descrição |
|---|---|---|
numero | string | Número completo do CAR, ex: MT-5103403-83F2C7A4... |
Parâmetros de query
| Nome | Tipo | Descrição |
|---|---|---|
include | string | Camadas extras separadas por vírgula: embargos,ucs,tis,quilombos,zarc |
geometry | boolean | Se true, inclui geometria GeoJSON do imóvel. Default: false |
Exemplo de requisição
curl "https://api.centurion-agro.com/v1/car/MT-5103403-83F2C7A4?include=embargos,ucs" \ -H "Authorization: Bearer ck_live_•••••"
Exemplo de resposta
{
"car": "MT-5103403-83F2C7A4",
"situacao": "ativo",
"tipo": "imovel_rural",
"area_total_ha": 1842.30,
"area_consolidada_ha": 1402.10,
"reserva_legal_ha": 368.46,
"app_ha": 71.74,
"municipio": "Sorriso/MT",
"data_inscricao": "2014-08-22",
"embargo_ibama": false,
"sobreposicao_ucs": [],
"geometria": {
"type": "Polygon",
"coordinates": [[
[-55.7012, -12.5443],
[-55.6818, -12.5443],
[-55.6818, -12.5599],
[-55.7012, -12.5599],
[-55.7012, -12.5443]
]]
},
"srid": 4326,
"centroid": {
"type": "Point",
"coordinates": [-55.6915, -12.5521]
},
"bbox": [-55.7012, -12.5599, -55.6818, -12.5443],
"consultado_em": "2026-05-20T14:02:11Z",
"fonte": "sicar"
}
Campos geométricos
| Campo | Tipo | Descrição |
|---|---|---|
geometria | GeoJSON | Polígono do imóvel rural. Coordenadas em [lon, lat]. |
srid | int | Sistema de referência espacial. Sempre 4326 (WGS 84). |
centroid | GeoJSON Point | Centróide geométrico do polígono. |
bbox | array[4] | Bounding box no formato [minLon, minLat, maxLon, maxLat]. |
Consultar CAR por CPF ou CNPJ
Retorna todos os imóveis rurais cujo proprietário ou possuidor é a pessoa física ou jurídica informada. Aceita CPF ou CNPJ, com ou sem máscara.
Parâmetros de caminho
| Nome | Tipo | Descrição |
|---|---|---|
documento | string | CPF (11 dígitos) ou CNPJ (14 dígitos). Pontuação opcional. |
Parâmetros de query
| Nome | Tipo | Descrição |
|---|---|---|
uf | string | Filtra por UF. Ex: MT |
situacao | string | ativo | pendente | cancelado |
include | string | Camadas extras: embargos,ucs,tis,quilombos,zarc |
geometry | boolean | Se true, inclui geometria de cada imóvel. Default: false |
limit | int | 1–100. Default: 25 |
cursor | string | Cursor opaco da página anterior |
Exemplo de requisição
curl "https://api.centurion-agro.com/v1/car/by-document/12345678000190?uf=MT&include=embargos" \ -H "Authorization: Bearer ck_live_•••••"
Exemplo de resposta
{
"documento": "12.345.678/0001-90",
"tipo_documento": "cnpj",
"titular": "Fazenda Bom Retiro Ltda",
"results": [
{
"car": "MT-5103403-83F2C7A4",
"situacao": "ativo",
"municipio": "Sorriso/MT",
"area_total_ha": 1842.30,
"data_inscricao": "2014-08-22",
"embargo_ibama": false,
"srid": 4326,
"centroid": { "type": "Point", "coordinates": [-55.6915, -12.5521] },
"bbox": [-55.7012, -12.5599, -55.6818, -12.5443]
},
{
"car": "MT-5103403-19A1B502",
"situacao": "ativo",
"municipio": "Lucas do Rio Verde/MT",
"area_total_ha": 412.66,
"data_inscricao": "2018-11-05",
"embargo_ibama": false,
"srid": 4326,
"centroid": { "type": "Point", "coordinates": [-55.9120, -13.0561] },
"bbox": [-55.9180, -13.0620, -55.9060, -13.0502]
}
],
"count": 2,
"area_total_ha": 2254.96,
"next_cursor": null,
"consultado_em": "2026-05-20T14:02:11Z"
}
Incluso Consultas por CPF/CNPJ estão inclusas no consumo do seu plano da API CAR — cada documento consultado conta como 1 requisição, independente da quantidade de imóveis retornados.
Consultas por CPF retornam dados pessoais. Recomenda-se declarar a base legal de tratamento no cabeçalho X-LGPD-Base-Legal conforme a finalidade do uso.
Consultar CAR por geometria
Recebe um polígono GeoJSON (EPSG:4326) e retorna a lista de CARs que intersectam aquela área, ordenados por percentual de sobreposição.
Body
{
"geometry": {
"type": "Polygon",
"coordinates": [[
[-55.7012, -12.5443],
[-55.6818, -12.5443],
[-55.6818, -12.5599],
[-55.7012, -12.5599],
[-55.7012, -12.5443]
]]
},
"min_overlap": 0.05
}
Resposta
{
"results": [
{
"car": "MT-5103403-83F2C7A4",
"overlap_ratio": 0.78,
"area_ha": 1842.30
},
{
"car": "MT-5103403-19A1B502",
"overlap_ratio": 0.12,
"area_ha": 412.66
}
],
"count": 2
}
Histórico de consultas
Lista as últimas consultas feitas pela sua chave, com paginação por cursor. Útil para auditoria interna e reconciliação.
| Query | Tipo | Descrição |
|---|---|---|
limit | int | 1–100. Default: 25 |
cursor | string | Cursor opaco da página anterior |
from | date | Data ISO inicial |
to | date | Data ISO final |
Planos & preços da API CAR
Cinco faixas de consumo. Cobrança mensal. Acima de 8.400 requisições/ano, plano customizado.
| Plano | Req/mês | Req/ano | Valor mensal | Indicado para |
|---|---|---|---|---|
| Starter CAR | 50 | 600 | R$ 200/mês | Validações pontuais, testes e provas de conceito. |
| Growth CAR | 100 | 1.200 | R$ 700/mês | Carteiras em crescimento e primeiras operações recorrentes. |
| Professional CAR | 200 | 2.400 | R$ 1.300/mês | Empresas com volume mensal consistente de validações. |
| Scale CAR | 500 | 6.000 | R$ 2.000/mês | Uso produtivo contínuo, com maior previsibilidade e melhor custo por requisição. |
| Enterprise CAR | 700 | 8.400 | R$ 2.500/mês | Operações de alto volume, integrações recorrentes e uso intensivo da solução. |
Sócio API — Introdução
Consulte quadro societário (QSA), capital social, endereços e ligações entre PFs e PJs no ecossistema agro. Útil para KYC, análise de risco e prevenção a fraude.
Recursos
| Recurso | Endpoint |
|---|---|
| Consultar CNPJ | GET /v1/socio/cnpj/{cnpj} |
| Vínculos por CPF | GET /v1/socio/cpf/{cpf} |
| Busca por nome | GET /v1/socio/search |
Consultar CNPJ
Retorna a ficha completa de uma pessoa jurídica, incluindo QSA, situação cadastral e CNAEs.
curl "https://api.centurion-agro.com/v1/socio/cnpj/12345678000190" \ -H "Authorization: Bearer ck_live_•••••"
Resposta
{
"cnpj": "12.345.678/0001-90",
"razao_social": "Fazenda Bom Retiro Ltda",
"nome_fantasia": "Bom Retiro Agro",
"situacao": "ativa",
"data_abertura": "2008-03-15",
"capital_social": 4200000.00,
"natureza_juridica": "206-2 Sociedade Empresária Limitada",
"cnae_principal": {
"codigo": "0115-6/00",
"descricao": "Cultivo de soja"
},
"qsa": [
{
"nome": "João Pereira",
"cpf": "***.456.789-**",
"qualificacao": "Sócio-Administrador",
"participacao": 0.60
},
{
"nome": "Marina Costa",
"cpf": "***.123.456-**",
"qualificacao": "Sócia",
"participacao": 0.40
}
],
"endereco": {
"municipio": "Sorriso",
"uf": "MT",
"cep": "78890-000"
},
"consultado_em": "2026-05-20T14:02:11Z"
}
Vínculos por CPF
Lista todas as PJs em que o CPF informado consta no quadro societário. CPFs são parcialmente mascarados conforme LGPD.
{
"cpf_mascarado": "***.456.789-**",
"nome": "João Pereira",
"vinculos": [
{
"cnpj": "12.345.678/0001-90",
"razao_social": "Fazenda Bom Retiro Ltda",
"qualificacao": "Sócio-Administrador",
"participacao": 0.60,
"situacao_pj": "ativa"
}
],
"total": 1
}
Busca por nome
Busca aproximada por razão social ou nome fantasia. Suporta filtros por UF, situação e CNAE.
| Query | Descrição |
|---|---|
q | Termo de busca (mínimo 3 caracteres) |
uf | Sigla do estado, ex: MT |
situacao | ativa | baixada | suspensa |
cnae | Código CNAE, ex: 0115-6/00 |
limit | 1–50. Default: 20 |
Camadas territoriais
Cruzamento de uma geometria com camadas oficiais: terras indígenas (FUNAI), unidades de conservação (ICMBio), áreas quilombolas (INCRA), zoneamento agrícola de risco climático (Mapa) e malha viária do IBGE.
{
"geometry": { "type": "Polygon", "coordinates": [...] },
"layers": ["ti", "uc", "quilombo", "zarc"]
}
Webhooks
Receba notificações assíncronas quando o status de um CAR ou CNPJ monitorado mudar. Configure no painel da conta.
Eventos disponíveis
| Evento | Quando dispara |
|---|---|
car.situacao.alterada | Situação do CAR muda na fonte oficial |
car.embargo.criado | Novo embargo IBAMA sobre o imóvel |
socio.qsa.alterado | Mudança no quadro societário do CNPJ |
quota.threshold | Consumo atinge 70/90/100% do plano |
Verificação de assinatura
Todo webhook é assinado com HMAC-SHA256 no header X-Centurion-Signature. Valide com seu webhook secret antes de processar o payload.