Ir para o conteúdo

API E INTEGRAÇÃO

Conecte seus sistemas
à API ZipData.

Consulta por CEP e pesquisa por endereço, com requisições HTTPS, autenticação por token e resultados em JSON.

Como deseja consultar?

Selecione uma opção para começar.

Digite os 8 números do CEP.

Comece com sua conta ZipData.

Crie sua conta, confirme seu e-mail e acesse a plataforma. Para avaliar a API e as condições de acesso, fale com a equipe ZipData. O token identifica a integração e deve ficar no servidor da sua aplicação, sem aparecer no código público do navegador.

Solicitar meu token

Uma integração para duas pesquisas.

Endereço base: https://consulta.zipdata.com.br. Envie o corpo com application/x-www-form-urlencoded.

OperaçãoEndpointMétodo
Consulta por CEP/search/uniquePOST
Pesquisa por endereço/search/multiplePOST

Consulta por CEP

CampoEnvioDescrição
typeObrigatórioapi
tokenObrigatórioToken fornecido pela ZipData
cepObrigatórioCEP a consultar, por exemplo 01001000
returnRecomendadoacento para retorno com acentuação

Pesquisa por endereço

No endpoint /search/multiple, envie type, token, street, city, uf e return. Os campos district e cep são opcionais para refinar a pesquisa.

Exemplo em PHP

Configure ZIPDATA_TOKEN como variável de ambiente do servidor. O exemplo utiliza as extensões cURL e JSON.

<?php
$token = getenv('ZIPDATA_TOKEN');
$dados = [
    'type' => 'api',
    'token' => $token,
    'cep' => '01001000',
    'return' => 'acento'
];
$ch = curl_init('https://consulta.zipdata.com.br/search/unique');
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => http_build_query($dados),
    CURLOPT_HTTPHEADER => [
        'Content-Type: application/x-www-form-urlencoded'
    ],
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_TIMEOUT => 20
]);
$raw = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if ($raw === false) {
    throw new RuntimeException('Falha de conexão com a API.');
}
curl_close($ch);
if ($status < 200 || $status >= 300) {
    throw new RuntimeException('A consulta não foi concluída.');
}
$resultado = json_decode($raw, true, 512, JSON_THROW_ON_ERROR);
// Utilize os campos disponíveis na resposta da sua consulta.

Exemplo em Python

O exemplo usa a biblioteca requests e a mesma variável de ambiente.

import os
import requests

resposta = requests.post(
    "https://consulta.zipdata.com.br/search/unique",
    data={
        "type": "api",
        "token": os.environ["ZIPDATA_TOKEN"],
        "cep": "01001000",
        "return": "acento",
    },
    timeout=20,
)
resposta.raise_for_status()
resultado = resposta.json()

Interprete o retorno da sua consulta.

O resultado vem em JSON, acompanhado do status HTTP. Confira quais campos estão disponíveis nos testes com seu token e trate dados ausentes no seu sistema. Os exemplos desta página mostram a requisição, sem definir um esquema fixo para todas as respostas.

Na consulta pública deste site, o código IBGE pode ser recebido no campo cod_city. O site o apresenta como “Código IBGE”. Coordenadas são exibidas apenas quando os dois valores são válidos.

Status HTTP

StatusInterpretação
200Consulta processada. A lista em data pode estar vazia.
400Tipo de chamada ou campos obrigatórios ausentes.
403Token não autorizado.
422Limite de consultas do período atingido.

Prepare o tratamento de falhas.

  • Defina um tempo limite de conexão e de resposta.
  • Confira o status HTTP antes de utilizar o conteúdo.
  • Trate falhas de decodificação JSON e campos indisponíveis.
  • Evite tentativas ilimitadas e registre erros sem incluir o token.

Pronto para dar o próximo passo?

Crie sua conta ou fale com a equipe sobre o uso da API no seu projeto.

Cadastre-se