Instapaper API
Node.js client for the Instapaper API.
Work in progress!
Installation
$ npm i instapaper
Quick example
var Instapaper = ;var client = ;client;// Load a list of bookmarks using promises...clientbookmarks;// ...or regular callbacksclientbookmarks;
Authentication
The Instapaper API uses xAuth, which requires that you first register for API usage here. When your registration has been approved, you will receive a "consumer key" and "consumer secret", which you pass to the Instapaper
constructor (see below).
You also need either:
- a username and password belonging to the user on whose behalf you want to manage Instapaper;
- or, an OAuth token and secret from a previous authentication round.
You should never store the username/password locally. Instead, after you've used them to get an OAuth token/secret pair, use those instead.
Usage:
Constructor
var client = ;
OPTIONS
is an optional object that may contain the following properties:
apiUrl : String // Instapaper API URL prefix (default: 'https://www.instapaper.com/api/1')
logLevel : String // log level (default: 'info')
Authentication
Set user credentials
client.setUserCredentials(USERNAME : String, PASSWORD : String) : client
Set OAuth credentials
client.setOAuthCredentials(TOKEN : String, SECRET : String) : client
Authenticate
client.authenticate() : Promise
All regular API methods call this method implicitly. However, if you want to retrieve the OAuth credentials you can use this method to do so:
client.authenticate().then(function(oauth) {
// { token : '...', secret : '...' }
});
Verify credentials
This can be used to verify that authenticating as the user was successful.
client.verifyCredentials() : Promise
Bookmarks management
Please refer to the API documentation for valid parameters and response formats.
client.bookmarks.list(PARAMS) : Promise
client.bookmarks.delete(BOOKMARK_ID) : Promise
client.bookmarks.star(BOOKMARK_ID) : Promise
client.bookmarks.unstar(BOOKMARK_ID) : Promise
client.bookmarks.archive(BOOKMARK_ID) : Promise
client.bookmarks.unarchive(BOOKMARK_ID) : Promise
Folder management
TBD.
Terms of use
Please read the Instapaper API Terms of Use before using this API client.
AUTHOR
Robert Klep <robert@klep.name>
LICENCE
See LICENSE.md.