8 releases (4 breaking)

0.4.0 Jun 25, 2022
0.3.1 Oct 20, 2020
0.3.0 Jul 27, 2020
0.2.0 Apr 10, 2020
0.0.1 Jan 20, 2015

#220 in Geospatial

Download history 39/week @ 2023-12-20 46/week @ 2023-12-27 84/week @ 2024-01-03 68/week @ 2024-01-10 67/week @ 2024-01-17 54/week @ 2024-01-24 90/week @ 2024-01-31 77/week @ 2024-02-07 56/week @ 2024-02-14 85/week @ 2024-02-21 134/week @ 2024-02-28 113/week @ 2024-03-06 76/week @ 2024-03-13 136/week @ 2024-03-20 77/week @ 2024-03-27 74/week @ 2024-04-03

376 downloads per month
Used in 2 crates




Rust utilities to enrich addresses, cities, countries, and landmarks with geographic coordinates through third-party geocoding web services. Project is in a very early stage.

API Documentation


Licensed under either of

at your option.


Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.


This crate provides forward– and reverse-geocoding functionality for Rust. Over time, a variety of providers will be added. Each provider may implement one or both of the Forward and Reverse traits, which provide forward– and reverse-geocoding methods.

Note that for the reverse method, the return type is simply Option<String>, as this is the lowest common denominator reverse-geocoding result. Individual providers may implement additional methods, which return more finely-structured and/or extensive data, and enable more specific query tuning. Coordinate data are specified using the Point struct, which has several convenient From implementations to allow for easy construction using primitive types.

A note on Coordinate Order

While individual providers may specify coordinates in either [Longitude, Latitude] or [Latitude, Longitude] order, Geocoding always requires Point data in [Longitude, Latitude] (x, y) order, and returns data in that order.

Usage of rustls

If you like to use rustls instead of OpenSSL you can enable the rustls-tls feature in your Cargo.toml:

geocoding = { version = "*", default-features = false, features = ["rustls-tls"] }


~332K SLoC