Many Web 2.0 applications are built on top of a Web API. This technology allows for rich and versatile communication between browser and web site or between two web sites. Google is a leader in the publication of its services through public interfaces such as the ones for Search, Google Maps, Picasa, Calendar and many others, which you can read about in their Google Code web site. However, they have not yet published an API for Google Boomarks. Several people have tried to reverse engineer Google Bookmarks, and bookmarked.mobi has collected here the information that was previously scattered over the internet, plus some of our own.
We have organized this page in terms of the actions that can be performed with this API. All actions require the user to be logged in to his or her Google account. POST actions require a ...&sig=... parameter with the signature key.
The zx parameter with a random unique value is recommened for GET and POST requests as a proxy cache defeater, but it is not really required. Here's an example: ...&zx=hihi40f1q5g1MA...
Create one bookmark
Method: POST
Address: http://www.google.com/bookmarks/mark
Form fields:
title= title
annotation= notes
labels= comma-separated list of labels
Hidden form fields:
sig= valid sig key
Landing page: a page with all the bookmarks created so far.
Edit one bookmark
Start creation of a bookmark
bkmk= url
title= title
annotation= notes
labels= comma separated list of labels
Upload an XML file with all bookmarks
We have created a page with an example of such a form: the Google Bookmarks API XML Upload Form.
Lookup one record given a certain criteria
XML Data Access
RSS Data Access
"Bookmarks File" data access
Limitations of the Google Bookmarks API
- Neither of the authentication methods recognized by Google (OAuth and AuthSub) apply to Google Bookmarks access.
- To get the XML with all bookmarks, the GET request has to have the appropriate Cookies set by (and for) the google.com domain. These cookies are not available (for writing by or reading to) the mobile web app domain.
- Getting all the bookmarks at once may be slow on a mobile device. What is needed is to get just the labels first, but there is no known URL for this.
- It is not possible to use the Google AJAX Feed API for Google Bookmarks, because Google AJAX Feed API works only with public feeds.
- As far as we can tell, it is not possible to use an iFrame to get the XML because the iFrem GET request also doesn't carry the google.com cookies.
- The POST action to add/edit a bookmark requires a sig parameter, which, as far as we can tell, is only available for not just "registered" but also "secure" appplications.