Skip to content


Repository files navigation

Twitter API v2 sample code v2

Sample code for the Twitter API v2 endpoints. Individual API features have folders where you can find examples of usage in several coding languages (Java, Node.js, Python, R, and Ruby).


Using the code samples

In order to run the samples in this repository you will need to set up some environment variables. You can find your credentials and bearer token in the App inside of your Project in the dashboard of the developer portal.

For OAuth 1.0a samples, you will need to export your consumer key and secret in your terminal. Be sure to replace <your_consumer_key> and <your_consumer_secret> with your own credentials without the < >.

export CONSUMER_KEY='<your_consumer_key>'
export CONSUMER_SECRET='<your_consumer_secret>'

For samples which use bearer token authentication, you will need to export the bearer token. Be sure to replace <your_bearer_token> with your own bearer token without the < >.

export BEARER_TOKEN='<your_bearer_token>'

Language-specific requirements

Java environment set up

If you use Homebrew, you can install a Java runtime using:

brew cask install java

You will also need to download the relevant JAR files referenced in the individual samples in order to build and run the code. If you use an IDE, it may be able to do this automatically for you.

JavaScript (Node.js) environment set up

You will need to have Node.js installed to run this code. All Node.js examples use needle as the HTTP client, which needs to be npm installed. For OAuth with user context requests, you'll need to install the got and oauth-1.0a packages.

npm install needle
npm install got
npm install oauth-1.0a

Python environment set up

You will need to have Python 3 installed to run this code. The Python samples use requests==2.24.0 which uses requests-oauthlib==1.3.0.

(Optionally) It is common and recommended not to install required package globally, but locally under project subfolder using venv:

python3 -m venv venv
source venv/bin/activate

You can install these packages as follows:

pip install requests
pip install requests-oauthlib

Ruby environment set up

You will need to have Ruby (recommended: >= 2.0.0) installed in order to run the code. The Ruby examples use typhoeus as the HTTP client, which needs to be gem installed. For OAuth with user context requests, you'll also need to install the oauth gem (see below).

gem install typhoeus
gem install oauth

Additional resources

We maintain a Postman Collection which you can use for exercising individual API endpoints.


  • For general questions related to the API and features, please use the v2 section of our developer community forums.

  • If there's an bug or issue with the sample code itself, please create a new issue here on GitHub.


We welcome pull requests that add meaningful additions to these code samples, particularly for languages that are not yet represented here.

We feel that a welcoming community is important and we ask that you follow Twitter's Open Source Code of Conduct in all interactions with the community.


Copyright 2021 Twitter, Inc.

Licensed under the Apache License, Version 2.0: