APIs de CEP são a base de qualquer aplicação brasileira que trabalha com endereços: e-commerce, delivery, logística, cadastro de clientes, sistemas de pagamento. A escolha entre as opções disponíveis impacta direto na velocidade do checkout, na taxa de erro de entrega e no custo de infraestrutura. Este comparativo avalia as principais APIs de CEP gratuitas e pagas disponíveis em 2026, com exemplos de código, limites reais e critérios técnicos para decidir qual usar em cada cenário.
Se você já usou uma API de CEP e se frustrou com limite de requisições, timeout aleatório ou resposta inconsistente, este guia mostra as alternativas e critérios que geralmente passam despercebidos na avaliação inicial.
O que esperar de uma API de CEP em produção
Antes de comparar serviços, vale entender os critérios que importam de verdade quando o tráfego escala:
- Uptime: CEPs fazem parte do checkout. API fora significa venda perdida.
- Latência: idealmente abaixo de 200ms para não bloquear o formulário.
- Limite de requisições: APIs gratuitas costumam limitar a 60-300 req/min.
- Cobertura: algumas APIs falham em CEPs novos ou pouco usados.
- Dados retornados: logradouro, bairro, cidade, UF, IBGE, DDD são o padrão útil.
- Autenticação: API key, token JWT ou nenhuma autenticação impacta arquitetura.
- Política de uso: alguns serviços proíbem uso comercial ou revenda dos dados.
ViaCEP: o clássico confiável
O ViaCEP é a API de CEP mais usada no Brasil. Gratuito, sem cadastro, sem autenticação. Foi por muito tempo a opção padrão para projetos pequenos e médios, e ainda é relevante pela simplicidade de integração.
const res = await fetch('https://viacep.com.br/ws/01310100/json/');
const data = await res.json();
// { cep: "01310-100", logradouro: "Avenida Paulista", bairro: "Bela Vista", ... }
- ✅ Gratuito sem cadastro
- ✅ Latência média de 80ms
- ✅ Suporta busca reversa (por endereço, retorna CEPs)
- ⚠️ Sem SLA oficial, sem suporte
- ⚠️ Uso comercial intensivo é desencorajado
BrasilAPI: open source e moderna
BrasilAPI é um projeto comunitário que unifica várias APIs brasileiras (CEP, CNPJ, bancos, feriados, DDD). Agrega múltiplas fontes na consulta de CEP: Correios, ViaCEP, OpenCEP. Se uma fonte falhar, tenta a próxima. Isso aumenta taxa de sucesso significativamente.
const res = await fetch('https://brasilapi.com.br/api/cep/v2/01310100');
const data = await res.json();
// Inclui coordenadas quando disponível
// { cep: "01310100", state: "SP", city: "São Paulo", location: { ... } }
- ✅ Agregador de múltiplas fontes (maior cobertura)
- ✅ Retorna coordenadas geográficas quando disponíveis
- ✅ Open source (github.com/BrasilAPI/BrasilAPI)
- ✅ Gratuita e sem autenticação
- ⚠️ Latência maior em fallback entre fontes (pode chegar a 500ms)
OpenCEP: gratuita e otimizada para volume
O OpenCEP é uma alternativa brasileira gratuita focada em performance e estabilidade para uso em produção. Atualiza sua base de CEPs periodicamente e mantém cache agressivo, entregando latência baixa mesmo sob volume.
const res = await fetch('https://opencep.com/v1/01310100');
const data = await res.json();
// { cep: "01310-100", logradouro: "Avenida Paulista", bairro: "Bela Vista", localidade: "São Paulo", uf: "SP" }
- ✅ Gratuita sem autenticação
- ✅ Latência média de 50ms (cache agressivo)
- ✅ Uptime elevado consistente
- ✅ Formato compatível com quem vem do ViaCEP (troca URL e funciona)
- ⚠️ Não faz busca reversa (apenas CEP → endereço)
AwesomeAPI: agregador com CEP + câmbio
A AwesomeAPI é uma plataforma brasileira que oferece várias APIs (câmbio, criptomoedas, CEP, CNPJ). A API de CEP é gratuita, usa agregação similar à BrasilAPI e tem plano pago com SLA para produção.
const res = await fetch('https://cep.awesomeapi.com.br/json/01310100');
const data = await res.json();
- ✅ Plano grátis generoso
- ✅ Plano pago com SLA e suporte
- ✅ Retorna coordenadas IBGE
- ⚠️ Algumas respostas lentas em horário de pico no tier gratuito
API oficial dos Correios
A API oficial dos Correios é a fonte primária dos dados. Exige contrato comercial e não é gratuita para uso em produção. Tem o melhor dataset, mas o esforço de integração, o custo e a burocracia a tornam inviável para projetos pequenos. Costuma ser usada por transportadoras e grandes varejistas que já têm contrato com os Correios.

Comparativo técnico
| API | Gratuita | Auth | Latência média | Coordenadas | Busca reversa |
|---|---|---|---|---|---|
| ViaCEP | Sim | Não | ~80ms | Não | Sim |
| BrasilAPI | Sim | Não | ~200ms | Sim (parcial) | Não |
| OpenCEP | Sim | Não | ~50ms | Não | Não |
| AwesomeAPI | Sim/Pago | Opcional | ~150ms | Sim | Não |
| Correios | Não | Contrato | ~300ms | Sim | Sim |
Qual escolher para cada caso
- Landing page ou formulário simples: ViaCEP ou OpenCEP. Simples, rápido, sem burocracia.
- E-commerce em produção: OpenCEP como primária, BrasilAPI como fallback. Combinação cobre cenários diversos.
- App mobile com volume alto: AwesomeAPI pago ou Correios (se já tiver contrato).
- Projeto open source: BrasilAPI. Alinhada com espírito comunitário.
- Integração crítica (SLA necessário): AwesomeAPI pago ou Correios.

Estratégia de fallback recomendada
Em produção, depender de uma única API é aceitar que ela vai cair em algum momento. O padrão que funciona é tentar uma primária rápida e cair para alternativa quando falhar, sem nunca deixar o usuário sem resposta:
async function buscarCEP(cep) {
const cepLimpo = cep.replace(/\D/g, '');
if (cepLimpo.length !== 8) throw new Error('CEP inválido');
const fontes = [
`https://opencep.com/v1/${cepLimpo}`,
`https://viacep.com.br/ws/${cepLimpo}/json/`,
`https://brasilapi.com.br/api/cep/v2/${cepLimpo}`
];
for (const url of fontes) {
try {
const ctrl = new AbortController();
const timer = setTimeout(() => ctrl.abort(), 2000);
const res = await fetch(url, { signal: ctrl.signal });
clearTimeout(timer);
if (!res.ok) continue;
const data = await res.json();
if (data.erro || !data.logradouro) continue;
return data;
} catch (e) {
continue;
}
}
throw new Error('Nenhuma fonte respondeu');
}
O timeout de 2 segundos evita que uma API lenta trave a fila de fallback. Armazene em cache local (localStorage ou IndexedDB) os CEPs mais consultados da sessão para reduzir requisições repetidas.
Erros comuns ao integrar API de CEP
- Não limpar a máscara: “01310-100” e “01310100” são aceitos por APIs diferentes. Sempre remova hífen e espaços antes de consultar.
- Não tratar CEP inválido: CEP com 7 ou 9 dígitos retorna erro silencioso em algumas APIs. Valide antes.
- Requisitar a cada tecla digitada: use debounce de 300-500ms ou busque só quando o campo perder foco.
- Ignorar caso do CEP não encontrado: nem todo CEP válido tem endereço cadastrado. Permita input manual como fallback.
- Não mostrar loading state: em conexões lentas, 2s sem feedback parece bug.
Perguntas frequentes
Qual a melhor API de CEP gratuita?
Para a maioria dos casos, OpenCEP oferece a melhor combinação de latência baixa e estabilidade. ViaCEP é a mais conhecida e BrasilAPI é a mais completa ao agregar múltiplas fontes. Em produção, combinar duas com fallback é o padrão recomendado.
API de CEP gratuita pode ser usada em projeto comercial?
Depende da política de cada serviço. ViaCEP e OpenCEP permitem uso comercial dentro de limites razoáveis. Para volume alto ou crítico, considere planos pagos com SLA como AwesomeAPI ou contrato direto com os Correios.
Como lidar com CEP não encontrado?
APIs retornam erro ou campo vazio. Sempre permita o usuário digitar o endereço manualmente como fallback e valide com uma base secundária antes de bloquear o cadastro. Muitos CEPs novos demoram para ser indexados por provedores terceiros.
Posso fazer cache dos resultados de CEP?
Sim, é recomendado. CEPs mudam muito pouco ao longo do tempo. Cache de 24h a 30 dias é razoável para a maioria dos casos. Respeite a política de uso de cada serviço sobre revenda ou redistribuição dos dados.
Qual API retorna coordenadas lat/lng junto com o CEP?
BrasilAPI v2 retorna coordenadas quando disponíveis na base. AwesomeAPI também inclui em algumas respostas. Se você precisa de coordenadas consistentes, consulte o CEP em uma API e depois passe o endereço para um serviço de geocoding como Nominatim, Mapbox ou Google.
Conclusão
Escolher uma API de CEP não é só pegar a mais popular. É entender o perfil de carga do seu projeto, definir o que fazer quando a primeira opção falha e respeitar a política de uso do serviço. Para a maioria das aplicações brasileiras em 2026, a combinação de OpenCEP como primária e BrasilAPI ou ViaCEP como fallback entrega o melhor equilíbrio entre performance, cobertura e custo zero. Quando o volume justifica, evoluir para um plano pago com SLA é decisão natural.

