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'# Pythoncd python && pip install -r requirements.txt python posts/search_recent.py # JavaScript cd javascript node posts/search_recent.js # Rubycd ruby && bundle install ruby posts/search_recent.rb # Javacd 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