readability-api

A Node wrapper for the Readability APIs

This is a Node client for the Readability API. It supports the Reader API, Parser API and Shortener API.

npm install readability-api

Or, in your package.json

{
    "dependencies": {
        "readability-api": "0.x"
    }
}

Initialize the client

var readability = require('readability-api');
 
readability.configure({
    consumer_key: 'some_consumer_key',
    consumer_secret: 'some_consumer_secret',
    parser_token: 'some_parser_token'
});

Retrieve an OAuth access token and access token secret for a user

readability.xauth('some_username', 'some_password', function (errtokens) {
  // Use tokens.oauth_token and tokens.oauth_token_secret when creating a Reader API client 
})

To use the Reader API, create a Reader object using an OAuth token and token secret

var reader = new readability.reader({
  access_token: 'some_access_token',
  access_token_secret: 'some_access_token_secret'
});
// Get information about the current user 
reader.user(function (erruser) {
  //... 
});
// Get all bookmarks - response contains both metadata (pagination etc.) and an array of bookmarks 
reader.bookmarks(options, function (errbookmarks) {
   //...  
});
 
// Get a bookmark by its id 
reader.bookmark('some_bookmark_id', function (errbookmark) {
   //...  
});
 
// Add a bookmark - returns the created bookmark 
reader.addBookmark('http://some.bookmark.url.com/article.html', function (errbookmark) {
   //...  
});
 
// Remove a bookmark - success is a boolean 
reader.removeBookmark('some_bookmark_id', function (errsuccess) {
   //...  
});
 
// Archive a bookmark - returns the archived bookmark 
reader.archiveBookmark('some_bookmark_id', function (errbookmark) {
   //...  
});
 
// Unarchive a bookmark - returns the bookmark 
reader.unarchiveBookmark('some_bookmark_id', function (errbookmark) {
   //...  
});
 
// Favourite a bookmark - returns the favourited bookmark 
reader.favouriteBookmark('some_bookmark_id', function (errbookmark) {
   //...  
});
 
// Unavourite a bookmark - returns the bookmark 
reader.unfavouriteBookmark('some_bookmark_id', function (errbookmark) {
   //...  
});
 
// Get all of the current user's tags - returns an array of tags 
reader.userTags(function (errtags) {
   //...  
});
 
// Get all of the tags for a bookmark - returns an array of tags 
reader.tags('some_bookmark_id', function (errtags) {
   //...  
});
 
// Add tags to a bookmark - returns an array of tags 
reader.addTags('some_bookmark_id', ['tag1', 'tag2', 'tag3'], function (errbookmark) {
    //... 
});
 
// Remove a tag from a bookmark - returns the bookmark 
reader.removeTag('some_bookmark_id', 'some_tag_id', function (errbookmark) {
   //...  
});
// Get a single article 
reader.article('some_article_id', function (errarticle) {
   //...  
});
// Create a parser object 
var parser = new readability.parser();
 
// Parse an article 
parser.parse('http://some.bookmark.url.com/article.html', function (errparsed) {
  //... 
});
 
// Get the Parser confidence level - returns a number between 0 and 1 
parser.confidence('http://some.bookmark.url.com/article.html', function (errconfidence) {
  //... 
});
// Create a shortener object 
var shortener = new readability.shortener()
 
// Create a short URL - returns the short URL as a string and additional URL data 
shortener.shorten('http://www.example.com/article.html', function(errshortUrldata) {
  //... 
});
 
// Get information about a short URL 
shortener.url('some_url_id', function(errurl) {
  //... 
});