Exploring APIs for likes and bookmarks
Tags: api, bookmarks
Published: 2018-08-05 07:01:34

---
title: "Exploring APIs for likes and bookmarks"
published: true
description: 
tags: API, bookmarks
---

I [built a service](https://waytab.io/) that reminds people of things they’ve liked or bookmarked (tweets, repos, articles, pictures, etc). Here are notes exploring some APIs for these data.

### Twitter (likes)
- First love. I’ve built many things on Twitter’s API. I’ve also been burnt many times, but then, what’s a bookmark reminder tool without Twitter likes?
- API still on OAuth 1.0a. All other services I reviewed are on OAuth 2.0.
- By the way, Twitter now has [bookmarks](https://blog.twitter.com/official/en_us/topics/product/2018/an-easier-way-to-save-and-share-tweets.html) but I doubt people really use it in place of “Like”. One idea is to also allow people connect their Twitter bookmarks to Waytab. Unfortunately, Twitter doesn’t have an API for it as at writing this. (And I doubt they will).

### Unsplash (likes)
- Photo resources come with  `color` value that represents the dominant colour of the photo. This is useful in many ways. An example is using this as background colour while loading photo.
- App needs to be submitted for review. Process is smooth if you adhere to their use policy though.

### Pocket (unread articles)
- Unlike other OAuth 2.0 APIs, requests requires your `consumer_key` alongside the `access_token`. 
- What’s also weird is that the HTTP method for getting [unread] articles is `POST`.

### Github (starred repos)
- Only issue I have with Github is that only one authorisation callback URL is allowed. This means to test locally, I have to create a separate app that can have a localhost callback URL.

### Pinterest (user pins)
- All authorisation callback URL must be on SSL including localhost. Easier thing to do is to use an app like ngrok to tunnel to your localhost.
- App needs to be submitted for review. 

## The services that didn’t make it:

### Pinboard (bookmarks)
- I wanted to include at least one bookmark service. Pinboard was the one that came to mind (what are the others people use these days?). Unfortunately, the API is non OAuth so I dropped it. I can’t deal with handling user passwords.

### Youtube (watch later)
- Youtube deprecated their watch later API. As that’s the most interesting list for me, I dropped adding the service. I may add “liked videos” later but only if I get considerable request for it. Another list that may be interesting is unwatched videos from subscribed channels. I am yet to find a way to pull that though.

### Dribbble (likes)
- Dribble is [not granting access to their like API](https://twitter.com/dribbbleapi/status/1004095087360397312) at the moment :/ 

### Spotify (likes)
- I will have to create a “commercial app” on Spotify. (“if… your app or product charges a fee to purchase, promotes using ads or utilizes a freemium model for upsells; you are legally protected as a corporate entity or company”). As there was no clear cost implication, I dropped it.

### Instagram (likes)
- Instagram’s API is so messed up at the moment. It’s a big no-no for now. Plus nothing in the Facebook documentation talks about likes.