x-api — for Claude Code AI4X-Platform-dify, community, for Claude Code, ide skills, ### Post a Thread, ### Read User Timeline, ### Search Tweets, ### Get User by Username, ### Upload Media and Post, Programmatic

v1.0.0

Acerca de este Skill

Escenario recomendado: Ideal for AI agents that need programmatic interaction with x (twitter) for posting, reading, searching, and analytics. Resumen localizado: # X API Programmatic interaction with X (Twitter) for posting, reading, searching, and analytics. This AI agent skill supports Claude Code, Cursor, and Windsurf workflows.

Características

Programmatic interaction with X (Twitter) for posting, reading, searching, and analytics.
User wants to post tweets or threads programmatically
Reading timeline, mentions, or user data from X
Searching X for content, trends, or conversations
Building X integrations or bots

# Temas principales

derekhu0002 derekhu0002
[0]
[0]
Actualizado: 3/23/2026

Skill Overview

Start with fit, limitations, and setup before diving into the repository.

Escenario recomendado: Ideal for AI agents that need programmatic interaction with x (twitter) for posting, reading, searching, and analytics. Resumen localizado: # X API Programmatic interaction with X (Twitter) for posting, reading, searching, and analytics. This AI agent skill supports Claude Code, Cursor, and Windsurf workflows.

¿Por qué usar esta habilidad?

Recomendacion: x-api helps agents programmatic interaction with x (twitter) for posting, reading, searching, and analytics. X API Programmatic interaction with X (Twitter) for posting, reading, searching, and

Mejor para

Escenario recomendado: Ideal for AI agents that need programmatic interaction with x (twitter) for posting, reading, searching, and analytics.

Casos de uso accionables for x-api

Caso de uso: Applying Programmatic interaction with X (Twitter) for posting, reading, searching, and analytics
Caso de uso: Applying User wants to post tweets or threads programmatically
Caso de uso: Applying Reading timeline, mentions, or user data from X

! Seguridad y limitaciones

  • Limitacion: OAuth 2.0 (App-Only / User Context)
  • Limitacion: Requires repository-specific context from the skill documentation
  • Limitacion: Works best when the underlying tools and dependencies are already configured

About The Source

The section below comes from the upstream repository. Use it as supporting material alongside the fit, use-case, and installation summary on this page.

Demo Labs

Browser Sandbox Environment

⚡️ Ready to unleash?

Experience this Agent in a zero-setup browser environment powered by WebContainers. No installation required.

Boot Container Sandbox

FAQ y pasos de instalación

These questions and steps mirror the structured data on this page for better search understanding.

? Preguntas frecuentes

¿Qué es x-api?

Escenario recomendado: Ideal for AI agents that need programmatic interaction with x (twitter) for posting, reading, searching, and analytics. Resumen localizado: # X API Programmatic interaction with X (Twitter) for posting, reading, searching, and analytics. This AI agent skill supports Claude Code, Cursor, and Windsurf workflows.

¿Cómo instalo x-api?

Ejecuta el comando: npx killer-skills add derekhu0002/AI4X-Platform-dify. Funciona con Cursor, Windsurf, VS Code, Claude Code y más de 19 IDE adicionales.

¿Cuáles son los casos de uso de x-api?

Los casos de uso principales incluyen: Caso de uso: Applying Programmatic interaction with X (Twitter) for posting, reading, searching, and analytics, Caso de uso: Applying User wants to post tweets or threads programmatically, Caso de uso: Applying Reading timeline, mentions, or user data from X.

¿Qué IDE son compatibles con x-api?

Esta skill es compatible con Cursor, Windsurf, VS Code, Trae, Claude Code, OpenClaw, Aider, Codex, OpenCode, Goose, Cline, Roo Code, Kiro, Augment Code, Continue, GitHub Copilot, Sourcegraph Cody, and Amazon Q Developer. Usa la CLI de Killer-Skills para una instalación unificada.

¿Tiene limitaciones x-api?

Limitacion: OAuth 2.0 (App-Only / User Context). Limitacion: Requires repository-specific context from the skill documentation. Limitacion: Works best when the underlying tools and dependencies are already configured.

Cómo instalar este skill

  1. 1. Abre tu terminal

    Abre la terminal o línea de comandos en el directorio de tu proyecto.

  2. 2. Ejecuta el comando de instalación

    Ejecuta: npx killer-skills add derekhu0002/AI4X-Platform-dify. La CLI detectará tu IDE o agente automáticamente y configurará la skill.

  3. 3. Empieza a usar el skill

    El skill ya está activo. Tu agente de IA puede usar x-api de inmediato en el proyecto actual.

! Source Notes

This page is still useful for installation and source reference. Before using it, compare the fit, limitations, and upstream repository notes above.

Upstream Repository Material

The section below comes from the upstream repository. Use it as supporting material alongside the fit, use-case, and installation summary on this page.

Upstream Source

x-api

# X API Programmatic interaction with X (Twitter) for posting, reading, searching, and analytics. This AI agent skill supports Claude Code, Cursor, and

SKILL.md
Readonly
Upstream Repository Material
The section below comes from the upstream repository. Use it as supporting material alongside the fit, use-case, and installation summary on this page.
Upstream Source

X API

Programmatic interaction with X (Twitter) for posting, reading, searching, and analytics.

When to Activate

  • User wants to post tweets or threads programmatically
  • Reading timeline, mentions, or user data from X
  • Searching X for content, trends, or conversations
  • Building X integrations or bots
  • Analytics and engagement tracking
  • User says "post to X", "tweet", "X API", or "Twitter API"

Authentication

OAuth 2.0 (App-Only / User Context)

Best for: read-heavy operations, search, public data.

bash
1# Environment setup 2export X_BEARER_TOKEN="your-bearer-token"
python
1import os 2import requests 3 4bearer = os.environ["X_BEARER_TOKEN"] 5headers = {"Authorization": f"Bearer {bearer}"} 6 7# Search recent tweets 8resp = requests.get( 9 "https://api.x.com/2/tweets/search/recent", 10 headers=headers, 11 params={"query": "claude code", "max_results": 10} 12) 13tweets = resp.json()

OAuth 1.0a (User Context)

Required for: posting tweets, managing account, DMs.

bash
1# Environment setup — source before use 2export X_API_KEY="your-api-key" 3export X_API_SECRET="your-api-secret" 4export X_ACCESS_TOKEN="your-access-token" 5export X_ACCESS_SECRET="your-access-secret"
python
1import os 2from requests_oauthlib import OAuth1Session 3 4oauth = OAuth1Session( 5 os.environ["X_API_KEY"], 6 client_secret=os.environ["X_API_SECRET"], 7 resource_owner_key=os.environ["X_ACCESS_TOKEN"], 8 resource_owner_secret=os.environ["X_ACCESS_SECRET"], 9)

Core Operations

Post a Tweet

python
1resp = oauth.post( 2 "https://api.x.com/2/tweets", 3 json={"text": "Hello from Claude Code"} 4) 5resp.raise_for_status() 6tweet_id = resp.json()["data"]["id"]

Post a Thread

python
1def post_thread(oauth, tweets: list[str]) -> list[str]: 2 ids = [] 3 reply_to = None 4 for text in tweets: 5 payload = {"text": text} 6 if reply_to: 7 payload["reply"] = {"in_reply_to_tweet_id": reply_to} 8 resp = oauth.post("https://api.x.com/2/tweets", json=payload) 9 resp.raise_for_status() 10 tweet_id = resp.json()["data"]["id"] 11 ids.append(tweet_id) 12 reply_to = tweet_id 13 return ids

Read User Timeline

python
1resp = requests.get( 2 f"https://api.x.com/2/users/{user_id}/tweets", 3 headers=headers, 4 params={ 5 "max_results": 10, 6 "tweet.fields": "created_at,public_metrics", 7 } 8)

Search Tweets

python
1resp = requests.get( 2 "https://api.x.com/2/tweets/search/recent", 3 headers=headers, 4 params={ 5 "query": "from:affaanmustafa -is:retweet", 6 "max_results": 10, 7 "tweet.fields": "public_metrics,created_at", 8 } 9)

Get User by Username

python
1resp = requests.get( 2 "https://api.x.com/2/users/by/username/affaanmustafa", 3 headers=headers, 4 params={"user.fields": "public_metrics,description,created_at"} 5)

Upload Media and Post

python
1# Media upload uses v1.1 endpoint 2 3# Step 1: Upload media 4media_resp = oauth.post( 5 "https://upload.twitter.com/1.1/media/upload.json", 6 files={"media": open("image.png", "rb")} 7) 8media_id = media_resp.json()["media_id_string"] 9 10# Step 2: Post with media 11resp = oauth.post( 12 "https://api.x.com/2/tweets", 13 json={"text": "Check this out", "media": {"media_ids": [media_id]}} 14)

Rate Limits Reference

EndpointLimitWindow
POST /2/tweets20015 min
GET /2/tweets/search/recent45015 min
GET /2/users/:id/tweets150015 min
GET /2/users/by/username30015 min
POST media/upload41515 min

Always check x-rate-limit-remaining and x-rate-limit-reset headers.

python
1import time 2 3remaining = int(resp.headers.get("x-rate-limit-remaining", 0)) 4if remaining < 5: 5 reset = int(resp.headers.get("x-rate-limit-reset", 0)) 6 wait = max(0, reset - int(time.time())) 7 print(f"Rate limit approaching. Resets in {wait}s")

Error Handling

python
1resp = oauth.post("https://api.x.com/2/tweets", json={"text": content}) 2if resp.status_code == 201: 3 return resp.json()["data"]["id"] 4elif resp.status_code == 429: 5 reset = int(resp.headers["x-rate-limit-reset"]) 6 raise Exception(f"Rate limited. Resets at {reset}") 7elif resp.status_code == 403: 8 raise Exception(f"Forbidden: {resp.json().get('detail', 'check permissions')}") 9else: 10 raise Exception(f"X API error {resp.status_code}: {resp.text}")

Security

  • Never hardcode tokens. Use environment variables or .env files.
  • Never commit .env files. Add to .gitignore.
  • Rotate tokens if exposed. Regenerate at developer.x.com.
  • Use read-only tokens when write access is not needed.
  • Store OAuth secrets securely — not in source code or logs.

Integration with Content Engine

Use content-engine skill to generate platform-native content, then post via X API:

  1. Generate content with content-engine (X platform format)
  2. Validate length (280 chars for single tweet)
  3. Post via X API using patterns above
  4. Track engagement via public_metrics
  • content-engine — Generate platform-native content for X
  • crosspost — Distribute content across X, LinkedIn, and other platforms

Habilidades relacionadas

Looking for an alternative to x-api or another community skill for your workflow? Explore these related open-source skills.

Ver todo

openclaw-release-maintainer

Logo of openclaw
openclaw

Resumen localizado: 🦞 # OpenClaw Release Maintainer Use this skill for release and publish-time workflow. It covers ai, assistant, crustacean workflows. This AI agent skill supports Claude Code, Cursor, and Windsurf workflows.

333.8k
0
Inteligencia Artificial

widget-generator

Logo of f
f

Resumen localizado: Generate customizable widget plugins for the prompts.chat feed system # Widget Generator Skill This skill guides creation of widget plugins for prompts.chat . It covers ai, artificial-intelligence, awesome-list workflows. This AI agent skill supports Claude Code, Cursor, and

149.6k
0
Inteligencia Artificial

flags

Logo of vercel
vercel

Resumen localizado: The React Framework # Feature Flags Use this skill when adding or changing framework feature flags in Next.js internals. It covers blog, browser, compiler workflows. This AI agent skill supports Claude Code, Cursor, and Windsurf workflows.

138.4k
0
Navegador

pr-review

Logo of pytorch
pytorch

Resumen localizado: Usage Modes No Argument If the user invokes /pr-review with no arguments, do not perform a review . It covers autograd, deep-learning, gpu workflows. This AI agent skill supports Claude Code, Cursor, and Windsurf workflows.

98.6k
0
Desarrollador