Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Build Status Coverage Status Dependency Status NPM


A Twitter Node Module to authenticate and interact with the Twitter REST API from NodeJS.


npm install twitter-node-client
var Twitter = require('twitter-node-client').Twitter;


You need to create a Twitter app to use the API.

	//Callback functions
	var error = function (err, response, body) {
    	console.log('ERROR [%s]', err);
	var success = function (data) {
    	console.log('Data [%s]', data);

	var Twitter = require('twitter-node-client').Twitter;

	//Get this data from your twitter apps dashboard
    	"consumerKey": "XXX",
    	"consumerSecret": "XXX",
    	"accessToken": "XXX",
    	"accessTokenSecret": "XXX",
    	"callBackUrl": "XXX"

	// make a directory in the root folder of your project called data
	// copy the node_modules/twitter-node-client/twitter_config file over into data/twitter_config`
	// Open `data/twitter_config` and supply your applications `consumerKey`, 'consumerSecret', 'accessToken', 'accessTokenSecret', 'callBackUrl' to the appropriate fields in your data/twitter_config file
    var twitter = new Twitter();
	//Example calls

	twitter.getUserTimeline({ screen_name: 'BoyCook', count: '10'}, error, success);
	twitter.getMentionsTimeline({ count: '10'}, error, success);
	twitter.getHomeTimeline({ count: '10'}, error, success);
	twitter.getReTweetsOfMe({ count: '10'}, error, success);
	twitter.getTweet({ id: '1111111111'}, error, success);

	// Get 10 tweets containing the hashtag haiku

	twitter.getSearch({'q':'#haiku','count': 10}, error, success);
	// Get 10 popular tweets with a positive attitude about a movie that is not scary 

	twitter.getSearch({'q':' movie -scary :) since:2013-12-27', 'count': 10, 'result\_type':'popular'}, error, success);

Twitter has a comprehensive REST api if you need to use something that doesn't have a wrapper function in the library call it directly :

	twitter.getCustomApiCall('/statuses/lookup.json',{ id: '412312323'}, error, success);
	twitter.postCustomApiCall('/direct_messages/new.json',{user_id: '1234', 'text':'This is easy.'}, error, success);

To get the list of expected parameters and results, check


Search Tweets. Docs

To learn how to use Twitter Search effectively read Using the Twitter Search API

	twitter.getSearch(parameters, errorCallback, successCallback);


Update user's status (Tweet). Docs
	twitter.postTweet(parameters, errorCallback, successCallback);


Follow another user by user_id or screen_name(handle). Docs
	twitter.postCreateFriendship(parameters, errorCallback, successCallback);


Get a user's timelineDocs
	twitter.getUserTimeline(parameters, errorCallback, successCallback);


Get the latest 20 recent mentions for the authenticating user. Docs
	twitter.getMentionsTimeline(parameters, errorCallback, successCallback);


Get the latest tweets and retweets by the authenticating users and the ones they follow. Docs
	twitter.getHomeTimeline(parameters, errorCallback, successCallback);


Get latest retweets of authenticated user. Docs
	twitter.getReTweetsOfMe(parameters, errorCallback, successCallback);


Get a tweet by id. Docs
	twitter.getTweet(parameters, errorCallback, successCallback);


Get information about a user by user_id or handle (screen_name). Docs
	twitter.getUser(parameters, errorCallback, successCallback);


Get a cursored collection of the followers of a user_id or a handle (screen_name). Docs
	twitter.getFollowersList(parameters, errorCallback, successCallback);


Get a cursored collection of the followers' ids of a user_id or a handle (screen_name). Docs
	twitter.getFollowersIds(parameters, errorCallback, successCallbackok);


Upload media (images) to Twitter. Docs
	twitter.postMedia(parameters, errorCallback, successCallback);


There is a test file TwitterITSpec.js that does a basic integration tests of the client. It uses a properties file test/spec/properties.json to inject in the OAuth properties. These will need to be updated with your own details before the tests will run

Running tests

make test


Twitter client written in JavaScript packaged as a node module







No packages published