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:
https://brasilcep.dev/v1/{CEP}.json
Exemplo:
https://brasilcep.dev/v1/01310000
Resposta JSON:
{
  "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.