# x-api > Post to X (Twitter) using the official API with OAuth 1.0a. Use when you need to tweet, post updates, or publish content. Bypasses rate limits and bot detection that affect cookie-based approaches like bird CLI. - Author: clawdhub[bot] - Repository: openclaw/skills - Version: 20260130050700 - Stars: 640 - Forks: 0 - Last Updated: 2026-02-06 - Source: https://github.com/openclaw/skills - Web: https://mule.run/skillshub/@@openclaw/skills~x-api:20260130050700 --- --- name: x-api description: Post to X (Twitter) using the official API with OAuth 1.0a. Use when you need to tweet, post updates, or publish content. Bypasses rate limits and bot detection that affect cookie-based approaches like bird CLI. --- # x-api 🐦 Post to X using the official API (OAuth 1.0a). ## When to Use - Posting tweets (cookie-based `bird tweet` gets blocked by bot detection) - Official API access is needed for reliability For **reading** (timeline, search, mentions), use `bird` CLI instead — it's free and works well for reads. ## Setup ### 1. Get API Credentials 1. Go to https://developer.x.com/en/portal/dashboard 2. Create a Project and App 3. Set App permissions to **Read and Write** 4. Get your keys from "Keys and tokens" tab: - API Key (Consumer Key) - API Key Secret (Consumer Secret) - Access Token - Access Token Secret ### 2. Configure Credentials **Option A: Environment variables** ```bash export X_API_KEY="your-api-key" export X_API_SECRET="your-api-secret" export X_ACCESS_TOKEN="your-access-token" export X_ACCESS_SECRET="your-access-token-secret" ``` **Option B: Config file** at `~/.clawdbot/secrets/x-api.json` ```json { "consumerKey": "your-api-key", "consumerSecret": "your-api-secret", "accessToken": "your-access-token", "accessTokenSecret": "your-access-token-secret" } ``` ### 3. Install Dependency ```bash npm install -g twitter-api-v2 ``` ## Post a Tweet ```bash x-post "Your tweet text here" ``` Or with full path: ```bash node /path/to/skills/x-api/scripts/x-post.mjs "Your tweet text here" ``` Supports multi-line tweets: ```bash x-post "Line one Line two Line three" ``` Returns the tweet URL on success. ## Limits - Free tier: 1,500 posts/month (requires credits in X Developer Portal) - Basic tier ($100/mo): Higher limits ## Reading (use bird) For reading, searching, and monitoring — use the `bird` CLI: ```bash bird home # Timeline bird mentions # Mentions bird search "query" # Search bird user-tweets @handle # User's posts bird read # Single tweet ``` ## Troubleshooting **402 Credits Depleted**: Add credits in X Developer Portal → Dashboard **401 Unauthorized**: Regenerate Access Token (ensure Read+Write permissions are set first) **No credentials found**: Set env vars or create config file (see Setup above)