This document describes the REST API for linkaGoGo. With this API, third-party applications can query and modify linkaGoGo bookmarks and folders.
The API is based on the principles of REST.
The API uses a small set of HTTP operations for its functionality. The operations are GET (retrieve), POST(create), PUT(update) and DELETE(delete). These operations can be applied on Folders and Bookmarks.
The HTTP methods GET, POST, PUT and DELETE can be applied to these URIs. Here a table that describes what each of the methods do when applied to a URI.
Method | Description |
---|---|
.../folder/{folder_id} | |
GET | Returns the XML that represent the folder |
POST | Creates a bookmark or folder in the folder based on the XML that is in the request |
PUT | Updates the folder based on the XML that is in the request |
DELETE | Delete the folder |
.../folderitems/{folder_id} | |
GET | Returns the XML that represent list of subfolder and bookmarks in the folder |
.../bookmark/{bookmark_id} | |
GET | Returns the XML that represent the bookmark |
PUT | Updates the bookmark based on the XML that is in the request |
DELETE | Deletes the bookmark |
.../favorites | |
GET | Returns the XML that represent list the favorite bookmarks of the user |
.../added | |
GET | Returns the XML that represent the last 20 bookmarks that have been added. |
.../popular | |
GET | Returns the XML that represent the 20 most visited bookmarks. |
.../recent | |
GET | Returns the XML that represent the 20 most recent visited bookmarks. |
.../reminders | |
GET | Returns the XML that represent the active reminder bookmarks. |
.../search?search={search string} | |
GET | Returns the XML with folders and bookmarks that are found. |
<xbel> <folder public="yes"> <title>My Business folder</title> </folder> </xbel>
All the XML fragments have the outer <xbel> tag. public is an attribute. folder and title are tags.
Name | Description |
---|---|
.../folder/{folder_id} | |
Returns one <folder> tag containing: | |
title | tag containing the name of the folder |
desc | tag containing the description of the folder |
uri | attribute with the uri for the folder |
contents | attribute with the folderitems uri for the folder |
parent | attribute with the parentfolder uri for the folder |
public | attribute indicating whether a folder is public(yes/no) |
recursive | attribute indicating that subfolder should be set to the public value (yes/no). (Only valid with a PUT request containing the public attribute) |
added | attribute with the creation date of the folder |
.../folderitems/{folder_id} | |
Returns one or more <folder> and <bookmark> tags containing: | |
title | tag containing the name of the folder/bookmark |
uri | attribute with the uri for the folder/bookmark |
contents | attribute with the folderitems uri for the folder (folder only) |
parent | attribute with the parentfolder uri for the folder/bookmark |
redirect | attribute indicating the redirect url for the website. Use this url to update linkaGoGo visit statistics for a website (See also href). Preferred for visiting a website (bookmark only) |
href | attribute indicating the url for the website. Use this url to directly go to the website. (See also redirect). Use redirect url to visit the site (bookmark only) |
.../bookmark/{bookmark_id} | |
Returns one <bookmark> tag containing: | |
title | tag containing the name of the bookmark |
desc | tag containing the description of the bookmark |
keywords | tag containing the keywords of the bookmark |
uri | attribute with the uri for the bookmark |
parent | attribute with the parentfolder uri for the bookmark |
redirect | attribute indicating the redirect url for the website. Use this url to update linkaGoGo visit statistics for a website (See also href). Preferred for visiting a website |
href | attribute indicating the url for the website. Use this url to directly go to the website. (See also redirect). Use redirect url to visit the site |
favorite | attribute indicating whether a bookmark is a favorite (yes/no) |
added | attribute with the creation date of the bookmark |
changed | attribute with the date the bookmark was last changed |
visited | attribute with the date the bookmark was last visited |
visits | attribute with the number of visits for this bookmark |
reminder | attribute indicating the reminder type |
rss | attribute indicating the rss url for the bookmark |
image | attribute indicating the image url for the bookmark |
smarturl | attribute indicating the smart url for the bookmark |
alias | attribute indicating the alias for the bookmark |
rating | attribute indicating the rating for the bookmark (1-5) |
To access the API you need to authenticate with your linkaGoGo account-name and password. When you access the API through your browser you will automatically get a login dialog. The API supports the HTTP Basic and Digest authentication methods. Digest is much safer then Basic, as it doesn't send your password over the Internet. See the HTTP Authentication specification RFC 2617 for more details.
You can also use SSL to access the API. Just use the https// prefix. Note all returning uri will have https:// protocol prefixes.
For now we have a sample on how to use the API using the browser. The samples show how to query folders and bookmarks.
More useful applications are written with languages such as Java, C, C++, PHP, Javascript, Ajax etc.
If you are a plugin developer for the Firefox, Internet Explorer or Google SidePanels you can use the API to build / replace a linkaGoGo powered bookmark manager. Other ideas could be a Windows Explorer like application for browsing your bookmarks. Or you can integrate linkaGoGo bookmarking in your Custom solution. Note we provide lucrative discounts for subscription resellers. Contact us at [email protected]
First get the contents of the root folder:
http://www.linkagogo.com/api/rest/private/folderitems
Note the browser will prompt for the linkagogo username and password.
Get the contents of a subfolder. Copy the content attribute of one of the folders in your clipboard, then paste it in the browser address bar:
http://www.linkagogo.com/api/rest/private/folderitems/{folder_id}
Get the properties of the subfolder. Copy the uri value of one of the folders in your clipboard, then paste it in the browser address bar:
http://www.linkagogo.com/api/rest/private/folder/{folder_id}
Get the properties of a bookmark. Copy the uri value of one of the bookmarks in your clipboard, then paste it in the browser address bar:
http://www.linkagogo.com/api/rest/private/bookmark/{bookmark_id}
Visit the bookmark's website. Copy the redirect attribute of one of the bookmarks in your clipboard, then paste it in the browser address bar:
http://www.linkagogo.com/go/To?url={bookmark_id}
Note the website should appear.
Now get the properties of the bookmark again. Copy the uri value of the bookmarks in your clipboard, then paste it in the browser address bar:
http://www.linkagogo.com/api/rest/private/bookmark/{bookmark_id}
Note the visits and last_visited attributes are now updated.
LinkaGoGo Browser, an example of using the linkaGoGo Web API and stylesheets. See here the xslt source.
LinkaGoGo Organizer. A small application to quickly organize your folders and bookmarks. Drag or bookmark the link LinkaGoGo Organizer into your Links / Bookmarks toolbar for easy and quick access.
lggrem2rss, is a python script for converting linkaGoGo reminders into an RSS feed. The script retrieves your reminders through the linkaGoGo Web API and then converts them into an RSS file, which can then be hosted on your webserver. It also describes how you can run the script on a regular basis using a cron job. A nice example on how to access the linkaGoGo WEB API from Python. Provided by Broobles