TL;DR
Postmon is a free API for Brazilian postal services. Look up any CEP (Brazilian ZIP code) to get full address details including street, neighborhood, city, state, and IBGE code. Also supports package tracking for Correios (Brazilian postal service) orders. No API key required. An essential tool for any Brazilian e-commerce, delivery, or logistics application.
Quick start: http://postmon.com.br/cep/01001000
No API key needed — free Brazilian postal data!
How to Use This API
1. Look Up a CEP (ZIP Code)
Get address details for any Brazilian CEP (São Paulo — Praça da Sé):
http://postmon.com.br/cep/01001000
2. Track a Package
Track a Correios package by its tracking code:
http://postmon.com.br/track/PN123456789BR
3. JavaScript — Auto-fill Address Form
const cep = document.getElementById('cep').value.replace(/\D/g, '');
if (cep.length === 8) {
fetch(`http://postmon.com.br/cep/${cep}`)
.then(r => r.json())
.then(addr => {
document.getElementById('street').value = addr.logradouro;
document.getElementById('neighborhood').value = addr.bairro;
document.getElementById('city').value = addr.cidade;
document.getElementById('state').value = addr.estado;
})
.catch(() => alert('CEP not found'));
}
4. Python — Bulk CEP Validation
import requests
ceps = ['01001000', '20040030', '30130010', 'invalid']
for cep in ceps:
try:
r = requests.get(f'http://postmon.com.br/cep/{cep}')
if r.status_code == 200:
addr = r.json()
print(f"{cep}: {addr.get('logradouro', 'N/A')}, {addr['cidade']}/{addr['estado']}")
else:
print(f"{cep}: Not found")
except:
print(f"{cep}: Error")
http://postmon.com.br/cep/01001000
Frequently Asked Questions
- What address fields does the API return?
- For each CEP, the API returns
logradouro(street),bairro(neighborhood),cidade(city),estado(state),cep, andcidade_info(IBGE code and area code). - How do I format a CEP for the API?
- Use 8 digits only (no dashes or dots). The API accepts
01001000but not01001-000. Strip formatting characters before making the request. - Does Postmon support package tracking?
- Yes — use the
/track/{code}endpoint with a Correios tracking code (usually starts with two letters followed by numbers and ending with BR). Returns tracking events with dates, locations, and status. - Is the data up to date?
- The CEP database is derived from official Correios data and is regularly updated. New CEPs and address changes are reflected within a reasonable timeframe.
- Are there any rate limits?
- Postmon is free for reasonable use. If you need high-volume access, consider running your own instance — the project is open source.
- Does it cover all Brazilian CEPs?
- Yes — it covers the full range of Brazilian CEPs from 01000000 to 99999999, including all 26 states plus the Federal District.
API Details
- API URL
http://postmon.com.br/- Documentation
- postmon.com.br
- Category
- Tracking
- Authentication
- Not Required
- Geographic Coverage
- Brazil — all 26 states + Federal District
What You Can Build
- Checkout address auto-fill for Brazilian e-commerce sites
- CEP validation and error prevention in registration forms
- Package tracking dashboard for e-commerce order management
- Logistics route planner using city and state from CEP data
- CRM system with address normalization for Brazilian customers