Skip to content

xdevplatform/samples

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

# 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

📚 Examples by Category

CategoryPythonJavaScriptRubyJavaR
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

TypeUse CaseEnv Vars
Bearer TokenRead-only (search, lookup)BEARER_TOKEN
OAuth 2.0 PKCEUser actions (post, like, repost, bookmark, mute, etc.)CLIENT_ID, CLIENT_SECRET
OAuth 1.0aLegacy 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