# open-geocode > Self-hosted address geocoding in pure Rust: forward, autocomplete, reverse and batch, served from one memory-mapped file built from OpenStreetMap and OpenAddresses. - Two binaries: `og` builds a Pack for a region and serves it; `open-geocode` adds batch CSV geocoding, benchmarks and lower-level Pack tools. - A Pack is one file. The HTTP API is GET-only and answers GeoJSON FeatureCollections; errors are RFC 9457 problem documents. - The machine-readable contract is the OpenAPI 3.1 document at /openapi.json. ## Documentation Sets - [Abridged documentation](https://opengeocode.com/llms-small.txt): a compact version of the documentation for open-geocode, with non-essential content removed - [Complete documentation](https://opengeocode.com/llms-full.txt): the full documentation for open-geocode ## Notes - The complete documentation includes all content from the official documentation - The content is automatically generated from the same source as the official documentation ## Optional - [OpenAPI document](https://opengeocode.com/openapi.json): The HTTP API contract. - [Source](https://github.com/open-geocode-rs/open-geocode)