---
title: "Gastos com Transporte por CEP"
description: "Estimativa dos gastos com transporte no setor de um CEP: transporte total, transporte urbano, gasolina, álcool, manutenção de veículo, aquisição de veículos, viagens esporádicas e outros transportes. Cobrada só quando a base devolve a estimativa do setor; CEP sem dado na base (ou com todos os valores em zero) devolve 404 e não é cobrado, resposta com texto no lugar de um valor devolve 502 sem cobrança, e CEP fora do formato é recusado sem cobrança. Disponível para contas PJ."
lang: pt-BR
canonical: https://doc.apibrasil.io/apis/creditos/51ba689b-de4d-11f1-98bb-bc24118aba26
markdown: https://doc.apibrasil.io/apis/creditos/51ba689b-de4d-11f1-98bb-bc24118aba26.md
source: apibrasil-documentation
---

# Gastos com Transporte por CEP

> Estimativa dos gastos com transporte no setor de um CEP: transporte total, transporte urbano, gasolina, álcool, manutenção de veículo, aquisição de veículos, viagens esporádicas e outros transportes. Cobrada só quando a base devolve a estimativa do setor; CEP sem dado na base (ou com todos os valores em zero) devolve 404 e não é cobrado, resposta com texto no lugar de um valor devolve 502 sem cobrança, e CEP fora do formato é recusado sem cobrança. Disponível para contas PJ.

- **Categoria:** CEP e Utilidades
- **Cobrança:** por consulta, só com o Bearer Token
- **Preço:** R$ 0,49 por consulta
- **Limite:** 990.000 por mês
- **Cadastro:** exige CNPJ
- **Versão:** v2
- **Publicada por:** APIBrasil
- **Especificação OpenAPI:** https://doc.apibrasil.io/apis/creditos/51ba689b-de4d-11f1-98bb-bc24118aba26/openapi.json

## Como chamar

**Endereço base:** `https://gateway.apibrasil.io/api/v2`

Autenticação: cabeçalho `Authorization: Bearer <token>`. Nada além disso.

Com `homolog: true` no corpo, o gateway responde de uma base fixa, com a forma real da resposta, e não cobra. O CPF 00000000000 é dessa base e não é de ninguém: use-o nos testes, nunca em produção.

## Endpoints (1 endpoint)

### 1. POST /consulta/gastos-transporte-cep/credits

⚠️ Aviso: Cobra quando a base devolve pelo menos um dos 8 valores de gasto com transporte como número diferente de zero (um zero ao lado de outro número sai como veio). Não cobra CEP sem dado ou com todos os valores zerados (404), CEP inválido (400) nem falha da base ou resposta com texto no lugar de um valor (5xx).

Envie um POST com tipo=gastos-transporte-cep e:
- cep (obrigatório): CEP com 8 dígitos, com ou sem hífen e ponto (01310-100 ou 01310100).

Estimativa dos gastos com transporte no setor de um CEP: transporte total, transporte urbano, gasolina, álcool, manutenção de veículo, aquisição de veículos, viagens esporádicas e outros transportes. Cobrada só quando a base devolve a estimativa do setor; CEP sem dado na base (ou com todos os valores em zero) devolve 404 e não é cobrado, resposta com texto no lugar de um valor devolve 502 sem cobrança, e CEP fora do formato é recusado sem cobrança.

Respostas de erro (nenhuma é cobrada):
HTTP 404: CEP sem estimativa na base (a base responde que não houve resposta válida, ou devolve todos os valores nulos, falsos ou zerados). Sem cobrança.
HTTP 400: CEP fora do formato (outro tamanho, letra, começa com 00). A base não é consultada. Sem cobrança.
HTTP 502: Base de dados indisponível ou resposta fora do formato, inclusive texto ou valor negativo no lugar de um valor de gasto (502, 503 ou 504 em timeout). Sem cobrança.

Em homologação (homolog=true), sem cobrança, a resposta traz dados fictícios no mesmo formato.

- **Método:** `POST`
- **Endereço:** `https://gateway.apibrasil.io/api/v2/consulta/gastos-transporte-cep/credits`
- **Versão da rota:** v2

**Cabeçalhos**

| Cabeçalho | Valor |
| --- | --- |
| `Content-Type` | `application/json` |
| `Authorization` | `Bearer $APIBRASIL_TOKEN` |

**Corpo da requisição**

```json
{
  "tipo": "gastos-transporte-cep",
  "cep": "01310100",
  "homolog": true
}
```

**Em cURL**

```bash
curl -X POST "https://gateway.apibrasil.io/api/v2/consulta/gastos-transporte-cep/credits" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $APIBRASIL_TOKEN" \
  -d '{"tipo":"gastos-transporte-cep","cep":"01310100","homolog":true}'
```

Este endpoint aceita `homolog: true` no corpo: a resposta volta com dados válidos, `api_limit_for` igual a `homolog` e sem tarifação.

**Resposta de exemplo, do catálogo**

```json
{
  "user": {
    "first_name": "[omitido]",
    "email": "[omitido]",
    "cellphone": "[omitido]",
    "notification": "yes"
  },
  "balance": "399,510",
  "balance_before": "400,000",
  "tax": "0,490",
  "status_code": 200,
  "error": false,
  "message": "Dados validos! Voce foi tarifado em R$ 0,49.",
  "valor_consulta": 0.49,
  "api_limit_for": "credit",
  "homolog": false,
  "data": {
    "cep": "01310100",
    "gastos_com_transporte": {
      "transporte": 100000,
      "transporte_urbano": 5000,
      "gasolina": 16000,
      "alcool": 3500,
      "manutencao_de_veiculo": 9000,
      "aquisicao_de_veiculos": 42000,
      "viagens_esporadicas": 18500,
      "outros_transportes": 6000
    }
  }
}
```

Nos exemplos de resposta, os campos da conta que gerou o exemplo (`user.first_name`, `user.email`, `user.cellphone`) saem como `[omitido]`. O resto é o que o catálogo publica.

## Armadilhas: o que uma integração erra sem avisar

Apuradas nas respostas que o próprio catálogo publica. Em todas elas o código funciona no caminho feliz e falha em silêncio no resto:

1. **O erro chega no CORPO, com HTTP 200.**
   A resposta traz um campo `error` booleano e uma `message`. Checar só `response.ok` ou o status HTTP deixa passar falha como sucesso. Confira SEMPRE `error === false` antes de ler `data`.

2. **`balance`, `tax` e `extra_charges.total` são STRING em formato brasileiro — e o formato varia entre APIs.**
   Valores observados no catálogo: `"154,380"`, `"497,84"`, `"0,000"` e `"0.19"`. Vírgula em umas, ponto em outra; três casas decimais em umas, duas em outra. Em JavaScript, `parseFloat("154,380")` devolve `154` e perde os centavos sem erro nenhum, e `Number("154,380")` devolve `NaN`. Escreva um conversor que trate os dois separadores, e nunca use esses campos numa decisão financeira sem convertê-los.

3. **Cada chamada custa dinheiro.**
   Retry cego multiplica a conta. Nunca repita automaticamente um 4xx: parâmetro errado repetido continua errado e continua cobrando. Repita só tempo esgotado e 5xx, com recuo exponencial e um teto pequeno de tentativas.

4. **HTTP 402 é saldo insuficiente, e repetir não resolve.**
   É o único status que exige ação humana — recarregar. Trate-o como erro terminal, com mensagem própria, e não o jogue no mesmo balde dos 4xx genéricos.

5. **`extra_charges` cobra à parte do preço da consulta.**
   Quando o corpo pede serviços adicionais, a resposta traz cada um com o preço e um `total` que NÃO está incluso no valor base. Se você mostra custo a quem usa, some os dois.

## Ver também

- Especificação OpenAPI: https://doc.apibrasil.io/apis/creditos/51ba689b-de4d-11f1-98bb-bc24118aba26/openapi.json
- Catálogo de APIs: [Catálogo de APIs](https://doc.apibrasil.io/apis.md)
- SDKs oficiais: [SDKs oficiais](https://doc.apibrasil.io/sdks.md)
- Índice da documentação: https://doc.apibrasil.io/llms.txt
- Versão HTML desta página: https://doc.apibrasil.io/apis/creditos/51ba689b-de4d-11f1-98bb-bc24118aba26
