Skip to content

Latest commit

 

History

128 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

X API v2 Sample Code

X API v2

Working code samples for the X API v2 in Python, JavaScript, Ruby, Java, and R.

📁 Repository Structure

├── python/           # 65 Python examples
├── javascript/       # 59 JavaScript examples  
├── ruby/             # 58 Ruby examples
├── java/             # 19 Java examples
├── r/                # 5 R examples
├── llms.txt          # LLM-friendly documentation
└── api-index.json    # Machine-readable endpoint catalog

🚀 Quick Start

1. Get API Credentials

Sign up at the X Developer Portal.

2. Set Environment Variables

For read-only operations (search, lookup):

export BEARER_TOKEN='your_bearer_token'

For user actions (post, like, repost, bookmark, etc.):

export CLIENT_ID='your_client_id'
export CLIENT_SECRET='your_client_secret'

For OAuth 1.0a (legacy endpoints):

export CONSUMER_KEY='your_consumer_key'
export CONSUMER_SECRET='your_consumer_secret'

3. Run an Example

# Python
cd python && pip install -r requirements.txt
python posts/search_recent.py

# JavaScript  
cd javascript
node posts/search_recent.js

# Ruby
cd ruby && bundle install
ruby posts/search_recent.rb

# Java
cd java
javac -cp ".:lib/*" posts/RecentSearchDemo.java
java -cp ".:lib/*" RecentSearchDemo

📚 Examples by Category

Category Python JavaScript Ruby Java R
Posts (search, create, delete, likes, reposts) ✅ ✅ ✅ ✅ ✅
Users (lookup, followers, following, blocks, mutes) ✅ ✅ ✅ ✅ ✅
Timelines (user, mentions, home) ✅ ✅ ✅ ✅
Streams (filtered, sampled) ✅ ✅ ✅ ✅
Lists (lookup, manage, members, follow) ✅ ✅ ✅
Spaces (lookup, search) ✅ ✅ ✅ ✅
Bookmarks ✅ ✅ ✅
Direct Messages ✅
Media Upload ✅
Compliance ✅ ✅
Usage ✅ ✅ ✅

🔐 Authentication

Type Use Case Env Vars
Bearer Token Read-only (search, lookup) BEARER_TOKEN
OAuth 2.0 PKCE User actions (post, like, repost, bookmark, mute, etc.) CLIENT_ID, CLIENT_SECRET
OAuth 1.0a Legacy endpoints (if applicable) CONSUMER_KEY, CONSUMER_SECRET

🤖 For LLMs

  • llms.txt - Context file for AI assistants
  • api-index.json - Machine-readable endpoint catalog

🔗 Resources

📄 License

Apache 2.0

Used by

Contributors

Languages