npx machina-cli add skill ReScienceLab/opc-skills/twitter --openclawTwitter/X Skill
Get user profiles, tweets, replies, followers/following, communities, spaces, and trends from Twitter/X via twitterapi.io.
Prerequisites
Set API key in ~/.zshrc:
export TWITTERAPI_API_KEY="your_api_key"
Quick Check:
cd <skill_directory>
python3 scripts/get_user_info.py elonmusk
Commands
All commands run from the skill directory.
User Endpoints
python3 scripts/get_user_info.py USERNAME
python3 scripts/get_user_about.py USERNAME
python3 scripts/batch_get_users.py USER_ID1,USER_ID2
python3 scripts/get_user_tweets.py USERNAME --limit 20
python3 scripts/get_user_mentions.py USERNAME --limit 20
python3 scripts/get_followers.py USERNAME --limit 100
python3 scripts/get_following.py USERNAME --limit 100
python3 scripts/get_verified_followers.py USERNAME --limit 20
python3 scripts/check_relationship.py USER1 USER2
python3 scripts/search_users.py "query" --limit 20
Tweet Endpoints
python3 scripts/get_tweet.py TWEET_ID [TWEET_ID2...]
python3 scripts/search_tweets.py "query" --type Latest --limit 20
python3 scripts/get_tweet_replies.py TWEET_ID --limit 20
python3 scripts/get_tweet_quotes.py TWEET_ID --limit 20
python3 scripts/get_tweet_retweeters.py TWEET_ID --limit 50
python3 scripts/get_tweet_thread.py TWEET_ID
python3 scripts/get_article.py TWEET_ID
List Endpoints
python3 scripts/get_list_followers.py LIST_ID --limit 20
python3 scripts/get_list_members.py LIST_ID --limit 20
Community Endpoints
python3 scripts/get_community.py COMMUNITY_ID
python3 scripts/get_community_members.py COMMUNITY_ID --limit 20
python3 scripts/get_community_moderators.py COMMUNITY_ID
python3 scripts/get_community_tweets.py COMMUNITY_ID --limit 20
python3 scripts/search_community_tweets.py "query" --limit 20
Other Endpoints
python3 scripts/get_space.py SPACE_ID
python3 scripts/get_trends.py --woeid 1 # Worldwide
Search Query Syntax
# Basic search
python3 scripts/search_tweets.py "AI agent"
# From specific user
python3 scripts/search_tweets.py "from:elonmusk"
# Date range
python3 scripts/search_tweets.py "AI since:2024-01-01 until:2024-12-31"
# Exclude retweets
python3 scripts/search_tweets.py "AI -filter:retweets"
# With media
python3 scripts/search_tweets.py "AI filter:media"
# Minimum engagement
python3 scripts/search_tweets.py "AI min_faves:1000"
API: twitterapi.io
- Base URL: https://api.twitterapi.io/twitter
- Auth: X-API-Key header
- Pricing: ~$0.15-0.18/1k requests
- Docs: https://docs.twitterapi.io/
Source
git clone https://github.com/ReScienceLab/opc-skills/blob/main/skills/twitter/SKILL.mdView on GitHub Overview
Twitter/X Skill lets you search and retrieve profiles, tweets, replies, followers, communities, spaces, and trends from Twitter/X via the twitterapi.io API. It exposes endpoints across users, tweets, lists, and communities so you can build scripted data workflows. Use it whenever your task involves Twitter, X, or tweet content.
How This Skill Works
The skill authenticates to twitterapi.io using an API key set in your environment (TWITTERAPI_API_KEY) and communicates with the Twitter API through the provided Python scripts. It groups functionality into user endpoints, tweet endpoints, list endpoints, community endpoints, and other endpoints like spaces and trends. Data flows from twitterapi.io to local scripts ready for downstream analysis.
When to Use It
- When you need a user profile and recent tweets for a specific Twitter/X account
- When researching replies, quotes, and thread content around a tweet
- When collecting followers or following lists for network analysis
- When exploring communities, spaces, and trending topics related to a niche
- When building datasets with query-based tweet searches (from:, since:, min_faves, etc.)
Quick Start
- Step 1: Set API key in ~/.zshrc (export TWITTERAPI_API_KEY="your_api_key")
- Step 2: cd <skill_directory> and run a quick check, e.g., python3 scripts/get_user_info.py elonmusk
- Step 3: Try another endpoint, e.g., python3 scripts/search_tweets.py AI --limit 20
Best Practices
- Securely manage your TWITTERAPI_API_KEY and avoid hard-coding
- Start with quick checks (get_user_info.py elonmusk) to validate access
- Respect rate limits by using sensible --limit values and stepwise requests
- Use precise search qualifiers (from:, since:, filter:media, min_faves) to narrow results
- Cache results and handle missing fields to keep pipelines robust
Example Use Cases
- Fetch Elon Musk's profile and latest tweets for profile monitoring
- Get replies, quotes, and thread data for a high-engagement tweet
- List a target account's followers or following for network analysis
- Explore communities and space discussions around a topic
- Query worldwide trends to surface rising topics