{"openapi":"3.1.0","info":{"title":"CEPs e endereços","version":"1.0.0","description":"# CEPs e endereços\n\nFonte: IBGE — CNEFE 2022.\n\nComece em https://cep.wendelmaques.com/index.json. Siga itens[].url, links.pai e links.proximo; não enumere IDs nem invente caminhos. Cada página traz até 20 itens. Use /index.md para Markdown, /index.okf.md para OKF ou / para HTML no mesmo nó. O cursor depois pertence ao recorte e é opaco. Não representa snapshot de uma base mutável.\n\nLeitura pública, sem autenticação ou cobrança. GET e HEAD não coletam nem escrevem. 400: entrada inválida; 404: nó ausente; 405: método não aceito; 421: host desconhecido; 429: limite de capacidade; 503: fonte indisponível. Em 429/503 respeite Retry-After.\n\n- [Árvore](https://cep.wendelmaques.com/index.json)\n- [OpenAPI](https://cep.wendelmaques.com/openapi.json)\n- [MCP](https://cep.wendelmaques.com/mcp): tools/list e tools/call, ferramenta navegar(caminho, depois).\n- [Mapa OKF](https://cep.wendelmaques.com/okf/index.md)\n- [llm.txt](https://cep.wendelmaques.com/llm.txt)\n\n## Exemplo MCP\n\n```sh\nORIGIN='https://cep.wendelmaques.com'\ncurl -fsS \"$ORIGIN/mcp\" -H 'Content-Type: application/json' -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/call\",\"params\":{\"name\":\"navegar\",\"arguments\":{\"caminho\":\"/\"}}}'\n```\n\n## Como consultar\n\nConsulte CEPs e endereços observados pelo IBGE no CNEFE 2022, com município e coordenadas disponíveis.\n\nEstado → CEP → endereços\n\nLeitura pública, gratuita e sem chave. Até 20 itens por página; siga links.proximo. Respeite Retry-After em 429 ou 503.\n\nRetrato do CNEFE 2022. Não certifica CEP vigente nos Correios nem contém nomes de moradores.\n\n### Índice do acervo\n\n[HTML](https://cep.wendelmaques.com/) · [JSON](https://cep.wendelmaques.com/index.json) · [MD](https://cep.wendelmaques.com/index.md) · [OKF](https://cep.wendelmaques.com/index.okf.md)\n\n```sh\ncurl -fsS 'https://cep.wendelmaques.com/index.json'\n```\n\n### Estado: Distrito Federal\n\n[HTML](https://cep.wendelmaques.com/uf/DF/) · [JSON](https://cep.wendelmaques.com/uf/DF/index.json) · [MD](https://cep.wendelmaques.com/uf/DF/index.md) · [OKF](https://cep.wendelmaques.com/uf/DF/index.okf.md)\n\n```sh\ncurl -fsS 'https://cep.wendelmaques.com/uf/DF/index.json'\n```\n\n### CEP 70002-900\n\n[HTML](https://cep.wendelmaques.com/uf/DF/cep/70002900/) · [JSON](https://cep.wendelmaques.com/uf/DF/cep/70002900/index.json) · [MD](https://cep.wendelmaques.com/uf/DF/cep/70002900/index.md) · [OKF](https://cep.wendelmaques.com/uf/DF/cep/70002900/index.okf.md)\n\n```sh\ncurl -fsS 'https://cep.wendelmaques.com/uf/DF/cep/70002900/index.json'\n```\n\n## Outros acervos\n\n- [CEPs e endereços](https://cep.wendelmaques.com/)\n- [Editais e compras públicas](https://editais.wendelmaques.com/)\n- [Domínios observados](https://domains.wendelmaques.com/)\n- [Programação de TV](https://tv.wendelmaques.com/)\n"},"servers":[{"url":"https://cep.wendelmaques.com"}],"paths":{"/index.json":{"get":{"operationId":"navegar0_json","description":"Siga as URLs de /index.json; cada parâmetro identifica um nível devolvido pelo acervo.","parameters":[{"name":"depois","in":"query","schema":{"type":"string","maxLength":256},"description":"Cursor opaco de links.proximo."}],"responses":{"200":{"description":"Nó do acervo","content":{"application/json":{"schema":{"$ref":"#/components/schemas/No"}}}},"304":{"description":"ETag confirmado, sem corpo."},"400":{"description":"HTTP 400; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"404":{"description":"HTTP 404; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"405":{"description":"HTTP 405; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"421":{"description":"HTTP 421; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"429":{"description":"HTTP 429; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"503":{"description":"HTTP 503; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}}}}},"/index.md":{"get":{"operationId":"navegar0_md","description":"Siga as URLs de /index.json; cada parâmetro identifica um nível devolvido pelo acervo.","parameters":[{"name":"depois","in":"query","schema":{"type":"string","maxLength":256},"description":"Cursor opaco de links.proximo."}],"responses":{"200":{"description":"Mesmo nó em Markdown.","content":{"text/markdown":{"schema":{"type":"string"}}}},"304":{"description":"ETag confirmado, sem corpo."},"400":{"description":"HTTP 400; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"404":{"description":"HTTP 404; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"405":{"description":"HTTP 405; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"421":{"description":"HTTP 421; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"429":{"description":"HTTP 429; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"503":{"description":"HTTP 503; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}}}}},"/index.okf.md":{"get":{"operationId":"navegar0_okf_md","description":"Siga as URLs de /index.json; cada parâmetro identifica um nível devolvido pelo acervo.","parameters":[{"name":"depois","in":"query","schema":{"type":"string","maxLength":256},"description":"Cursor opaco de links.proximo."}],"responses":{"200":{"description":"Mesmo nó em Markdown com frontmatter OKF.","content":{"text/markdown":{"schema":{"type":"string"}}}},"304":{"description":"ETag confirmado, sem corpo."},"400":{"description":"HTTP 400; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"404":{"description":"HTTP 404; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"405":{"description":"HTTP 405; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"421":{"description":"HTTP 421; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"429":{"description":"HTTP 429; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"503":{"description":"HTTP 503; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}}}}},"/uf/{uf}/index.json":{"get":{"operationId":"navegar1_json","description":"Siga as URLs de /index.json; cada parâmetro identifica um nível devolvido pelo acervo.","parameters":[{"name":"uf","in":"path","required":true,"schema":{"type":"string","maxLength":253}},{"name":"depois","in":"query","schema":{"type":"string","maxLength":256},"description":"Cursor opaco de links.proximo."}],"responses":{"200":{"description":"Nó do acervo","content":{"application/json":{"schema":{"$ref":"#/components/schemas/No"}}}},"304":{"description":"ETag confirmado, sem corpo."},"400":{"description":"HTTP 400; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"404":{"description":"HTTP 404; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"405":{"description":"HTTP 405; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"421":{"description":"HTTP 421; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"429":{"description":"HTTP 429; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"503":{"description":"HTTP 503; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}}}}},"/uf/{uf}/index.md":{"get":{"operationId":"navegar1_md","description":"Siga as URLs de /index.json; cada parâmetro identifica um nível devolvido pelo acervo.","parameters":[{"name":"uf","in":"path","required":true,"schema":{"type":"string","maxLength":253}},{"name":"depois","in":"query","schema":{"type":"string","maxLength":256},"description":"Cursor opaco de links.proximo."}],"responses":{"200":{"description":"Mesmo nó em Markdown.","content":{"text/markdown":{"schema":{"type":"string"}}}},"304":{"description":"ETag confirmado, sem corpo."},"400":{"description":"HTTP 400; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"404":{"description":"HTTP 404; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"405":{"description":"HTTP 405; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"421":{"description":"HTTP 421; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"429":{"description":"HTTP 429; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"503":{"description":"HTTP 503; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}}}}},"/uf/{uf}/index.okf.md":{"get":{"operationId":"navegar1_okf_md","description":"Siga as URLs de /index.json; cada parâmetro identifica um nível devolvido pelo acervo.","parameters":[{"name":"uf","in":"path","required":true,"schema":{"type":"string","maxLength":253}},{"name":"depois","in":"query","schema":{"type":"string","maxLength":256},"description":"Cursor opaco de links.proximo."}],"responses":{"200":{"description":"Mesmo nó em Markdown com frontmatter OKF.","content":{"text/markdown":{"schema":{"type":"string"}}}},"304":{"description":"ETag confirmado, sem corpo."},"400":{"description":"HTTP 400; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"404":{"description":"HTTP 404; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"405":{"description":"HTTP 405; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"421":{"description":"HTTP 421; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"429":{"description":"HTTP 429; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"503":{"description":"HTTP 503; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}}}}},"/uf/{uf}/cep/{cep}/index.json":{"get":{"operationId":"navegar2_json","description":"Siga as URLs de /index.json; cada parâmetro identifica um nível devolvido pelo acervo.","parameters":[{"name":"uf","in":"path","required":true,"schema":{"type":"string","maxLength":253}},{"name":"cep","in":"path","required":true,"schema":{"type":"string","maxLength":253}},{"name":"depois","in":"query","schema":{"type":"string","maxLength":256},"description":"Cursor opaco de links.proximo."}],"responses":{"200":{"description":"Nó do acervo","content":{"application/json":{"schema":{"$ref":"#/components/schemas/No"}}}},"304":{"description":"ETag confirmado, sem corpo."},"400":{"description":"HTTP 400; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"404":{"description":"HTTP 404; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"405":{"description":"HTTP 405; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"421":{"description":"HTTP 421; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"429":{"description":"HTTP 429; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"503":{"description":"HTTP 503; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}}}}},"/uf/{uf}/cep/{cep}/index.md":{"get":{"operationId":"navegar2_md","description":"Siga as URLs de /index.json; cada parâmetro identifica um nível devolvido pelo acervo.","parameters":[{"name":"uf","in":"path","required":true,"schema":{"type":"string","maxLength":253}},{"name":"cep","in":"path","required":true,"schema":{"type":"string","maxLength":253}},{"name":"depois","in":"query","schema":{"type":"string","maxLength":256},"description":"Cursor opaco de links.proximo."}],"responses":{"200":{"description":"Mesmo nó em Markdown.","content":{"text/markdown":{"schema":{"type":"string"}}}},"304":{"description":"ETag confirmado, sem corpo."},"400":{"description":"HTTP 400; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"404":{"description":"HTTP 404; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"405":{"description":"HTTP 405; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"421":{"description":"HTTP 421; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"429":{"description":"HTTP 429; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"503":{"description":"HTTP 503; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}}}}},"/uf/{uf}/cep/{cep}/index.okf.md":{"get":{"operationId":"navegar2_okf_md","description":"Siga as URLs de /index.json; cada parâmetro identifica um nível devolvido pelo acervo.","parameters":[{"name":"uf","in":"path","required":true,"schema":{"type":"string","maxLength":253}},{"name":"cep","in":"path","required":true,"schema":{"type":"string","maxLength":253}},{"name":"depois","in":"query","schema":{"type":"string","maxLength":256},"description":"Cursor opaco de links.proximo."}],"responses":{"200":{"description":"Mesmo nó em Markdown com frontmatter OKF.","content":{"text/markdown":{"schema":{"type":"string"}}}},"304":{"description":"ETag confirmado, sem corpo."},"400":{"description":"HTTP 400; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"404":{"description":"HTTP 404; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"405":{"description":"HTTP 405; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"421":{"description":"HTTP 421; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"429":{"description":"HTTP 429; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}},"503":{"description":"HTTP 503; no-store. 429/503 incluem Retry-After.","content":{"application/json":{"schema":{"type":"object","required":["erro","api_index"],"properties":{"erro":{"type":"string"},"api_index":{"type":"string"}}}}}}}}}},"components":{"schemas":{"No":{"type":"object","required":["versao","servico","titulo","descricao","fonte","itens","links","pagina"],"properties":{"versao":{"const":"1"},"servico":{"type":"string"},"titulo":{"type":"string"},"descricao":{"type":"string"},"fonte":{"type":"string"},"guia":{"type":"object","description":"Na raiz: resumo, hierarquia, limites, exemplos com URLs por formato e links entre acervos.","additionalProperties":true},"atualizado_em":{"type":"string"},"dados":{"type":"object","additionalProperties":true},"itens":{"type":"array","maxItems":20,"items":{"type":"object","required":["titulo","tipo","url"],"properties":{"titulo":{"type":"string"},"tipo":{"enum":["colecao","registro"]},"url":{"type":"string","format":"uri"}}}},"links":{"type":"object","required":["self","raiz","pai","proximo","json","markdown","html","okf"],"properties":{"self":{"type":"string","format":"uri"},"raiz":{"type":"string","format":"uri"},"json":{"type":"string","format":"uri"},"markdown":{"type":"string","format":"uri"},"html":{"type":"string","format":"uri"},"okf":{"type":"string","format":"uri"},"pai":{"type":["string","null"],"format":"uri"},"proximo":{"type":["string","null"],"format":"uri"}}},"pagina":{"type":"object","required":["limite","continuacao"],"properties":{"limite":{"const":20},"continuacao":{"type":"boolean"}}}}}}}}