https://github.com/guibranco/viacep-rs
🇧🇷 📍 ViaCEP client wrapper for Rust projects
https://github.com/guibranco/viacep-rs
address api cep code correios fazenda gia hacktoberfest ibge mf postal postalcode viacep webservice ws zip zipcode
Last synced: about 1 year ago
JSON representation
🇧🇷 📍 ViaCEP client wrapper for Rust projects
- Host: GitHub
- URL: https://github.com/guibranco/viacep-rs
- Owner: guibranco
- License: mit
- Created: 2020-01-27T16:42:51.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2024-11-06T14:18:22.000Z (over 1 year ago)
- Last Synced: 2025-05-09T19:06:34.486Z (about 1 year ago)
- Topics: address, api, cep, code, correios, fazenda, gia, hacktoberfest, ibge, mf, postal, postalcode, viacep, webservice, ws, zip, zipcode
- Language: Rust
- Homepage: http://guilherme.stracini.com.br/viacep-rs/
- Size: 137 KB
- Stars: 6
- Watchers: 1
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# ViaCEP Rust client
🇧🇷📍[ViaCEP](https://viacep.com.br) client wrapper for Rust projects.


[](https://wakatime.com/badge/github/guibranco/viacep-rs)
[](https://codeclimate.com/github/guibranco/viacep-rs/maintainability)
[](https://codeclimate.com/github/guibranco/viacep-rs/test_coverage)
[](https://www.codefactor.io/repository/github/guibranco/viacep-rs)
| Service | Status |
| ------- | :----: |
| AppVeyor CI | [](https://ci.appveyor.com/project/guibranco/viacep-rs/branch/main) |
| crates.io | [](https://crates.io/crates/viacep-rs) |
Pure Rust bindings to the [ViaCEP API](https://viacep.com.br).
## Dependencies and support
`viacep-rs` is intended to work on all tier 1 supported Rust systems:
- MacOSX
- Linux
- Windows
## Minimum Compiler Version
Due to the use of certain features `viacep-rs` requires `rustc` version 1.18 or
higher.
## Getting Started
Add the following to your `Cargo.toml`
```toml
[dependencies]
viacep_rs = "0.2.0"
serde_json = "1.0"
```
Then in your `lib.rs` or `main.rs` file add:
```rust
extern crate viacep_rs;
let client = ViaCepClient::new();
// Single Zip Code data
match client.get_zipcode("03177010") {
Err(e) => eprintln!("{:?}", e),
Ok(data) => {
let cep = data.unwrap();
println!("IBGE: {} | Address: {} | Neighborhood: {} | City: {} | UF: {}", cep.ibge, cep.address, cep.neighborhood, cep.City, cep.state_initials);
}
}
//Find by address data
match client.search("SP", "São Paulo", "Paulista") {
Err(e) => eprintln!("{:?}", e),
Ok(data) => {
let addresses = data.unwrap();
for address in addresses {
println!("IBGE: {} | Address: {} | City: {} | Zip: {}", address.ibge, address.address, address.city, address.zip);
}
}
}
```
## License
Licensed under
- MIT license ([LICENSE](https://github.com/guibranco/viacep-rs/blob/main/LICENSE) or [http://opensource.org/licenses/MIT](http://opensource.org/licenses/MIT))