Working code samples for the X API v2 in Python, JavaScript, Ruby, Java, and R.
├── 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
Sign up at the X Developer Portal.
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'# 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| 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 | ✅ | ✅ | ✅ |
| 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 |
llms.txt- Context file for AI assistantsapi-index.json- Machine-readable endpoint catalog
Apache 2.0