{"id":23127990,"url":"https://github.com/antoniojmsjr/buscacep","last_synced_at":"2026-02-03T01:08:05.376Z","repository":{"id":237791923,"uuid":"794592847","full_name":"antoniojmsjr/BuscaCEP","owner":"antoniojmsjr","description":"⚡ BuscaCEP é uma biblioteca para consulta de endereços online, permitindo buscas por CEP (Código de Endereçamento Postal) ou por logradouro (UF, Localidade e Logradouro).","archived":false,"fork":false,"pushed_at":"2024-12-09T02:04:29.000Z","size":1228,"stargazers_count":14,"open_issues_count":0,"forks_count":2,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-04T05:43:38.494Z","etag":null,"topics":["api","brasilapi","buscacep","cep","correios","delphi","endereco","ibge","logradouro","viacep"],"latest_commit_sha":null,"homepage":"https://github.com/antoniojmsjr/BuscaCEP","language":"Pascal","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/antoniojmsjr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-01T14:41:03.000Z","updated_at":"2025-02-20T17:11:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"14296769-70b3-4dec-ac9c-40ee529bfc51","html_url":"https://github.com/antoniojmsjr/BuscaCEP","commit_stats":null,"previous_names":["antoniojmsjr/buscacep"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/antoniojmsjr/BuscaCEP","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antoniojmsjr%2FBuscaCEP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antoniojmsjr%2FBuscaCEP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antoniojmsjr%2FBuscaCEP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antoniojmsjr%2FBuscaCEP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/antoniojmsjr","download_url":"https://codeload.github.com/antoniojmsjr/BuscaCEP/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antoniojmsjr%2FBuscaCEP/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262067901,"owners_count":23253693,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","brasilapi","buscacep","cep","correios","delphi","endereco","ibge","logradouro","viacep"],"created_at":"2024-12-17T09:16:02.585Z","updated_at":"2026-02-03T01:08:05.369Z","avatar_url":"https://github.com/antoniojmsjr.png","language":"Pascal","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Maintained YES](https://img.shields.io/badge/Maintained%3F-yes-green.svg?style=flat-square\u0026color=important)\n![Memory Leak Verified YES](https://img.shields.io/badge/Memory%20Leak%20Verified%3F-yes-green.svg?style=flat-square\u0026color=important)\n![Release](https://img.shields.io/github/v/release/antoniojmsjr/BuscaCEP?label=Latest%20release\u0026style=flat-square\u0026color=important)\n![Stars](https://img.shields.io/github/stars/antoniojmsjr/BuscaCEP.svg?style=flat-square)\n![Forks](https://img.shields.io/github/forks/antoniojmsjr/BuscaCEP.svg?style=flat-square)\n![Issues](https://img.shields.io/github/issues/antoniojmsjr/BuscaCEP.svg?style=flat-square\u0026color=blue)\u003c/br\u003e\n![Compatibility](https://img.shields.io/badge/Compatibility-VCL,%20Firemonkey-3db36a?style=flat-square)\n![Delphi Supported Versions](https://img.shields.io/badge/Delphi%20Supported%20Versions-Seattle%20and%20higher-3db36a?style=flat-square)\n\n\u003c/br\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/antoniojmsjr/BuscaCEP/blob/main/Image/Logo.png\"\u003e\n    \u003cimg alt=\"IPGeolocation\" height=\"120\" width=\"600\" src=\"https://github.com/antoniojmsjr/BuscaCEP/blob/main/Image/Logo.png\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\u003c/br\u003e\n\n# BuscaCEP\n\n**BuscaCEP** é uma biblioteca para consulta de endereços online, permitindo buscas por CEP (Código de Endereçamento Postal) ou por logradouro (UF, Localidade e Logradouro).\n\nImplementado na linguagem `Delphi`, utiliza o conceito de [fluent interface](https://en.wikipedia.org/wiki/Fluent_interface) para guiar no uso da biblioteca, desenvolvida para oferecer praticidade e eficiência, a BuscaCEP integra os principais players do mercado: [Correios](https://buscacepinter.correios.com.br/app/endereco/index.php), [ViaCEP](https://viacep.com.br/), [BrasilAPI](https://brasilapi.com.br/), entre outros.\n\nEsta biblioteca é ideal para desenvolvedores Delphi que buscam uma solução robusta, flexível e eficiente para integrar consultas de endereços online em suas aplicações.\n\n#### Recursos:\n\n* Consulta Abrangente: BuscaCEP permite consultar tanto por *CEP* quanto por *logradouro*, flexibilizando a obtenção das informações de endereço.\n* Consulta Detalhada: Com BuscaCEP as informações do endereço são completas, incluindo: *logradouro, complemento, bairro, CEP, localidade, estado, região, código IBGE e código DDD*.\n* Código IBGE: Com BuscaCEP o código IBGE é fornecido de forma *off-line* através do arquivo *IBGE.dat* disponibilizado junto com a biblioteca.\n* Integração com Principais Players: Integrado com os principais serviços de consulta de CEP do Brasil: *[Correios](https://buscacepinter.correios.com.br/app/endereco/index.php), [ViaCEP](https://viacep.com.br/), [BrasilAPI](https://brasilapi.com.br/)*, entre outros. \n* Facilidade de Integração: Com uma interface amigável e documentação detalhada, a BuscaCEP é fácil de integrar em qualquer projeto.\n* Exemplos de uso: Repositório com diversos exemplos de uso da biblioteca, por exemplo, VCL, FMX e um servidor de aplicação em [(Horse)](https://github.com/HashLoad/horse) simulando uma API de endereços.\n\u003c/br\u003e\n\n## ⚙️ Instalação Automatizada\n\nUtilizando o [**Boss**](https://github.com/HashLoad/boss/releases/latest) (Dependency manager for Delphi) é possível instalar a biblioteca de forma automatizada.\n\n```\nboss install https://github.com/antoniojmsjr/BuscaCEP\n```\n\n## ⚙️ Instalação Manual\n\nSe você optar por instalar manualmente, basta adicionar as seguintes pastas ao seu projeto, em *Project \u003e Options \u003e Delphi Compiler \u003e Target \u003e All Configurations \u003e Search path*\n\n```\n..\\BuscaCEP\\Source\n```\n\n## :beginner: Provedores Homologados\n\n| Provedor | Usa APIKey? | Busca por CEP? | * Busca por Logradouro? | TBuscaCEPProvidersKind |\n|---|---|---|---|---|\n| [Correios](https://buscacepinter.correios.com.br/app/cep/index.php) | NÃO | SIM | SIM | Correios |\n| [Via CEP](https://viacep.com.br) | NÃO | SIM | SIM | ViaCEP |\n| [Brasil API](https://brasilapi.com.br) | NÃO | SIM | NÃO | BrasilAPI |\n| [CEP Aberto](https://www.cepaberto.com) | SIM | SIM | SIM | CEPAberto |\n| [Republica Virtual](https://www.republicavirtual.com.br/cep) | NÃO | SIM | NÃO | RepublicaVirtual |\n| [CEP Certo](https://www.cepcerto.com) | NÃO | SIM | SIM | CEPCerto |\n| [KingHost](https://king.host) | SIM | SIM | NÃO | KingHost | KingHost |\n| [Postmon](https://postmon.com.br) | NÃO | SIM | NÃO | Postmon |\n| [CEP Livre](https://ceplivre.com.br) | SIM | SIM | SIM | CEPLivre |\n| [Open CEP](https://opencep.com) | SIM | SIM | SIM | OpenCEP |\n| [API CEP](https://apicep.com) | SIM | SIM | SIM | ApiCEP |\n| [Brasil Aberto](https://brasilaberto.com) | SIM | SIM | SIM | BrasilAberto |\n| [AwesomeAPI](https://docs.awesomeapi.com.br) | NÃO | SIM | NÃO | AwesomeAPI |\n\n\\* Para consultar usando o logradouro, são necessários três parâmetros obrigatórios: **UF, Cidade e Logradouro**.\u003c/br\u003e\n\n## :globe_with_meridians: Arquivo de Cache(BuscaCEP.dat)\n\nPara fornecer o código IBGE e o código DDD da localidade no retorno da consulta, foi criado o arquivo **BuscaCEP.dat**, com base na [API de localidades do IBGE](https://servicodados.ibge.gov.br/api/docs/localidades) e nos dados disponibilizados pela [Anatel](https://www.anatel.gov.br/dadosabertos/PDA/Codigo_Nacional/PGCN.csv).\n\n* O arquivo deve ser usado juntamente com o aplicativo ou definido na biblioteca.\n* Este arquivo pode ser atualizado utilizando o projeto [BuscaCEPCache](https://github.com/antoniojmsjr/BuscaCEP/tree/main/Cache).\n\n## ⚡️ Uso da biblioteca\n\nOs exemplos estão disponíveis na pasta do projeto:\n\n```\n..\\BuscaCEP\\Samples\n```\n\n**Consulta por CEP**\n\n```delphi\nuses\n  BuscaCEP, BuscaCEP.Types, BuscaCEP.Interfaces, System.SysUtils;\n```\n```delphi\nvar\n  lBuscaCEPResponse: IBuscaCEPResponse;\n  lMsgError: string;\nbegin\n  try\n    lBuscaCEPResponse := TBuscaCEP.New\n      //.SetArquivoCache() [OPCIONAL]\n      .Providers[TBuscaCEPProvidersKind.Correios]\n        //.SetAPIKey() [CONFORME O PROVEDOR]\n        .Filtro\n          .SetCEP('90520-003')\n        .Request\n          //.SetTimeout() [OPCIONAL]\n          .Execute;\n  except\n    on E: EBuscaCEPRequest do\n    begin\n      lMsgError := Concat(lMsgError, Format('Provider: %s', [E.Provider]), sLineBreak);\n      lMsgError := Concat(lMsgError, Format('DateTime: %s', [DateTimeTostr(E.DateTime)]), sLineBreak);\n      lMsgError := Concat(lMsgError, Format('Kind: %s', [E.Kind.AsString]), sLineBreak);\n      lMsgError := Concat(lMsgError, Format('URL: %s', [E.URL]), sLineBreak);\n      lMsgError := Concat(lMsgError, Format('Method: %s', [E.Method]), sLineBreak);\n      lMsgError := Concat(lMsgError, Format('Status Code: %d', [E.StatusCode]), sLineBreak);\n      lMsgError := Concat(lMsgError, Format('Status Text: %s', [E.StatusText]), sLineBreak);\n      lMsgError := Concat(lMsgError, Format('Message: %s', [E.Message]));\n\n      Application.MessageBox(PWideChar(lMsgError), 'A T E N Ç Ã O', MB_OK + MB_ICONERROR);\n      Exit;\n    end;\n    on E: Exception do\n    begin\n      Application.MessageBox(PWideChar(E.Message), 'A T E N Ç Ã O', MB_OK + MB_ICONERROR);\n      Exit;\n    end;\n  end;\nend;\n```\n\n**Consulta por Logradouro**\n\n```delphi\nuses\n  BuscaCEP, BuscaCEP.Types, BuscaCEP.Interfaces, System.SysUtils;\n```\n```delphi\nvar\n  lBuscaCEPResponse: IBuscaCEPResponse;\n  lMsgError: string;\nbegin\n  try\n    lBuscaCEPResponse := TBuscaCEP.New\n      //.SetArquivoCache() [OPCIONAL]\n      .Providers[TBuscaCEPProvidersKind.Correios]\n        //.SetAPIKey() [CONFORME O PROVEDOR]\n        .Filtro\n          .SetLogradouro('Avenida Plínio Brasil Milano')\n          .SetLocalidade('Porto Alegre')\n          .SetUF('RS')\n        .\u0026End\n        .Request\n          //.SetTimeout() [OPCIONAL]\n          .Execute;\n  except\n    on E: EBuscaCEPRequest do\n    begin\n      lMsgError := Concat(lMsgError, Format('Provider: %s', [E.Provider]), sLineBreak);\n      lMsgError := Concat(lMsgError, Format('DateTime: %s', [DateTimeTostr(E.DateTime)]), sLineBreak);\n      lMsgError := Concat(lMsgError, Format('Kind: %s', [E.Kind.AsString]), sLineBreak);\n      lMsgError := Concat(lMsgError, Format('URL: %s', [E.URL]), sLineBreak);\n      lMsgError := Concat(lMsgError, Format('Method: %s', [E.Method]), sLineBreak);\n      lMsgError := Concat(lMsgError, Format('Status Code: %d', [E.StatusCode]), sLineBreak);\n      lMsgError := Concat(lMsgError, Format('Status Text: %s', [E.StatusText]), sLineBreak);\n      lMsgError := Concat(lMsgError, Format('Message: %s', [E.Message]));\n\n      Application.MessageBox(PWideChar(lMsgError), 'A T E N Ç Ã O', MB_OK + MB_ICONERROR);\n      Exit;\n    end;\n    on E: Exception do\n    begin\n      Application.MessageBox(PWideChar(E.Message), 'A T E N Ç Ã O', MB_OK + MB_ICONERROR);\n      Exit;\n    end;\n  end;\nend;\n```\n\n**Resultado da Consulta [IBuscaCEPResponse]**\n\n```delphi\nuses\n  BuscaCEP.Types, BuscaCEP.Interfaces;\n```\n```delphi\nvar\n  lBuscaCEPResponse: IBuscaCEPResponse;\n  lBuscaCEPLogradouro: TBuscaCEPLogradouro;\nbegin\n  for lBuscaCEPLogradouro in lBuscaCEPResponse.Logradouros do\n  begin\n    lBuscaCEPLogradouro.Logradouro;\n    lBuscaCEPLogradouro.Complemento;\n    lBuscaCEPLogradouro.Unidade;\n    lBuscaCEPLogradouro.Bairro;\n    lBuscaCEPLogradouro.Localidade.Nome;\n    lBuscaCEPLogradouro.Localidade.IBGE;\n    lBuscaCEPLogradouro.Localidade.DDD;\n    lBuscaCEPLogradouro.Localidade.Estado.Nome;\n    lBuscaCEPLogradouro.Localidade.Estado.IBGE;\n    lBuscaCEPLogradouro.Localidade.Estado.Sigla;\n    lBuscaCEPLogradouro.Localidade.Estado.Regiao.Nome;\n    lBuscaCEPLogradouro.Localidade.Estado.Regiao.IBGE;\n    lBuscaCEPLogradouro.Localidade.Estado.Regiao.Sigla;\n    lBuscaCEPLogradouro.CEP;\n  end;\n```\n\n**Resultado da Consulta [JSON]**\n```json\n{\n  \"provider\": \"#CORREIOS\",\n  \"date_time\": \"2024-05-01T02:35:14.772-03:00\",\n  \"request_time\": \"75ms\",\n  \"total\": 1,\n  \"logradouros\": [\n    {\n      \"logradouro\": \"Avenida Plínio Brasil Milano\",\n      \"complemento\": \"de 1947 ao fim - lado ímpar\",\n      \"unidade\": \"\",\n      \"bairro\": \"Passo da Areia\",\n      \"cep\": \"90520003\",\n      \"localidade\": {\n        \"ibge\": 4314902,\n        \"ddd\": 51,\n        \"nome\": \"Porto Alegre\",\n        \"estado\": {\n          \"ibge\": 43,\n          \"nome\": \"Rio Grande do Sul\",\n          \"sigla\": \"RS\",\n          \"regiao\": {\n            \"ibge\": 4,\n            \"nome\": \"Sul\",\n            \"sigla\": \"S\"\n          }\n        }\n      }\n    }\n  ]\n}\n```\n#### Exemplo compilado\n\n* VCL\n* VCL Client\n* VCL Server [(Horse)](https://github.com/HashLoad/horse)\n\nDownload: [Demos.zip](https://github.com/user-attachments/files/16923690/Demos.zip)\n\nhttps://github.com/user-attachments/assets/292bdcf4-87fd-4504-838f-1be9fbd3148e\n\nhttps://github.com/antoniojmsjr/BuscaCEP/assets/20980984/8e04fcfd-938b-49ea-ba14-c58e78864db4\n\n## :warning: Licença\n`BuscaCEP` is free and open-source software licensed under the [![License](https://img.shields.io/badge/license-Apache%202-blue.svg)](https://github.com/antoniojmsjr/BuscaCEP/blob/master/LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantoniojmsjr%2Fbuscacep","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fantoniojmsjr%2Fbuscacep","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantoniojmsjr%2Fbuscacep/lists"}