Sobre o Projeto
O Brasil CEP é um serviço público e gratuito que disponibiliza uma API REST para consulta de informações sobre CEPs brasileiros. Útil para serviços logísticos, sistemas de cadastro e qualquer aplicação que necessite validar e obter dados de endereços.
- Alta disponibilidade
- Dados atualizados
- Totalmente gratuito
- Sem limite de requisições
- Open source
Como Usar
Endpoint:
Resposta JSON:
https://brasilcep.dev/v1/{CEP}.json
Exemplo:
https://brasilcep.dev/v1/01310000
{
"cep": "26535-460",
"logradouro": "Rua Exemplo",
"complemento": "",
"bairro": "Centro",
"localidade": "Nova Iguaçu",
"uf": "RJ",
"ibge": "3303500",
"gia": "",
"ddd": "21",
"siafi": "5869"
}
Exemplos de Consumo
// JavaScript (fetch)
async function fetchCep() {
try {
const res = await fetch('https://brasilcep.dev/v1/01310000');
if (!res.ok) throw new Error(`HTTP ${res.status}`);
const data = await res.json();
console.log(data);
} catch (err) {
console.error('Erro:', err);
}
}
fetchCep();
# Python (requests)
import requests
try:
r = requests.get('https://brasilcep.dev/v1/01310000', timeout=5)
r.raise_for_status()
print(r.json())
except requests.RequestException as e:
print('Erro:', e)
# PHP (cURL)
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://brasilcep.dev/v1/01310000',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 10,
]);
$response = curl_exec($curl);
if (curl_errno($curl)) {
echo 'Erro: ' . curl_error($curl);
} else {
$data = json_decode($response, true);
print_r($data);
}
curl_close($curl);
// Go (net/http)
package main
import (
"encoding/json"
"fmt"
"net/http"
"time"
)
func main() {
client := http.Client{Timeout: 5 * time.Second}
resp, err := client.Get("https://brasilcep.dev/v1/01310000")
if err != nil { panic(err) }
defer resp.Body.Close()
var data map[string]interface{}
if err := json.NewDecoder(resp.Body).Decode(&data); err != nil { panic(err) }
fmt.Printf("%+v\n", data)
}
# Ruby (net/http)
require 'net/http'
require 'json'
uri = URI('https://brasilcep.dev/v1/01310000')
res = Net::HTTP.get_response(uri)
if res.is_a?(Net::HTTPSuccess)
data = JSON.parse(res.body)
puts data
else
puts "Erro: #{res.code}"
end
// Java 11+ (HttpClient)
import java.net.http.*;
import java.net.URI;
import java.io.IOException;
public class CepExample {
public static void main(String[] args) throws IOException, InterruptedException {
HttpClient client = HttpClient.newHttpClient();
HttpRequest req = HttpRequest.newBuilder()
.uri(URI.create("https://brasilcep.dev/v1/01310000"))
.GET()
.build();
HttpResponse res = client.send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(res.body());
}
}
// C# (.NET)
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program {
static async Task Main() {
using var http = new HttpClient { Timeout = TimeSpan.FromSeconds(5) };
try {
var res = await http.GetStringAsync("https://brasilcep.dev/v1/01310000");
Console.WriteLine(res);
} catch (Exception e) {
Console.WriteLine("Erro: " + e.Message);
}
}
}
// C++ (libcurl)
#include <iostream>
#include <sstream>
#include <curl/curl.h>
static size_t write_cb(void* ptr, size_t size, size_t nmemb, void* userdata) {
std::string* s = (std::string*)userdata;
s->append((char*)ptr, size * nmemb);
return size * nmemb;
}
int main() {
CURL* curl = curl_easy_init();
std::string resp;
if (curl) {
curl_easy_setopt(curl, CURLOPT_URL, "https://brasilcep.dev/v1/01310000");
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_cb);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &resp);
curl_easy_perform(curl);
curl_easy_cleanup(curl);
}
std::cout << resp << std::endl;
return 0;
}
# curl (CLI)
curl -sS "https://brasilcep.dev/v1/01310000" | jq .
Filosofia
O Brasil CEP nasceu da necessidade de ter um serviço de consulta de CEPs verdadeiramente aberto, gratuito e confiável. Acreditamos que dados públicos devem ser acessíveis a todos, sem barreiras ou custos.
Este é um projeto open source desenvolvido e mantido pela comunidade. Sua contribuição é fundamental para manter o serviço de qualidade.