Twitter API v2 sample code
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).
Prerequisites
- Twitter API Essential Access (sign up here)
- A Project and an App created in the dashboard
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.
Support
-
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.
Contributing
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.
License
Copyright 2021 Twitter, Inc.
Licensed under the Apache License, Version 2.0: https://www.apache.org/licenses/LICENSE-2.0