DEV Community

Suhem Parack for XDevelopers

Posted on • Updated on

Step-by-step guide to making your first request to the new Twitter API v2

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.

Create a 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).

Add an app

Click โ€˜create a new App insteadโ€™ and give your app a name in order to create a new app.

Alt Text

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.

App Keys

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'
Enter fullscreen mode Exit fullscreen mode

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

Alternatively, you can use one of the code samples available on our Github to make your first request to the Twitter API v2. Currently, we have code samples available in Python, Javascript (Node), Java, Ruby. In this article, I will describe how to use the sample code for the recent search endpoint in Python.

  1. 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.
  2. Navigate to the recent_search.py. Make sure you have the requests library installed. If not, install it by running: pip install requests in your terminal.
  3. 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.
  4. Run the recent_search.py file by running python3 recent_search.py

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.

Alt Text

  • 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: https://api.twitter.com/2/tweets/search/recent?query=from:twitterdev

Alt Text

  • 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.

Alt Text

  • 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.

Wrap-up

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.

Resources

Top comments (2)

Collapse
 
tanpl profile image
TanPL

so, b4 we get to use conversation id to retrieve the whole conversation, how do we get conversation id from responses we get?

Collapse
 
mspuuurple profile image
๐ŸŒธ

why do i always get the 401 unauthorized error on postman