X API v2 Sample Code

December 6, 2025 ยท View on GitHub

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

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