Nominatim-responses from OpenStreetMap no longer readable
11:55 19 Apr 2026

I'm retrieving reverse lookups of GPS-Data (issuing "latitude" and "longitude") to get the the address of the supplied location from nominatim/OpenStreetMap.

For example: I have the GPS-coordinates lat=50.59865 & lon=8.41693.
by issuing:

https://nominatim.openstreetmap.org/reverse?lat=50.59865&lon=8.41693&zoom=20&format=json&accept-language=de_DE&addressdetails=1

I expect to get the following json as response:

{"place_id":127743226,"licence":"Data © OpenStreetMap contributors, ODbL 1.0. http://osm.org/copyright","osm_type":"way","osm_id":921342942,"lat":"50.5986804","lon":"8.4167133","class":"building","type":"yes","place_rank":30,"importance":5.143434805824395e-05,"addresstype":"building","name":"","display_name":"41, Bachstraße, Werdorf, Aßlar, Lahn-Dill-Kreis, Hessen, 35614, Deutschland","address":{"house_number":"41","road":"Bachstraße","village":"Werdorf","municipality":"Aßlar","county":"Lahn-Dill-Kreis","state":"Hessen","ISO3166-2-lvl4":"DE-HE","postcode":"35614","country":"Deutschland","country_code":"de"},"boundingbox":["50.5986344","50.5987271","8.4166294","8.4167991"]}

This works fine with a browser (Chrome / Firefox) and used to work fine with Java/JSoup also until last year.

Response response=Jsoup
    .connect(url)
    .timeout(20000) 
        .header("Content-Type","application/json; charset=utf-8")
    .header("Accept-Encoding","gzip,deflate,br")
    .method(Method.GET)
    .maxBodySize(0)
    .ignoreContentType(true)
    .execute();

But now I get a "Status=403 / Forbidden".

I compared this request header to the browsers request header and added the userAgent(DEFAULT_UA) to the request

This is the new request now:

Response response=Jsoup
    .connect(url)
    .timeout(20000) 
        .header("Content-Type","application/json; charset=utf-8")
    .header("Accept-Encoding","gzip,deflate,br")
    .userAgent(DEFAULT_UA)
    .method(Method.GET)
    .maxBodySize(0)
    .ignoreContentType(true)
    .execute();

The response looks like this. I don't know the encoding.

Shows how the response given looks like

Any suggestion how this comes and how to handle is very welcome!

jsoup openstreetmap nominatim