Twitter Libraries

These libraries, while not necessarily built or tested by Twitter, should support the current Twitter API.

Libraries built and maintained by Twitter

Java

  • hbc — A Java HTTP client for consuming Twitter’s Streaming API
  • twitter-kit-android — Twitter Kit is a multi-module gradle project containing several Twitter SDKs including TweetComposer, TwitterCore, and TweetUi. It is built on the Fabric platform and uses many shared components.

Libraries built for the Twitter Platform

Multi-platform

  • Tembooby @temboo — Framework for working with Twitter via many platforms including iOS, Android, Java, PHP, Python, Ruby, and Node.js

ASP

  • asptwitter by @timacheson — “the simplest possible way to implement Twitter within a classic ASP website”.

C++

  • twitcurl by @swatkatsrants — Twitcurl is a C++ twitter API library based on cURL.

Clojure

ColdFusion

.NET

  • LINQ2Twitter by @joemayo (examples)
  • Spring.NET Social extension for Twitter by SpringSource — A Spring.NET Social extension with connection support and an API binding for Twitter.
  • TweetSharp by @danielcrenna — A .net library for Twitter API access
  • Tweetinvi maintained by Linvi — a Twitter .Net C# API which has for mission to simplify the development of application for Twitter in C#. The streaming API has been used on research projects and collected around 3.2 million Tweets a day. The Twitter API has been created to be easy to implement new functionality and currently provide access to most of the functionalities. (documentation)
  • Crafted.Twitter by @martbrow — A caching compatible solution - with implementations for both ASP.Net Web Forms and MVC. Making it easy to include Tweets in your website.

Go

  • twittergo by @kurrik (examples) — a library for accessing Twitter’s REST API.
  • go-twitter by @dghubble (examples) — Go package for the Twitter REST and Streaming APIs. Agnostic to oauth clients and Transports.
  • Anaconda by @chimeracoder — a Go package for accessing the Twitter API. API queries are provided as methods returning native Go structs which can be used immediately, with no need for type assertions.

Java

  • Twitter4J by @yusuke — a Twitter API library (Java platform v1.4.2, Android and GAE ready)

Javascript / node.js

Reminder: It is strongly discouraged to use OAuth 1.0A with client-side Javascript.

Objective-C

  • STTwitter by @nst021 — A lightweight Objective-C wrapper for Twitter REST API 1.1; supports app-only auth
  • FHSTwitterEngine by @natesymer — A simple synchronous Objective-C Twitter engine.

Perl

PHP

  • tmhOAuth by @themattharris (examples)
  • twitteroauth by @abraham
  • 140dev Twitter Framework by @140dev — The goal of this open source framework is to provide a greatly simplified interface to the Twitter Streaming API. The current version provides a tweet aggregation database, and a plugin for tweet display on any Web page. The framework is written in PHP and Javascript, and uses the MySQL database for storage. The Phirehose library is used for the connection to the Streaming API. The extensive documentation supplied with this library makes it an educational tool for anyone new to tweet aggregation and display on a website.
  • Twitter API: Engagement Programming by @140dev — PHP Code examples from Adam Green’s book Twitter API: Engagement Programming.
  • codebird-php by @jublonet — a Twitter library in PHP. (documentation)
  • CodeIgniter-Twitter-Search-Library by @elliottlan — Search for certain tweets using keywords specified in a mysql database using the search api, streaming api or both at the same time. Written in php for codeigniter
  • freebird-php maintained by @corbanb — a app-only auth interface for PHP
  • PHP OAuth API maintained by @manuellemos — This is a PHP class that can implements OAuth authorization and call APIs with OAuth tokens. It also supports two-legged auth. (documentation) (examples)
  • Twitter-API-PHP maintained by @j7mbo — A very simple and actively maintained wrapper for the Twitter v1.1 REST API that utilises cURL for authenticated requests. Single file include, only a few methods to call - “as simple as you can get.” (examples)
  • TwitterOAuth by @Ricard0Per — a simple PHP library for API v1.1

Python

  • python-twitter maintained by @bear — this library provides a pure Python interface for the Twitter API (documentation)
  • tweepy maintained by @applepie & more — a Python wrapper for the Twitter API (documentation) (examples)
  • TweetPony by @Mezgrman — A Python library aimed at simplicity and flexibility.
  • Python Twitter Tools by @sixohsix — An extensive Python library for interfacing to the Twitter REST and streaming APIs (v1.0 and v1.1). Also features a command line Twitter client. Supports Python 2.6, 2.7, and 3.3+. (documentation)
  • twitter-gobject by @tchx84 — Allows you to access Twitter’s 1.1 REST API via a set of GObject based objects for easy integration with your GLib2 based code. (examples)
  • TwitterSearch by @crw_koepp — Python-based interface to the 1.1 Search API.
  • twython by @ryanmcgrath — Actively maintained, pure Python wrapper for the Twitter API. Supports both normal and streaming Twitter APIs. Supports all v1.1 endpoints, including dynamic functions so users can make use of endpoints not yet in the library. (docs)
  • TwitterAPI by @boxnumber03 — A REST and Streaming API wrapper that supports python 2.x and python 3.x, TwitterAPI also includes iterators for both API’s that are useful for processing streaming results as well as paged results.
  • Birdy by @sect2k — “a super awesome Twitter API client for Python”

Ruby

  • twitter by @sferik — A Ruby interface to the Twitter API (docs, examples).
  • twitter-ads by @brandonmblack and others — A Twitter supported and maintained Ads API SDK for Ruby. (docs, examples).
  • twitter-console by @twoism — a command line console for interacting with the Twitter API. Built on top of the Twitter gem.
  • tweetstream by @anno & @mbleigh — A Ruby library for interacting with all of Twitter’s Streaming APIs including User Streams and Site Streams

Libraries built for HTTP with OAuth that should also work with Twitter

API v1.1 requires stricter observance of HTTP 1.1 and OAuth 1.0A. Most libraries that already supported HTTP 1.1 and OAuth 1.0A should work without issue with API v1.1, provided that the library allows you to explicitly declare the URLs you’re executing. Libraries providing an ORM or other abstract interface to the API may require additional modification to work with API v1.1.

Multi-platform

  • OAuth.ioby @oauth_io — Framework for working with Twitter OAuth in iOS, Android, Phonegap JavaScript, PHP, and Node.js

C

  • libOAuth by Robin Gareus — a collection of POSIX-C functions implementing OAuth

.NET

  • DotNetOpenAuth by Andrew Arnott — an OpenID, OAuth and InfoCard library
  • hammock2 by @danielcrenna — an HTTP API client supporting OAuth authentication.
  • Spring.NET Social by @SpringForNet — Spring.NET REST Client extension supporting OAuth authentication (docs) (examples)

Erlang

Java

  • Scribe by @fernandezpablo — an OAuth library

Javascript / node.js

Reminder: It is strongly discouraged to use OAuth 1.0A with client-side Javascript.

  • noauth by @B2arN — a node.js library for OAuth 1.0A

Qt

  • o2 by Akos Polster and Mandeep Sandhu — This library encapsulates the OAuth 1.0 and 2.0 client authentication flows, and the sending of authenticated HTTP requests. It supports OAuth 1.0 , 2.0 and Twitter XAuth. It also has some handy specializations for working with Facebook, Dropbox, Flickr, Skydrive and Google fusion tables.

Ruby

T-SQL

  • sqlsharp by @sqlsharp — a SQLCLR-based library of Functions and Stored Procedures, several of which are direct links to the Twitter API. SQL# works with only Microsoft SQL Server 2005 and newer.

VBScript

  • VBScriptOAuth by @sdesapio — a library to perform OAuth in VBScript, including examples of Twitter.

Inclusion in the Twitter Libraries is not an endorsement or recommendation of those organizations by Twitter. In addition, such inclusion is not intended to imply, directly or indirectly, that those organizations endorse or have any affiliation with Twitter.