Twitter is an information network and communication mechanism that produces more than 200 million tweets a day. The Twitter platform offers access to that corpus of data, via our APIs. Each API represents a facet of Twitter, and allows developers to build upon and extend their applications in new and creative ways. It's important to note that the Twitter APIs are constantly evolving, and developing on the Twitter Platform is not a one-off event.
Twitter for Websites (TfW) is a suite of products that enables websites to easily integrate Twitter. TfW is ideal for site developers looking to quickly and easily integrate very basic Twitter functions. This includes offerings like the Tweet button, which lets a user tweet about something she found engaging on your site to all of her friends. Her friends see that tweet, click through to your site, and some percentage of them will tweet that same content to their friends - a great distribution loop. Likewise, the Follow button allows a user to quickly follow your account back on Twitter. That particular user will then see updates from your account funneled back into her stream, creating a new channel of engagement with your user base.
The Search API designed for products looking to allow a user to query for Twitter content. This may include finding a set of tweets with specific keywords, finding tweets referencing a specific user, or finding tweets from a particular user. This API will also provide your product access to data around Trends. If you need to query the Search API at extreme velocities and are hitting rate limits, then you should be working with the Streaming API. The latter API is covered in detail below.
The REST API enables developers to access some of the core primitives of Twitter including timelines, status updates, and user information. If you're building application that leverages core Twitter objects, then this is the API for you. Imagine building a profile of a user: their name, their Twitter handle, their profile avatar, and the graph of people that they are following on Twitter - all with a few RESTful API calls. In addition to offering programmatic access to the timeline, status, and user objects, this API also enables developers a multitude of integration opportunities to interact with Twitter. Through the REST API, the user can create and post tweets back to Twitter, reply to tweets, favorite certain tweets, retweet other tweets, and more.
The Streaming API is the real-time sample of the Twitter Firehose. This API is for those developers with data intensive needs. If you're looking to build a data mining product or are interested in analytics research, the Streaming API is most suited for such things. Streaming API allows for large quantities of keywords to be specified and tracked, retreiving geo-tagged tweets from a certain region, or have the public statuses of a user set returned. This requires you to establish a long-lived HTTP connection and maintain that connection. If you're currently developing on the Search API, and find that your application is being rate-limited or you just have aggressive querying needs, then you should be moving over to the Streaming API.