the three (and half) ways to google hides its streetview coverage
written on 2025-12-02, last updated 2025-12-02
google maps has a lot of imagery available. according to their own website, over 220 billion images have been captured as of 2022. since this data is 3 years old, and they have been driving a lot since, it's safe to say that those numbers are much higher now.
i am not google, and i certainly don't have access to their entire database, but i do happen to maintain a coverage date database of my own. as of the time of writing, this consists of 25.97 million locations with a total of 70.53 million panoramas, and while it looks quite detailed, if you look at individual cities, you can quickly notice that it's barely scratching the surface:
this is to say: google has an enormous amount of streetview coverage. but, somehow, there is even more that is not normally visible on google maps. as far as i am aware, these fall into 5 main categories, so let's look through them one by one.
option 1: oops, all lampedusa
the first type of "hidden" coverage is one where google barely even makes an effort to hide these locations. they are accessible by anyone, either from google maps' website, or using getPanorama() in the street view service api. notably, however, they don't have the usual "blue lines" rendered - so, unless you know that it exists, you can only find it by randomly clicking around (or, more likely, bombaring getPanorama() with random coordinates). this happens in three situations:
- when new coverage gets uploaded, the panoramas become accessible a couple hours (or even days) before google renders the blue lines,
- when a road gets edited, google has to rerender the blue lines, but the panos remain accessible,
- when it's lampedusa.
indeed, if you look at the island of lampedusa, it will appear that there is no streetview coverage, only a handful of boat trekkers. but if you click on just about any road with the streetview overlay enabled, you will find yourself in a perfectly normal streetview pano.
as it turns out, for the case of lampedusa, this is due to a timekeeping error: if you look at the coverage on the google maps website, it will not display a date at all, but if you examine it through a third-party tool like map-making.app, or use getPanorama(), it will show it as december 1899. in other words, the date data is missing.
all in all, this is somewhat interesting, but nothing particularly crazy. if you ever suspect that an area is getting new coverage, or you find out about a second place getting the lampedusa treatment, you can use a tool like map-generator to find this coverage, or even just use the normal streetview api to search for things yourself.
option 2: felt cute, might delete later
the second category of hidden coverage is quite a bit more fascinating: imagery that is only accessible via the photometa endpoint of google streetview.
this is quite a fascinating endpoint indeed - on google maps, its only usage (that i am aware of) is to enable users to zoom in on streetview coverage in globe mode. however, for our purposes, it offers something quite interesting: a list of all panos on a given tile at zoom level 17.
the technical details: the endpoint at https://www.google.com/maps/photometa/ac/v1?pb=!1m1!1s{source}!6m3!1i{x}!2i{y}!3i{z}!8b1 lists every pano at a given x,y,z tile - but only if z is 17 (for some reason) (source can be freely set, on google maps, it's maps_ssv.tactile). the end result is a json-encoded protobuf with some additional data on line 1 (similar to the one in my coverage dates post, although formatted completely differently). i will spare you the exact details of its format (check out the protobuf description!), but the crucial thing is that at the index [1][1][n][0][0][1] (for any n), you find a valid pano id (a unique identifier of each panorama) for this tile.
with the limitation of zoom level being forcably set to 17, and with the world is broken into 2z*2z tiles on any zoom level z, we are looking at 131072x131072 tiles here - while i have not tested it, i highly doubt that google would be particularly happy to find someone sending 17,179,869,184 requests to their server. however, what it is useful for is discovering coverage that we know is supposed to exist, but cannot be found using the above method.
does this ever happen? well, yes. for instance, when google decided to delete coverage that was more than 25 metres away from a road, several nigeria panos were accessible this way. similarly, vietnam was accessible like this for several months after it got deleted (and before it got re-added). all the panos that you can only find like this will go away sooner or later, so make sure to save them if you like them.
there is also a small caveat with this method: if a tile has precisely one panorama, this endpoint glitches, and doesn't show any panos, and it also does not show trekker and tripod coverage (or coverage marked as trekkers, such as a lot of south korea coverage).
option 3: into the unknown
and now we get to the final boss of google coverage: images that are only accessible if you know their pano id. what does this mean exactly? well, not only do the 2 methods above fail to find this imagery, but, in fact, it's pretty much impossible (as far as we know) to find these images simply. normally, you can load an image just by supplying streetview its coordinates, but these ones are special - you need to also supply their unique panorama id in order to load them. if you want to read more about pano id's, i recommend this blogpost from my friend ReAnna.
as far as i'm aware, this only ever happens for coverage marked as trekkers, however, unlike in the case of option 2, these images don't actually get deleted, they just remain hidden forever. this is further broken down into two subcategories:
option 3a: not artsy and uncultured
the first offender for hidden coverage is google arts and culture. this is a collection which allows you to explore museums, theatres, and other culturally significant places. some (but not all) of these places also have streetview coverage attached to them. in most cases, this attached streetview coverage shows up on the google maps website, but sometimes, it is completely inaccessible.
if it's completely inaccessible, how do we find it? pretty simple: the coverage is embedded into the google arts and culture page, so we can get the pano ids as follows (code on my github):
- query the https://artsandculture.google.com/api/assets/streetview endpoint with the following parameters:
{ "q": "the string you are querying. leave it empty to find everything", "s": "100", "hl": "en-GB", "_reqid": "request id (9 digit random number)", "rt": "j", "pt": "pagination token (or empty string for the first page)" } - parse the resulting json-encoded protobuf with my protobuf definition
- get the pano id from the preview entry of each item (which is a URL whose pano param will contain the pano id)
- validate the locations and (optionally) ensure unclickability using the normal js api
as of the time of writing, this leaves us with 796 completely unaccessible locations (out of the 6070 on google arts and culture). most are uninteresting, primarily indoor views of museums (you can import my json file into map-making.app to see for yourself), but there are a few cool ones. my five favourites are:
- a small part of kabul
- the walled city of lahore
- the great wall of china
- cool statues around the tippet rise arts center in montana
- cheongju early printing museum
option 3b: a complete unknown
and finally, the most fun (and perhaps most annoying) of them all: completely random coverage that is only findable by pano id.
what i mean is: much like the arts and culture coverage, you cannot load this without knowing the pano id - but it's not listed in a common place. sometimes, you can click your way into it from existing coverage (it happens in mongolia), but quite often, you can only find it via links on old blogs.
what examples do we know of?
- gen 2 svalbard coverage. from an old blog called google sightseeing (the links are broken in the post, but will work if you change
googlesightseeing.comtogoogle.com, found by ananananah - several snowmobile trekkers (1, 2) in norway, published together with gen 2 svalbard, found by Tobetelogi
- spain snowmobile trekker, likely published with the other 2, also from Tobetelogi
- parts of the senjit trekker in mongolia, from Arctic94
- the estonia ice road, from this google europe blogpost, found by Arctic94
are there more examples? almost certainly. do i know how to find them besides "stumble onto them from random old blogposts"? absolutely not. sadly, 22-character panoids are way too large to reliably generate, and there is no known system to them, so this is the best we've got. if you have any more, feel free to send them my way.