Terms and Conditions Google Maps: Can I store lat/lng and address components?

There is no problem if you store

  • latitude and longitude
  • addresses

As those would be "user preferences" in your app.

The restrictions on data export refer to the tiles and photos used to display the maps. In general people want this feature to have a cache mechanism or provide offline functionality. This is not allowed* and only the official mobile app has this features.

*Google actually allows it, but you have to read the finer print, more on that below.

Longer answer, analyzing the ToC:

No Pre-Fetching, Caching, or Storage of Content. You must not pre-fetch, cache, or store any Content...

What does content mean? This is map tiles, terrain tiles, photos of places, satellite photos etc. The content, in the ToC, is anything that has been created by Google and provided as part of the Google map service. But, not everything provided in the service has been created nor is owned by Google.

  • Addresses are not created or owned by Google, this is public information. What Google has done is to gather them and put them in a presentable, easy to search, interface. But it is not part of "the content".
  • GPS locations are not created or owned by Google, this is public information as well. In fact, GPS was created by the department of defense (DoD) in the US. They are the ones who control its use.

...For example, you must not use the Content to create an independent database of "places" or other local listings information.

It wouldn't be fair to Google if you downloaded a subset of the content, lets say all the tiles and photos for your home town. Once you have your copy of the files, you do a little processing on them, maybe add trivia or fun facts that only you know because you grew up there. And then use that to provide a re-branded service. Something called JimboMaps perhaps. That is the type of thing that is prohibited.

you may store: (i) limited amounts of Content for the purpose of improving the performance of your Maps API Implementation if you do so temporarily

Guess what, you are actually allowed to store content in you database. Any of it, photos, tiles etc. The catch is:

  • You can store limited amounts. A few blocks, probably a small region is ok. But don't store a whole town or suburb.
  • You can't store anything for more than 30 days.
  • The only valid reason to do this is performance improvement of your application. See this: Google Maps v3 - Map tile caching on client?

...you must not use the Content to create an independent database of "places" or other local listings information.

It is just saying that you are not allowed to create JimboMaps.


The newest Google Maps Platform Terms of Service (which takes effect July 16, 2018) is a bit more explicit about this.

3.2.4 Restrictions Against Misusing the Services.

(a) No Scraping. Customer will not extract, export, or scrape Google Maps Content for use outside the Services. For example, Customer will not:(i) pre-fetch, cache, index, or store Google Maps Content for more than 30 days; (ii) bulk download geocodes; or (iii) copy business names, addresses, or user reviews.

Yes, the address might be public knowledge, but the process to obtain it is subject to the terms of the service you use...


This is from Google's Developer pages:

https://developers.google.com/maps/articles/geocodestrat

*Caching Considerations

The Google Maps API allows you to cache geocodes (i.e. store them on your server for a limited period). Caching can be useful if you have to repeatedly look up the same address. However, there are two important things to keep in mind. 1.The Google Maps API Terms of Service allow you to use geocodes derived from the service on Google Maps or Google Earth only. You may not sell or distribute them in other fashion. 2.Geocoding changes often as our data gets more and more accurate. So even if you have cached data, you should refresh it periodically, to make sure you are getting the best geocodes for your locations.

The Google Maps API for Flash requires the use of API keys. Many people mistakenly think quotas are tied to keys. However, keys don't affect your geocoding quota at all. Registering for a new key won't help. Quota is solely tied to IP addresses. Therefore a new key won't give you any more quota at a particular IP address.*