Earlier this year, Twitter announced early access to the new Twitter API v2. The new API provides exciting new features such as:
- Improvements to the response Tweet payload
- Support for getting Twitter polls data in the API
- Tweet annotations (that provide contextual information about a Tweet and named entities in a Tweet)
- Support for retrieving entire conversation thread using conversation_id parameter in search
In this article, I will show you how you can get started quickly with the new Twitter API v2.
Step 1: Sign up for a developer account
In order to get started with the new Twitter API, you need an a developer account. If you do not have one yet, you can sign up for one. Once you have an approved developer account, proceed to the next step.
Step 2: Enroll in the new developer portal experience
Next, set up your project. Projects allow you to organize your work and access with the new Twitter API.
Step 3: Create a project and connect an app
Next, in the developer portal, create a new project.
Give it a name, select the appropriate use-case, provide a project description. Next, you can either create a new app or connect an existing app (an app is a container for your API keys that you need in order to make an HTTP request to the Twitter API).
Click ‘create a new App instead’ and give your app a name in order to create a new app.
Once you click complete, you will get your API keys and the bearer token that you can then use to connect to the new endpoints in the Twitter API v2.
Click the (+) next to API key, API secret key and Bearer token and copy it in a safe place on your local machine, you will need these to make the API calls in the next step.
Note: The keys in the screenshot above are hidden, but in your own developer portal, you will be able to see the actual values for the API key, API secret key and Bearer token.
Step 4: Make an HTTP request to one of the new endpoints
Now that you have your API keys and bearer token, you are ready to make your first API call to the new Twitter API v2. In this example, we will call the recent search endpoint in the new Twitter API v2. If you are familiar with the Twitter API v1.1, you may have used the search/tweets endpoint which let you search for Tweets from the last 7 days. The recent search endpoint is the replacement in v2 of this search/tweets endpoint from v1.1.
We can call the recent search endpoint using one of the following approaches:
1. Using curl
The first approach is to make the request in your terminal using curl. The example below shows how you can get Tweets in the last 7 days from the TwitterDev account using the recent search endpoint. Just replace the XXXXXX in the request below with your own bearer token (obtained from step 3 above), and paste the snippet in your terminal. You will get the json response for this request.
curl --request GET 'https://api.twitter.com/2/tweets/search/recent?query=from:twitterdev' --header 'Authorization: Bearer XXXXXX'
Once you are comfortable with making this API call, you can learn more advanced concepts such as modifying the query (in the request above) to get data using other keywords and operators, along with how to get additional information in your response (such as user object, place information, polls data etc.) by exploring the documentation for the recent search endpoint.
2. Using sample code available on Github
- First, you will have to download the code samples from Github. Alternatively, you can also clone this repository in Github Desktop if you have it setup.
- Navigate to the recent_search.py. Make sure you have the requests library installed. If not, install it by running:
pip install requestsin your terminal.
- Copy your bearer token (obtained in step 3) and set in your environment variable by running:
export 'BEARER_TOKEN'='<your_bearer_token>'in your terminal.
- Run the recent_search.py file by running
This will run the script and give you Tweets in the last 7 days from the TwitterDev account. You can modify the query in the recent_search.py file and also specify additional fields you want returned in your JSON response.
3. Using Postman
Yet another way of making your first request to the new Twitter API is using Postman. Postman is a tool that lets you make HTTP requests using a graphical user interface, by easily specifying the request URL, parameters, headers etc.
For this example, I will show you how you can use Postman to call the recent search endpoint.
- Download the Postman client for your machine.
- Open Postman. Click on the + New button and select request.
- Give the request a name. Click create collection and give it a name. Then click Save.
- Enter the following in the 'Enter a request URL' section:
- Navigate to Headers and add the key as Authorization and value as Bearer XXXXX where XXXXX is the value of your bearer token from step 3.
- Click Send and you will see the response for your request.
Check out the Postman collection for the Twitter API v2 that you can run directly in Postman for other endpoints available in the Twitter API v2 as well. You will need the keys obtained in step 3 in order to configure the Postman collection.
4. Using select libraries
You can also use some of the libraries that support the new endpoints that are part of the new Twitter API. Check out our tools and libraries page and look for libraries in your favorite programming language. Look for the libraries that support the v2 of our API.
You can use one of these approaches mentioned above to quickly make your first request to the new Twitter API v2. This will enable you to try out the new endpoints and features that are part of the new Twitter API.
If you build anything with the new Twitter API, please share it with us on this forum, and if you are one of the first 10 developers to share what you’ve built with the new Twitter API, we may send some cool swag your way!
This is just the beginning. We will continue to add new endpoints to the Twitter API v2. To see what's coming, checkout our product roadmap.
Below are some resources that will help you get started with the new Twitter API. Reach out to me on Twitter @suhemparack with feedback or questions.
Top comments (2)
so, b4 we get to use conversation id to retrieve the whole conversation, how do we get conversation id from responses we get?
why do i always get the 401 unauthorized error on postman