Place IDs Stay organized with collections Save and categorize content based on your preferences.
AI-generated Key Takeaways
Place IDs are unique text identifiers for places in the Google Places database and are used across multiple Google Maps Platform APIs.
You can find a place's ID using the provided Place ID finder or by searching for the place using the Places API or Places library.
Place IDs can be stored for later use and should be refreshed if older than 12 months using a Place Details request.
Invalid or obsolete Place IDs result in
INVALID_REQUESTorNOT_FOUNDerror codes, respectively, and certain Place ID types are more prone to these errors.
Introduction
Place IDs uniquely identify a place in the Google Places database and on Google Maps. Place IDs are accepted in requests to the following Maps APIs:
- Retrieving an address for a Place ID in the Geocoding API and Geocoding Service, Maps JavaScript API.
- Specifying origin, destination and intermediate waypoints in the Routes API and Directions API (Legacy) and Directions Service, Maps JavaScript API (Legacy).
- Specifying origins and destinations in the Routes API and Distance Matrix API (Legacy) and Distance Matrix Service, Maps JavaScript API (Legacy).
- Retrieving Place Details in Places API (New), Places SDK for Android (New), Places SDK for iOS (New), and Places Library.
- Using Place ID parameters in Maps Embed API.
- Retrieving search queries in Maps URLs.
- Displaying speed limits in Roads API.
- Finding and styling boundary polygons in data-driven styling for boundaries.
Find the ID of a particular place
Are you looking for the place ID of a specific place? Use the place ID finder below to search for a place and get its ID:
Alternatively, you canview the place ID finder with its code in the Maps JavaScript API documentation.
Overview
A place ID is a textual identifier that uniquely identifies a place. The length of the identifier may vary (there is no maximum length for place IDs). Examples:
ChIJgUbEo8cfqokR5lP9_Wh_DaMGhIJQWDl0CIeQUARxks3icF8U8AEicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0EiGhIYChQKEgnRTo6ixx-qiRHo_bbmkCm7ZRANEicxMyBNYXJrZXQgU3QsIFdpbG1pbmd0b24sIE5DIDI4NDAxLCBVU0EIhoSGAoUChIJ0U6OoscfqokR6P225pApu2UQDQ
Place IDs are available for most locations, including businesses, landmarks, parks, and intersections. It is possible for the same place or location to have multiple different place IDs. Place IDs may change over time.
You can use the same place ID across the Places API and a number of Google Maps Platform APIs. For example, you can use the same place ID to reference a place in thePlaces API, theMaps JavaScript API, theGeocoding API, theMaps Embed API and theRoads API.
Retrieve place details using the place ID
A common way of using place IDs is to search for a place (using thePlaces API or thePlaces library in the Maps JavaScript API, for example) then use the returned place ID to retrieve place details. You can store the place ID and use it to retrieve the same place details later. Read aboutsaving place IDs below.
Example using the Places Library in the Maps JavaScript API
To use a place ID in your JavaScript app, you must first find the ID, which is available in thePlaceResult returned by aPlace Search, or bygetPlace() in thePlace Autocomplete (Legacy) service. Then you can use the place ID to look upplace details.
varmap;functioninitialize(){// Create a map centered in Pyrmont, Sydney (Australia).map=newgoogle.maps.Map(document.getElementById('map'),{center:{lat:-33.8666,lng:151.1958},zoom:15});// Search for Google's office in Australia.varrequest={location:map.getCenter(),radius:'500',query:'Google Sydney'};varservice=newgoogle.maps.places.PlacesService(map);service.textSearch(request,callback);}// Checks that the PlacesServiceStatus is OK, and adds a marker// using the place ID and location from the PlacesService.functioncallback(results,status){if(status==google.maps.places.PlacesServiceStatus.OK){varmarker=newgoogle.maps.Marker({map:map,place:{placeId:results[0].place_id,location:results[0].geometry.location}});}}google.maps.event.addDomListener(window,'load',initialize);
Save place IDs for later use
Place IDs areexempt from the caching restrictions stated inSection 3.2.3(b) of the Google Maps Platform Terms of Service. You can therefore store place ID values for later use.
Refresh stored place IDs
Because Place IDs may change due to updates on the Google Maps database, Google recommends refreshing place IDs if they are more than 12 months old. You can refresh Place IDsat no charge by making aPlace Details request,specifying only theplace_idfield in thefields parameter.
This call triggers thePlaces Details - ID Refresh SKU.
Error codes when using place IDs
INVALID_REQUEST
TheINVALID_REQUEST status code indicates that the specified place ID is not valid.INVALID_REQUEST may be returned when the place ID has been truncated or otherwise modified, and is no longer correct.
NOT_FOUND
TheNOT_FOUND status code indicates that the specified place ID is obsolete. A place ID may become obsolete if a business closes or moves to a new location. Place IDs may also change due to updates on the Google Maps database. In such cases, a place may receive a new place ID, and the old ID returns aNOT_FOUND response.
To refresh results in the event of an obsolete place ID, store the original request that returned each place ID and re-issue the request as needed. Note that there-issued request is billed at the appropriate SKU.
Some types of place IDs may sometimes cause aNOT_FOUND response, or the API may return a different place ID in the response. These place ID types include:
- Street addresses that don't exist in Google Maps as precise addresses, but are inferred from a range of addresses.
- Segments of a long route, where the request also specifies a city or locality.
- Intersections.
- Places with an address component of type
subpremise.
These IDs often take the form of a long string (there is no maximum lengthfor Place IDs). For example:
EpID4LC14LC_4LCo4LCv4LGN4LCo4LCX4LCw4LGNIC0g4LC44LGI4LCm4LGN4LCs4LC-4LCm4LGNIOCwsOCxi-CwoeCxjeCwoeCxgSAmIOCwteCwv-CwqOCwr-CxjSDgsKjgsJfgsLDgsY0g4LCu4LGG4LCv4LC_4LCo4LGNIOCwsOCxi-CwoeCxjeCwoeCxgSwg4LC14LC_4LCo4LCv4LGNIOCwqOCwl-CwsOCxjSDgsJXgsL7gsLLgsKjgsYAsIOCwsuCwleCxjeCwt-CxjeCwruCwv-CwqOCwl-CwsOCxjSDgsJXgsL7gsLLgsKjgsYAsIOCwuOCwsOCxguCwsOCxjSDgsKjgsJfgsLDgsY0g4LC14LGG4LC44LGN4LCf4LGNLCDgsLjgsK_gsYDgsKbgsL7gsKzgsL7gsKbgsY0sIOCwueCxiOCwpuCwsOCwvuCwrOCwvuCwpuCxjSwg4LCk4LGG4LCy4LCC4LCX4LC-4LCjIDUwMDA1OSwg4LCt4LC-4LCw4LCk4LCm4LGH4LC24LCCImYiZAoUChIJ31l5uGWYyzsR9zY2qk9lDiASFAoSCd9ZebhlmMs7Efc2NqpPZQ4gGhQKEglDz61OZpjLOxHgDJCFY-o1qBoUChIJi37TW2-YyzsRr_uv50r7tdEiCg1MwFcKFS_dyy4
Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-10-31 UTC.