The Geolocation API is a service that accepts an HTTPS request with the
cell tower and WiFi access points that a mobile client can detect. It returns
latitude/longitude coordinates and a radius indicating the accuracy of the
result for each valid input.
Why use the Geolocation API
Use the Geolocation API to locate mobile devices that do not provide native geolocation
features.
What you can do with the Geolocation API
With the Geolocation API, you can use geospatial data from cell towers
and WiFi nodes to get the location of a device that does not have native geolocation or GPS.
How the Geolocation API works
The Geolocation API uses cellular device data fields, cell tower
data, and WiFi access point array data to return latitude/longitude coordinates and an accuracy
radius. It accepts an HTTPS POST request to its endpoint along with a JSON structured request
body. The following example shows the request URL and an example request body:
curl -X POST "https://www.googleapis.com/geolocation/v1/geolocate?key=
YOUR_API_KEY
" \
-H "Content-Type: application/json" \
-d \
'{ "homeMobileCountryCode":310,
"homeMobileNetworkCode":410,
"radioType":"gsm",
"carrier":"Vodafone",
"considerIp":true
}'
The API can return data for a number of common cellular data fields as indicated below.
Resources
The following table summarizes the fields in the request body of the geolocation endpoint
call, along with the type of data provided from such queries.
Data resources
|
Data returned
|
Return format
|
Cell device data fields
such as carrier, device, and network information.
|
Latitude/longitude coordinates and an accuracy radius
|
JSON
|
Cell tower data
,
such as location area code and mobile country codes.
|
WiFi access points data
,
such as MAC address and signal strength.
|
How to use the Geolocation API
1
|
Get set up
|
Start with
Set up your Google Cloud project
and complete the setup instructions that follow.
|
2
|
Try a geolocation request
|
Once you have an API key, you can start testing out the Geolocation API using cURL or
Postman. See
Sample requests
in the
Geolocation requests and response
guide for details.
|
3
|
Get the cellID from different radio towers
|
See
Calculating cellID
and
Calculating newRadioCellID
to get access to older and newer towers, respectively.
|
4
|
Understand response basics
|
Explore the geolocation data responses to prepare to use elevation data for your app. See
Geolocation responses
for details.
|
Available client libraries
Call this API in the language of
your choice through one of the following client libraries:
The Java Client, Python Client, Go Client and Node.js Client for Google Maps
Services are community-supported client libraries, open sourced under the
Apache 2.0 License
.
Download them from GitHub, where you can also find installation instructions and sample code.
What's next