Searches and reads X (Twitter): profiles, timelines, mentions, followers, tweet search, trends, lists, communities, and Spaces. Publishes posts, likes/unlike...
---
name: twitter-aisa-one
description: 'Searches and reads X (Twitter): profiles, timelines, mentions, followers,
tweet search, trends, lists, communities, and Spaces. Publishes posts, likes/unlikes
tweets, and follows/unfollows users after the user completes OAuth in the browser.
Use when the user asks about Twitter/X data, social listening, posting, or interacting
with tweets/users without sharing account passwords.'
author: AIsa
version: 1.0.1
license: Apache-2.0
homepage: https://aisa.one
source: https://github.com/baofeng-tech/agent-skills-io/tree/main/targetSkills/twitter
user-invocable: true
primaryEnv: AISA_API_KEY
requires:
bins:
- python3
env:
- AISA_API_KEY
metadata:
aisa:
emoji: 🐦
requires:
bins:
- python3
env:
- AISA_API_KEY
optionalEnv:
- TWITTER_RELAY_BASE_URL
- TWITTER_RELAY_TIMEOUT
primaryEnv: AISA_API_KEY
compatibility:
- openclaw
- claude-code
- hermes
openclaw:
emoji: 🐦
requires:
bins:
- python3
env:
- AISA_API_KEY
optionalEnv:
- TWITTER_RELAY_BASE_URL
- TWITTER_RELAY_TIMEOUT
primaryEnv: AISA_API_KEY
---
# AIsa Twitter (`twitter`) 🐦
**Twitter/X data access and automation for autonomous agents. Powered by AIsa.**
One API key. Full Twitter intelligence.
## What Can You Do?
### Monitor Influencers
```text
"Get Elon Musk's latest tweets and notify me of any AI-related posts"
```
### Track Trends
```text
"What's trending on Twitter worldwide right now?"
```
### Social Listening
```text
"Search for tweets mentioning our product and analyze sentiment"
```
### Competitor Intel
```text
"Monitor @anthropic and @GoogleAI - alert me on new announcements"
```
## Action Workflows
This file does not define like / unlike / follow / unfollow logic directly.
If the user asks to like, unlike, follow, or unfollow on X/Twitter, handle that workflow with `./references/engage_twitter.md`.
**OAuth Authorization is required and must be obtained from `./references/post_twitter.md` before executing.**
## Posting Workflows
This file does not define publishing logic.
If the user asks to send, publish, or reply, or quote on X/Twitter, handle that workflow with `./references/post_twitter.md`.
## Quick Start
```bash
export AISA_API_KEY="your-key"
# Optional: override the default AIsa relay for OAuth, posting, and engagement
export TWITTER_RELAY_BASE_URL="https://api.aisa.one/apis/v1/twitter"
export TWITTER_RELAY_TIMEOUT="30"
```
## Core Capabilities
### Read Operations (No Login Required)
#### User Endpoints
```bash
# Get user info
curl "https://api.aisa.one/apis/v1/twitter/user/info?userName=elonmusk" \
-H "Authorization: Bearer $AISA_API_KEY"
# Get user profile about (account country, verification, username changes)
curl "https://api.aisa.one/apis/v1/twitter/user_about?userName=elonmusk" \
-H "Authorization: Bearer $AISA_API_KEY"
# Batch get user info by IDs
curl "https://api.aisa.one/apis/v1/twitter/user/batch_info_by_ids?userIds=44196397,123456" \
-H "Authorization: Bearer $AISA_API_KEY"
# Get user's latest tweets
curl "https://api.aisa.one/apis/v1/twitter/user/last_tweets?userName=elonmusk" \
-H "Authorization: Bearer $AISA_API_KEY"
# Get user mentions
curl "https://api.aisa.one/apis/v1/twitter/user/mentions?userName=elonmusk" \
-H "Authorization: Bearer $AISA_API_KEY"
# Get user followers
curl "https://api.aisa.one/apis/v1/twitter/user/followers?userName=elonmusk" \
-H "Authorization: Bearer $AISA_API_KEY"
# Get user followings
curl "https://api.aisa.one/apis/v1/twitter/user/followings?userName=elonmusk" \
-H "Authorization: Bearer $AISA_API_KEY"
# Get user verified followers (requires user_id, not userName)
curl "https://api.aisa.one/apis/v1/twitter/user/verifiedFollowers?user_id=44196397" \
-H "Authorization: Bearer $AISA_API_KEY"
# Check follow relationship between two users
curl "https://api.aisa.one/apis/v1/twitter/user/check_follow_relationship?source_user_name=elonmusk&target_user_name=BillGates" \
-H "Authorization: Bearer $AISA_API_KEY"
# Search users by keyword
curl "https://api.aisa.one/apis/v1/twitter/user/search?query=AI+researcher" \
-H "Authorization: Bearer $AISA_API_KEY"
```
#### Tweet Endpoints
```bash
# Advanced tweet search (queryType is required: Latest or Top)
curl "https://api.aisa.one/apis/v1/twitter/tweet/advanced_search?query=AI+agents&queryType=Latest" \
-H "Authorization: Bearer $AISA_API_KEY"
# Search top tweets
curl "https://api.aisa.one/apis/v1/twitter/tweet/advanced_search?query=AI+agents&queryType=Top" \
-H "Authorization: Bearer $AISA_API_KEY"
# Get tweets by IDs (comma-separated)
curl "https://api.aisa.one/apis/v1/twitter/tweets?tweet_ids=1895096451033985024" \
-H "Authorization: Bearer $AISA_API_KEY"
# Get tweet replies
curl "https://api.aisa.one/apis/v1/twitter/tweet/replies?tweetId=1895096451033985024" \
-H "Authorization: Bearer $AISA_API_KEY"
# Get tweet quotes
curl "https://api.aisa.one/apis/v1/twitter/tweet/quotes?tweetId=1895096451033985024" \
-H "Authorization: Bearer $AISA_API_KEY"
# Get tweet retweeters
curl "https://api.aisa.one/apis/v1/twitter/tweet/retweeters?tweetId=1895096451033985024" \
-H "Authorization: Bearer $AISA_API_KEY"
# Get tweet thread context (full conversation thread)
curl "https://api.aisa.one/apis/v1/twitter/tweet/thread_context?tweetId=1895096451033985024" \
-H "Authorization: Bearer $AISA_API_KEY"
# Get article by tweet ID
curl "https://api.aisa.one/apis/v1/twitter/article?tweet_id=1895096451033985024" \
-H "Authorization: Bearer $AISA_API_KEY"
```
#### Trends, Lists, Communities & Spaces
```bash
# Get trending topics (worldwide)
curl "https://api.aisa.one/apis/v1/twitter/trends?woeid=1" \
-H "Authorization: Bearer $AISA_API_KEY"
# Get list members
curl "https://api.aisa.one/apis/v1/twitter/list/members?list_id=1585430245762441216" \
-H "Authorization: Bearer $AISA_API_KEY"
# Get list followers
curl "https://api.aisa.one/apis/v1/twitter/list/followers?list_id=1585430245762441216" \
-H "Authorization: Bearer $AISA_API_KEY"
# Get community info
curl "https://api.aisa.one/apis/v1/twitter/community/info?community_id=1708485837274263614" \
-H "Authorization: Bearer $AISA_API_KEY"
# Get community members
curl "https://api.aisa.one/apis/v1/twitter/community/members?community_id=1708485837274263614" \
-H "Authorization: Bearer $AISA_API_KEY"
# Get community moderators
curl "https://api.aisa.one/apis/v1/twitter/community/moderators?community_id=1708485837274263614" \
-H "Authorization: Bearer $AISA_API_KEY"
# Get community tweets
curl "https://api.aisa.one/apis/v1/twitter/community/tweets?community_id=1708485837274263614" \
-H "Authorization: Bearer $AISA_API_KEY"
# Search tweets from all communities
curl "https://api.aisa.one/apis/v1/twitter/community/get_tweets_from_all_community?query=AI" \
-H "Authorization: Bearer $AISA_API_KEY"
# Get Space detail
curl "https://api.aisa.one/apis/v1/twitter/spaces/detail?space_id=1dRJZlbLkjexB" \
-H "Authorization: Bearer $AISA_API_KEY"
```
## Python Client
```bash
# User operations
python3 scripts/twitter_client.py user-info --username elonmusk
python3 scripts/twitter_client.py user-about --username elonmusk
python3 scripts/twitter_client.py tweets --username elonmusk
python3 scripts/twitter_client.py mentions --username elonmusk
python3 scripts/twitter_client.py followers --username elonmusk
python3 scripts/twitter_client.py followings --username elonmusk
python3 scripts/twitter_client.py verified-followers --user-id 44196397
python3 scripts/twitter_client.py check-follow --source elonmusk --target BillGates
# Search & discovery
python3 scripts/twitter_client.py search --query "AI agents"
python3 scripts/twitter_client.py search --query "AI agents" --type Top
python3 scripts/twitter_client.py user-search --query "AI researcher"
python3 scripts/twitter_client.py trends --woeid 1
# Tweet operations
python3 scripts/twitter_client.py detail --tweet-ids 1895096451033985024
python3 scripts/twitter_client.py replies --tweet-id 1895096451033985024
python3 scripts/twitter_client.py quotes --tweet-id 1895096451033985024
python3 scripts/twitter_client.py retweeters --tweet-id 1895096451033985024
python3 scripts/twitter_client.py thread --tweet-id 1895096451033985024
# List operations
python3 scripts/twitter_client.py list-members --list-id 1585430245762441216
python3 scripts/twitter_client.py list-followers --list-id 1585430245762441216
# Community operations
python3 scripts/twitter_client.py community-info --community-id 1708485837274263614
python3 scripts/twitter_client.py community-members --community-id 1708485837274263614
python3 scripts/twitter_client.py community-tweets --community-id 1708485837274263614
python3 scripts/twitter_client.py community-search --query "AI"
# Engagement operations through the configured AIsa relay
python3 scripts/twitter_engagement_client.py list-tweets --user "@elonmusk" --limit 10
python3 scripts/twitter_engagement_client.py like-latest --user "@elonmusk"
python3 scripts/twitter_engagement_client.py unlike-latest --user "@elonmusk"
python3 scripts/twitter_engagement_client.py follow-user --user "@elonmusk"
python3 scripts/twitter_engagement_client.py unfollow-user --user "@elonmusk"
```
## API Endpoints Reference
### Read Endpoints (GET)
| Endpoint | Description | Key Params |
|----------|-------------|------------|
| `/twitter/user/info` | Get user profile | `userName` |
| `/twitter/user_about` | Get user profile about | `userName` |
| `/twitter/user/batch_info_by_ids` | Batch get users by IDs | `userIds` |
| `/twitter/user/last_tweets` | Get user's recent tweets | `userName`, `cursor` |
| `/twitter/user/mentions` | Get user mentions | `userName`, `cursor` |
| `/twitter/user/followers` | Get user followers | `userName`, `cursor` |
| `/twitter/user/followings` | Get user followings | `userName`, `cursor` |
| `/twitter/user/verifiedFollowers` | Get verified followers | `user_id`, `cursor` |
| `/twitter/user/check_follow_relationship` | Check follow relationship | `source_user_name`, `target_user_name` |
| `/twitter/user/search` | Search users by keyword | `query`, `cursor` |
| `/twitter/tweet/advanced_search` | Advanced tweet search | `query`, `queryType` (Latest/Top), `cursor` |
| `/twitter/tweets` | Get tweets by IDs | `tweet_ids` (comma-separated) |
| `/twitter/tweet/replies` | Get tweet replies | `tweetId`, `cursor` |
| `/twitter/tweet/quotes` | Get tweet quotes | `tweetId`, `cursor` |
| `/twitter/tweet/retweeters` | Get tweet retweeters | `tweetId`, `cursor` |
| `/twitter/tweet/thread_context` | Get tweet thread context | `tweetId`, `cursor` |
| `/twitter/article` | Get article by tweet | `tweet_id` |
| `/twitter/trends` | Get trending topics | `woeid` (1=worldwide) |
| `/twitter/list/members` | Get list members | `list_id`, `cursor` |
| `/twitter/list/followers` | Get list followers | `list_id`, `cursor` |
| `/twitter/community/info` | Get community info | `community_id` |
| `/twitter/community/members` | Get community members | `community_id`, `cursor` |
| `/twitter/community/moderators` | Get community moderators | `community_id`, `cursor` |
| `/twitter/community/tweets` | Get community tweets | `community_id`, `cursor` |
| `/twitter/community/get_tweets_from_all_community` | Search all community tweets | `query`, `cursor` |
| `/twitter/spaces/detail` | Get Space detail | `space_id` |
## Pricing
| API | Cost |
|-----|------|
| Twitter read query | ~$0.0004 |
Every response includes `usage.cost` and `usage.credits_remaining`.
## Get Started
1. Sign up at [aisa.one](https://aisa.one)
2. Get your API key
3. Add credits (pay-as-you-go)
4. Set environment variable: `export AISA_API_KEY="your-key"`
## Full API Reference
See [API Reference](https://docs.aisa.one/reference/) for complete endpoint documentation.
don't have the plugin yet? install it then click "run inline in claude" again.