Gisgraphy webservices expose REST endpoints for parsing raw addresses, forward and reverse geocoding, full‑text place search, and street or location‑based queries, with optional pagination, language, and output‑format controls.
country(query) — The ISO 3166 Alpha 2 code of the country.
format(query) — The output format.
callback(query) — The callback method name (optional), use to wrap the content into a (alphanumeric) Javascript method. Works only for script output formats (JSON, PHP, Ruby, Python)
indent(query) — indents the results.Default to false. Possible values are true or false (or on when used with the rest service. If you use a checkbox in a web form, to indent the results, the value will be 'on' or 'off', so for a simple use : the value of indent can be 'true' or 'on'
standardize(query) — Whether the address should be standardized after parsing, the value will be 'on' or 'off', so for a simple use : the value of indent can be 'true' or 'on'
geocode(query) — UNUSED YET. Whether the address should be geocoded after parsing, the value will be 'on' or 'off', so for a simple use : the value of indent can be 'true' or 'on'
GET
/fulltext/search
search for places by text around a GPS point
q(query, required) — The searched text : The text for the query can be a zip code, a string or one or more strings
allwordsrequired(query, required) — Whether the fulltext engine should considers all the words specified as required. Defaults to false (since v 4.0). possible values are true|false (or 'on' when used with the rest service)
spellchecking(query) — The spellchecking (optional) : whether some suggestions should be provided if no results are found
lat(query) — The latitude (north-south) for the location point to search around. The value is a floating number, between -90 and +90. It uses GPS coordinates
lng(query) — TThe longitude (east-West) for the location point to search around. The value is a floating number between -180 and +180. It uses GPS coordinates.
radius(query) — distance from the location point in meters we'd like to search around. The value is a number > 0 if it is not specify or incorrect.
suggest(query) — If this parameter is set then it will search in part of the names of the street, place,.... It allow you to do auto completion auto suggestion. See the Gisgraphy leaflet plugin for more details. The JSON format will be forced if this parameter is true. See auto completion / suggestions engine for more details
style(query) — The output style verbosity (optional) : Determines the output verbosity. 4 styles are available
country(query) — limit the search to the specified ISO 3166 country code. Default : search in all countries
lang(query) — The language code (optional) : The iso 639 Alpha2 or alpha3 Language Code. Some properties such as the AlternateName AdmNames and countryname belong to a certain language code. The language parameter can limit the output of those fields to a certain language (it only apply when style parameter='style') : If the language code does not exists or is not specified, properties with all the languages are retrieved If it exists, the properties with the specified language code, are retrieved
format(query) — The output format.
from(query) — The first pagination index. Numbered from 1. If the number is < 1 or not specified, it will be set to the default value : 1
to(query) — The last pagination index. if < 1 or not specified, it will be set to startindex + 10. Max = 10 (can be changed)
callback(query) — The callback method name (optional), use to wrap the content into a (alphanumeric) Javascript method. Works only for script output formats (JSON, PHP, Ruby, Python)
indent(query) — indents the results.Default to false. Possible values are true or false (or on when used with the rest service. If you use a checkbox in a web form, to indent the results, the value will be 'on' or 'off', so for a simple use : the value of indent can be 'true' or 'on'
GET
/geocoding/geocode
Geocode an address
address(query, required) — A postal address, structured or not, a street, a city, a postal code, a country, or a combination.
country(query) — The country where the place/address is. It is used to determine the postal address format and to improve performance. It will probably be optional in next version to ease the usability. The value must be the ISO 3166 Alpha 2 code of the country.
postal(query) — Whether the given address is a postal address. default to false. In other words, if the address follow the specification or if it is a well-formed address as it was written on an envelope. This parameter will enable the parsing of the address by the address parser before geocoding, this way, the relevance will be better because because if parsing is successful, we will know the meaning of each word. Note that you can also specify each field if you already know them.
format(query) — The output format.
from(query) — The first pagination index. Numbered from 1. If the number is < 1 or not specified, it will be set to the default value : 1
to(query) — The last pagination index. if < 1 or not specified, it will be set to startindex + 10. Max = 10 (can be changed)
callback(query) — The callback method name (optional), use to wrap the content into a (alphanumeric) Javascript method. Works only for script output formats (JSON, PHP, Ruby, Python)
indent(query) — indents the results. Possible values are true or false (or on when used with the rest service. If you use a checkbox in a web form, to indent the results, the value will be 'on' or 'off', so for a simple use : the value of indent can be 'true' or 'on'
GET
/geoloc/search
Geocode an address
lat(query, required) — The latitude (north-south) for the location point to search around. The value is a floating number, between -90 and +90. It uses GPS coordinates
lng(query, required) — TThe longitude (east-West) for the location point to search around. The value is a floating number between -180 and +180. It uses GPS coordinates.
radius(query) — distance from the location point in meters we'd like to search around. The value is a number > 0 if it is not specify or incorrect.
distance(query) — Whether (or not) we want the distance field to be output. This option is useful to improve the performance if we don't care about the distance (e.g : we search for name). Of course, the results won't be sorted by distance. If you use a checkbox in a form to indent the results, the value will be 'on' or 'off', so to simplify the use : the value for the web service can be 'true' or 'on'
placetype(query) — filter search for a given placetype
format(query) — The output format.
from(query) — The first pagination index. Numbered from 1. If the number is < 1 or not specified, it will be set to the default value : 1
to(query) — The last pagination index. if < 1 or not specified, it will be set to startindex + 10. Max = 10 (can be changed)
callback(query) — The callback method name (optional), use to wrap the content into a (alphanumeric) Javascript method. Works only for script output formats (JSON, PHP, Ruby, Python)
indent(query) — indents the results.Default to false. Possible values are true or false (or on when used with the rest service. If you use a checkbox in a web form, to indent the results, the value will be 'on' or 'off', so for a simple use : the value of indent can be 'true' or 'on'
GET
/reversegeocoding/reversegeocode
Reverse geocode an address
lat(query, required) — The latitude (north-south) for the location point to search around. The value is a floating number, between -90 and +90. It uses GPS coordinates
lng(query, required) — TThe longitude (east-West) for the location point to search around. The value is a floating number between -180 and +180. It uses GPS coordinates.
format(query) — The output format.
from(query) — The first pagination index. Numbered from 1. If the number is < 1 or not specified, it will be set to the default value : 1
to(query) — The last pagination index. if < 1 or not specified, it will be set to startindex + 10. Max = 10 (can be changed)
callback(query) — The callback method name (optional), use to wrap the content into a (alphanumeric) Javascript method. Works only for script output formats (JSON, PHP, Ruby, Python)
indent(query) — indents the results. Possible values are true or false (or on when used with the rest service. If you use a checkbox in a web form, to indent the results, the value will be 'on' or 'off', so for a simple use : the value of indent can be 'true' or 'on'
GET
/street/find
Geocode an address
lat(query, required) — The latitude (north-south) for the location point to search around. The value is a floating number, between -90 and +90. It uses GPS coordinates
lng(query, required) — TThe longitude (east-West) for the location point to search around. The value is a floating number between -180 and +180. It uses GPS coordinates.
radius(query) — distance from the location point in meters we'd like to search around. The value is a number > 0 if it is not specify or incorrect.
oneway(query) — whether the street should be a oneWay street (optional) : limit the search to the street that are one way street. If you use a checkbox in a form to indent the results, the value will be 'on' or 'off', so to simplify the use : the value for the web service can be 'true' or 'on'
distance(query) — Whether (or not) we want the distance field to be output. This option is useful to improve the performance if we don't care about the distance (e.g : we search for name). Of course, the results won't be sorted by distance. If you use a checkbox in a form to indent the results, the value will be 'on' or 'off', so to simplify the use : the value for the web service can be 'true' or 'on'
streettype(query) — filter search with a stret type
format(query) — The output format.
from(query) — The first pagination index. Numbered from 1. If the number is < 1 or not specified, it will be set to the default value : 1
to(query) — The last pagination index. if < 1 or not specified, it will be set to startindex + 10. Max = 10 (can be changed)
callback(query) — The callback method name (optional), use to wrap the content into a (alphanumeric) Javascript method. Works only for script output formats (JSON, PHP, Ruby, Python)
indent(query) — indents the results. Possible values are true or false (or on when used with the rest service. If you use a checkbox in a web form, to indent the results, the value will be 'on' or 'off', so for a simple use : the value of indent can be 'true' or 'on'
6 endpoints auto-detected
Authentication
This API uses an API key, passed as the "api_key" query parameter. No OAuth required.
curl -X GET \
"https://free.gisgraphy.com/addressparser/parse?api_key=YOUR_API_KEY"