In a previous article, we saw how to geocode complete addresses with the MMQGIS plugin. Today, we will go further with two very practical use cases, still without coding:
- geocoding place names (municipalities, countries, localities),
- performing reverse geocoding: finding an approximate address from GPS coordinates.
1. Geocoding places based on their names
Use case
You have a list of municipalities, countries, or well-known places, but no specific addresses. You want to locate these entities on a map.
CSV example:
id,lieu
1,Port Mathurin, Rodrigues, Maurice
2,Quatre Bornes, Maurice
3,Paris, France
4,Antananarivo, Madagascar
Steps :
- QGIS menu: MMQGIS → Geocode → Geocode CSV with Web Service.
- In the dialog box:
- CSV file: your table with place names.
- Address column: select the column containing the places.
- Web service: OpenStreetMap / Nominatim.
- Choose an output file.
Start geocoding. Each place will be converted into geographic coordinates.
Tip: Geocoding quality
Nominatim tries to interpret the text provided. The more explicit your string is, the better the result will be.
Examples:
| Bad | Better |
|---|---|
| Rodrigues | Port Mathurin, Rodrigues, Maurice |
| Quatre Bornes | Quatre Bornes, Plaines Wilhems, Maurice |
| Reunion | Saint-Denis, La Réunion, France |
Reverse geocoding (address from coordinates)
Use case
You have GPS coordinates (e.g., field surveys, geolocated photos) and want to know the corresponding address.
CSV example:
id,latitude,longitude
1,-19.7061,63.4209
2,-20.2473,57.4906
3,-21.1151,55.5325
Steps:
1- Load the CSV file as a layer using Layer->Add Layer->Add Delimited Text Layer…
2- QGIS menu: MMQGIS → Geocode → Reverse Geocode CSV with Web Service.
In the dialog box:
- Specify the CSV file.
- Select Nominatim as the service.
- Choose an output file.
The plugin returns a description of the address for each point.

Best practices
- For best results, check that the coordinates are in EPSG:4326 (latitude/longitude in degrees).
- Reverse geocoding provides an approximate address: street, locality, or place name, depending on the available data.
- Avoid massive processing with Nominatim (respect public usage limits).
What to do next?
The data obtained can then be:
- joined to vector layers,
- used to filter, group, or map your field data,
- integrated into a QGIS atlas or report.
Common problems with MMQGIS Geocode
Error 429 – Too Many Requests
The geocoding server temporarily refuses requests (see explanation above).
No address found
This may be due to the address format or a lack of precision.
Addresses incorrectly located on the map
The geocoder may sometimes return the center of a street or a municipality.
⚠️ Error 429: “Too many requests”
When using the Geocode or Reverse Geocode tools in MMQGIS, the following message may sometimes appear:
“Failure connecting to API : HTTP Error 429: too many requests”
This error means that the geocoding service temporarily refuses requests because it is receiving too many in a short period of time.
MMQGIS uses the Nominatim service from OpenStreetMap, which is a public service. To protect the servers, this service enforces strict usage limits.
The error may appear if:
- you geocode a large number of addresses or points;
- requests are sent too quickly;
- several users are accessing the service from the same IP address.
How can this problem be avoided?
Several solutions are possible:
- process the data in small batches (for example 100–200 addresses);
- wait a few minutes before running the process again;
- use an alternative geocoding service;
- for large datasets, install a local Nominatim server or use a professional service.
Public Nominatim servers are intended for occasional requests or testing, not for large-scale geocoding.
Coming next…
In the next article, we will see how to use MMQGIS to perform simple spatial joins, such as automatically linking points to the municipality or administrative area in which they are located.
If you frequently use geocoding in QGIS, you will probably encounter the HTTP 429 (Too Many Requests) error. We explained above why it happens and how to avoid it.






