
Ask HN: How Google APIs Work? - kujaomega
For curiosity I have decided to check how google APIs are done and understand them. I discovered some things but I&#x27;m not understanding much of them.<p>I have used the https:&#x2F;&#x2F;artsandculture.google.com&#x2F;search&#x2F;streetview?project=streetviews to check it. In the following words, I will write what catches my attention.<p>In their headers, they accept the following encoding: gzip, deflate, br. gzip and deflate, are some of the tipical old encodings of the web, but br is a format that uses the Brotli algorithm, a compression algorithm created by google with the initial release in 2013, that seems to have a higher compression rate.<p>They are also including a cookie for tracking.<p>But what really interest me, is the body of the data requested. This is the following body:<p>)]}&#x27;<p>[[[&quot;stella.pr&quot;,&quot;StreetViewAssetsQuery:6b2794d3-0346-4081-a42d-d7083ddb72a8&quot;,[[&quot;Trench \u0026 No-Man&#x27;s Land Displays&quot;,&quot;Kansas City, Estados Unidos&quot;,&quot;&#x2F;&#x2F;maps.googleapis.com&#x2F;maps&#x2F;api&#x2F;streetview?size\u003d400x300\u0026pano\u003dqdAuuOptcfIAAAQrBkpCZQ\u0026heading\u003d-166.0\u0026pitch\u003d-5.0\u0026sensor\u003dfalse\u0026client\u003dgoogle-cultural\u0026signature\u003d2iuo0SS-I4fm1_Wl6jB5HklBME4&quot;,&quot;&#x2F;streetview&#x2F;trench-no-man-s-land-displays-national-wwi-museum-and-memorial&#x2F;9AH8vCr07x69UQ&quot;,20,null,null,null,null,[&quot;9AH8vCr07x69UQ&quot;,1.3333334,null,null,null,null,null,[]
,null,&quot;0,0,0,0,0,0,0,0,0,0&quot;,0]
,null,null,null,null,null,null,[]
,null,null,null,[1,&quot;9AH8vCr07x69UQ&quot;]
,null,null,null,null,[]
]
,<p>...<p>,null,3452,null,null,null,&quot;CgUSA0NEQQ&quot;]
,[&quot;e&quot;,2,null,null,13754]
]]<p>This body structure is compressed and hard to understand. The points are that there are no keys in the body, so there are less Kb of unnecessary information. Is there any process of mapping this information to a more understable information? What&#x27;s the point of do this? Can make the developing process slower?
======
mtmail
> What's the point of do this? Can make the developing process slower?

It's not a public API and both server and client (their javascript library)
are written by the same company. The data isn't meant to be consused by
anybody else. And their terms of service probably doesn't allow it.

The public API is
[https://developers.google.com/maps/documentation/streetview/...](https://developers.google.com/maps/documentation/streetview/metadata)

