User_Agent is an http request header that is sent with each request.
Nominatim requires this value to be set to your application name. The goal is to be able to limit the number of requests per application.
https://operations.osmfoundation.org/policies/nominatim/
Provide a valid HTTP Referer or User-Agent identifying the application
(stock User-Agents as set by http libraries will not do).
Moreover, should you have a lot of queries, Nominatim asks that the user_agent also contains your email address (or that you use the email parameter)
https://nominatim.org/release-docs/develop/api/Search/
email=< valid email address >
If you are making large numbers of request please include a valid email address or alternatively include your email address as part of the User-Agent string.
This information will be kept confidential and only used to contact you in the event of a problem, see Usage Policy for more details.
- If I am using GeoPy not as part of any website but just transforming database locally, what kind of http request header should I set. I've put just: "my-application" - is it ok, or should I put something more specific?
- I cannot find information what does it mean large number of requests. In documentation, it's said that it can process 1 request per second but not the total number. I have roughly 1M address in my db for which I need to find coordinates - is geopy a good approach or should I look for something different?
– Mateusz Konopelski Aug 22 '18 at 11:29nominatim_service = Nominatim(user_agent='my_email@myserver.com')and then call the service on whatever your input data isgeolocator = RateLimiter(nominatim_service.geocode, min_delay_seconds=1)collisions['geocodes'] = collisions['location_string'].apply(geolocator)– Hugh_Kelley Feb 27 '20 at 19:21geolocator.reverse(f"{lat}, {lng}", zoom=10, exactly_one=True, timeout=5, language="en")– Alex Apr 06 '21 at 13:49