Fetching contributors…
Cannot retrieve contributors at this time
88 lines (62 sloc) 2.62 KB

Asynchronous Twitter client API for node.js

node-twitter aims to provide a complete, asynchronous client library for Twitter (and other compliant endpoints), including REST, stream and search APIs. It was inspired by, and uses some code from, technoweenie's twitter-node.


You can install node-twitter and its dependencies with npm: npm install twitter.

Getting started

It's early days for node-twitter, so I'm going to assume a fair amount of knowledge for the moment. Better documentation to come as we head towards a stable release.

Setup API (stable)

var sys = require('sys'),
    twitter = require('twitter');
var twit = new twitter({
	consumer_key: 'STATE YOUR NAME',
	consumer_secret: 'STATE YOUR NAME',
	access_token_key: 'STATE YOUR NAME',
	access_token_secret: 'STATE YOUR NAME'

Basic OAuth-enticated GET/POST API (stable)

The convenience APIs aren't finished, but you can get started with the basics:

twit.get('/statuses/show/27593302936.json', {include_entities:true}, function(data) {

REST API (unstable, may change)

Note that all functions may be chained:

	.verifyCredentials(function (data) {
		{ status: 'Test tweet from node-twitter/' + twitter.VERSION },
		function (data) {

Search API (unstable, may change)'nodejs OR #node', function(data) {

Streaming API (stable)

The stream() callback receives a Stream-like EventEmitter:'statuses/sample', function(stream) {
	stream.on('data', function (data) {

node-twitter also supports user and site streams:'user', {track:'nodejs'}, function(stream) {
	stream.on('data', function (data) {
	// Disconnect stream after five seconds
	setTimeout(stream.destroy, 5000);



  • Provide helper functions for Twitter OAuth-entication transaction
  • Complete the convenience functions, preferably generated
  • Support recommended reconnection behaviour for the streaming APIs
  • Should probably implement basic auth for non-Twitter endpoints