https://github.com/demsking/nominatim-client
A simple node module to handle nominatim searches
https://github.com/demsking/nominatim-client
geocode nominatim nominatim-client osm place reverse-geocode search
Last synced: 3 months ago
JSON representation
A simple node module to handle nominatim searches
- Host: GitHub
- URL: https://github.com/demsking/nominatim-client
- Owner: demsking
- License: mit
- Created: 2016-04-10T23:43:53.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2022-08-25T08:46:52.000Z (almost 4 years ago)
- Last Synced: 2025-10-16T02:49:29.571Z (8 months ago)
- Topics: geocode, nominatim, nominatim-client, osm, place, reverse-geocode, search
- Language: JavaScript
- Size: 138 KB
- Stars: 7
- Watchers: 3
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Nominatim Client
A simple client to handle geocoding and reverse geocoding via
[OpenStreetMap (OSM)](http://openstreetmap.org/).
It attempts to adhere to the [Nominatim Usage Policy](https://operations.osmfoundation.org/policies/nominatim/).
[](https://www.npmjs.com/package/nominatim-client)
[](https://gitlab.com/demsking/nominatim-client/pipelines)
[](https://gitlab.com/demsking/nominatim-client/pipelines)
[](https://www.buymeacoffee.com/demsking)
## Install
```sh
npm install nominatim-client
```
## Usage
```js
const nominatim = require('nominatim-client');
const client = nominatim.createClient({
useragent: "MyApp", // The name of your application
referer: 'http://example.com', // The referer link
});
```
**[Search](https://nominatim.org/release-docs/develop/api/Search/)**
```js
const query = {
q: '1 boulevard Anatole France Belfort',
addressdetails: '1'
};
nominatim.search(query).then((result) => console.log(result));
```
Output:
```json
[
{
"place_id": 273995170,
"licence": "Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright",
"osm_type": "way",
"osm_id": 929173018,
"boundingbox": [
"47.6405466",
"47.640965",
"6.8419814",
"6.8480751"
],
"lat": "47.6407423",
"lon": "6.844936",
"display_name": "Boulevard Anatole France, Le Mont Sud, Belfort, Territoire-de-Belfort, Bourgogne-Franche-Comté, Metropolitan France, 90000, France",
"class": "highway",
"type": "primary",
"importance": 0.5199999999999999,
"address": {
"road": "Boulevard Anatole France",
"suburb": "Le Mont Sud",
"city": "Belfort",
"municipality": "Belfort",
"county": "Territoire-de-Belfort",
"state": "Bourgogne-Franche-Comté",
"country": "France",
"postcode": "90000",
"country_code": "fr"
}
}
]
```
**[Reverse](https://nominatim.org/release-docs/develop/api/Reverse/)**
```js
const query = {
lat: 47.6407423,
lon: 6.844936
};
client.reverse(query).then((result) => console.log(result));
```
Output:
```json
{
"place_id": 119321832,
"licence": "Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright",
"osm_type": "way",
"osm_id": 79763493,
"lat": "47.64105015",
"lon": "6.845205480320034",
"display_name": "C, 8A, Boulevard Anatole France, Barres Le Mont, Belfort, Territoire-de-Belfort, Bourgogne-Franche-Comté, Metropolitan France, 90000, France",
"address": {
"building": "C",
"house_number": "8A",
"road": "Boulevard Anatole France",
"suburb": "Barres Le Mont",
"city": "Belfort",
"municipality": "Belfort",
"county": "Territoire-de-Belfort",
"state": "Bourgogne-Franche-Comté",
"country": "France",
"postcode": "90000",
"country_code": "fr"
},
"boundingbox": [
"47.6409593",
"47.6411156",
"6.8449412",
"6.8454734"
]
}
```
## Versioning
Given a version number `MAJOR.MINOR.PATCH`, increment the:
- `MAJOR` version when you make incompatible API changes,
- `MINOR` version when you add functionality in a backwards-compatible manner,
and
- `PATCH` version when you make backwards-compatible bug fixes.
Additional labels for pre-release and build metadata are available as extensions
to the `MAJOR.MINOR.PATCH` format.
See [SemVer.org](https://semver.org/) for more details.
## License
Under the MIT license.
See [LICENSE](https://gitlab.com/demsking/nominatim-client/blob/master/LICENSE)
file for more details.