360 Secure SkillHub
360 安全技能中心

Opentwitter

封装 6551 开放平台的 REST 与 WebSocket 接口,用 curl 查询 Twitter/X 用户资料、推文与搜索、关注/取关事件、删除推文、KOL 关注者、引用与转推用户,以及 meme 代币证据和买卖活动,并可增删监控列表、订阅实时事件推送;所有请求使用 Bearer 令牌鉴权。

infra403
infra403
热度 68.94
最近更新 2026-10-12 12:26:27
分类:搜索依赖:代码执行 / 第三方 API应用场景:社交媒体 / 研究 / 市场分析 / 自动化脚本

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add opentwitter-2
Metadata
name
opentwitter
description
Twitter/X and meme evidence data via the 6551 API. Supports user profiles, tweet search, user tweets, follower events, deleted tweets, KOL followers, meme token evidence, and meme activity.
user-invocable
true
metadata
{"openclaw":{"requires":{"env":["OPENNEWS_TOKEN"],"bins":["curl"]},"primaryEnv":"OPENNEWS_TOKEN","emoji":"🐦","install":[{"id":"curl","kind":"brew","formula":"curl","label":"curl (HTTP client)"}],"os":["darwin","linux","win32"]},"version":"1.0.0"}

Twitter/X Data Skill

Query Twitter/X data from the 6551 platform REST API. All endpoints require a Bearer token via $OPENNEWS_TOKEN.

Get your token: http://app.newsliquid.com/mcp

Base URL: https://ai.6551.io

Authentication

All requests require the header:

Authorization: Bearer $OPENNEWS_TOKEN

Meme Evidence Operations

Get Meme Token Evidence

Get the initial thesis and callout evidence for a meme token from the fomo/pump feeds.

curl -s -X POST "https://ai.6551.io/open/meme/token-evidence" \
  -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"coin": "GADj8JQ8iQLQD5S6ScvncJWmGs7PkwHnXsBrEUns6ue5", "limit": 100}'

Parameters: coin, kind, platform, handle, user, since, and limit. The default kind is thesis,callout; limit is capped at 1000.

Get Meme Activity

Get later statements and buy/sell evidence for meme tokens.

curl -s -X POST "https://ai.6551.io/open/meme/activity" \
  -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"coin": "GADj8JQ8iQLQD5S6ScvncJWmGs7PkwHnXsBrEUns6ue5", "kind": "trade", "limit": 100}'

Parameters: coin, handle, user, wallet, kind, platform, since, and limit. kind=trade is an alias for buy and sell.

Twitter Operations

1. Get Twitter User Info

Get user profile by username.

curl -s -X POST "https://ai.6551.io/open/twitter_user_info" \
  -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"username": "elonmusk"}'

2. Get Twitter User by ID

Get user profile by numeric ID.

curl -s -X POST "https://ai.6551.io/open/twitter_user_by_id" \
  -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"userId": "44196397"}'

3. Get User Tweets

Get recent tweets from a user.

curl -s -X POST "https://ai.6551.io/open/twitter_user_tweets" \
  -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"username": "elonmusk", "maxResults": 20, "product": "Latest"}'
Parameter Type Default Description
username string required Twitter username (without @)
maxResults integer 20 Max tweets (1-100)
product string "Latest" "Latest" or "Top"
includeReplies boolean false Include reply tweets
includeRetweets boolean false Include retweets

4. Search Twitter

Search tweets with various filters.

Search with query:

curl -s -X POST "https://ai.6551.io/open/twitter_search" \
  -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"query": "from:VitalikButerin bitcoin -filter:replies", "maxResults": 20, "product": "Top"}'
curl -s -X POST "https://ai.6551.io/open/twitter_search" \
  -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"keywords": "bitcoin", "maxResults": 20, "product": "Top"}'

Search from specific user:

curl -s -X POST "https://ai.6551.io/open/twitter_search" \
  -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"fromUser": "VitalikButerin", "maxResults": 20}'

Search by hashtag:

curl -s -X POST "https://ai.6551.io/open/twitter_search" \
  -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"hashtag": "crypto", "minLikes": 100, "maxResults": 20}'

Twitter Search Parameters

Parameter Type Default Description
query string - Complete search string; overrides other filters
keywords string - Search keywords
fromUser string - Tweets from specific user
toUser string - Tweets to specific user
mentionUser string - Tweets mentioning user
hashtag string - Filter by hashtag (without #)
excludeReplies boolean false Exclude reply tweets
excludeRetweets boolean false Exclude retweets
minLikes integer 0 Minimum likes threshold
minRetweets integer 0 Minimum retweets threshold
minReplies integer 0 Minimum replies threshold
sinceDate string - Start date (YYYY-MM-DD)
untilDate string - End date (YYYY-MM-DD)
lang string - Language code (e.g. "en", "zh")
product string "Top" "Top" or "Latest"
maxResults integer 20 Max tweets (1-100)

If query is set, it is passed through as-is and the other search fields are ignored.

5. Get Follower Events

Get new followers or unfollowers for a user.

# Get new followers
curl -s -X POST "https://ai.6551.io/open/twitter_follower_events" \
  -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"username": "elonmusk", "isFollow": true, "maxResults": 20}'

# Get unfollowers
curl -s -X POST "https://ai.6551.io/open/twitter_follower_events" \
  -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"username": "elonmusk", "isFollow": false, "maxResults": 20}'
Parameter Type Default Description
username string required Twitter username (without @)
isFollow boolean true true=new followers, false=unfollowers
maxResults integer 20 Max events (1-100)

6. Get Deleted Tweets

Get deleted tweets from a user.

curl -s -X POST "https://ai.6551.io/open/twitter_deleted_tweets" \
  -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"username": "elonmusk", "maxResults": 20}'
Parameter Type Default Description
username string required Twitter username (without @)
maxResults integer 20 Max tweets (1-100)

7. Get KOL Followers

Get which KOLs (Key Opinion Leaders) are following a user.

curl -s -X POST "https://ai.6551.io/open/twitter_kol_followers" \
  -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"username": "elonmusk"}'
Parameter Type Default Description
username string required Twitter username (without @)

8. Get Twitter Article by ID

Get Twitter article by ID.

curl -s -X POST "https://ai.6551.io/open/twitter_article_by_id" \
  -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"id": "article_id"}'
Parameter Type Default Description
id string required Twitter article ID

9. Get Tweet by ID

Get a specific tweet by its ID, including nested reply/quote tweets.

This endpoint retrieves a tweet by ID and automatically fetches any tweets it replies to or quotes, providing complete context.

curl -s -X POST "https://ai.6551.io/open/twitter_tweet_by_id" \
  -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"twId": "2030318958512164966"}'
Parameter Type Default Description
twId string required Twitter tweet ID (numeric)

Response includes:

  • Main tweet data
  • replyStatus: The tweet being replied to (if applicable)
  • quotedStatus: The tweet being quoted (if applicable)

10. Get Quote Tweets by ID

Get tweets that quote a specific tweet.

curl -s -X POST "https://ai.6551.io/open/twitter_quote_tweets_by_id" \
  -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"id": "2030318958512164966", "maxResults": 20}'
Parameter Type Default Description
id string required Twitter tweet ID (numeric)
maxResults integer 20 Max tweets (1-100)

11. Get Retweet Users by ID

Get users who retweeted a specific tweet.

curl -s -X POST "https://ai.6551.io/open/twitter_retweet_users_by_id" \
  -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"id": "2030318958512164966"}'
Parameter Type Default Description
id string required Twitter tweet ID (numeric)
cursor string - Pagination cursor for next page

12. Get Twitter Watch List

Get all Twitter monitoring users for the current user.

curl -s -X POST "https://ai.6551.io/open/twitter_watch" \
  -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'

13. Add Twitter Watch

Add a Twitter user to monitoring list.

curl -s -X POST "https://ai.6551.io/open/twitter_watch_add" \
  -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"username": "elonmusk", "groupName": "AI", "remark": "Custom note", "newTweetBol": true, "newFlwBol": false}'
Parameter Type Default Description
username string required Twitter username (without @)
groupName string - Watch group name; an existing matching group is reused, otherwise it is created
remark string - Custom note for this watch entry
newTweetBol boolean true (server) Monitor new tweets
newFlwBol boolean false (server) Monitor new followers
newUnFlwBol boolean false (server) Monitor unfollowers
newTweetReplyBol boolean true (server) Monitor tweet replies
newTweetQuoteBol boolean true (server) Monitor quote tweets
newRetweetBol boolean true (server) Monitor retweets
updateNameBol boolean true (server) Monitor username changes
updateDescBol boolean true (server) Monitor bio/description changes
updateAvatarBol boolean true (server) Monitor profile picture changes
updateBannerBol boolean true (server) Monitor banner image changes
newCaBol boolean false (server) Monitor CA (contract address) events
tweetToppingBol boolean false (server) Monitor tweet pinning events

14. Delete Twitter Watch

Delete a Twitter user from monitoring list by username.

curl -s -X POST "https://ai.6551.io/open/twitter_watch_delete" \
  -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"username": "elonmusk"}'
Parameter Type Default Description
username string required Twitter username to delete (without @)

WebSocket Real-time Subscriptions

Endpoint: wss://ai.6551.io/open/twitter_wss?token=YOUR_TOKEN

Subscribe to real-time events from your monitored Twitter accounts.

Heartbeat

To keep the connection alive, the client can send ping, and the server responds with pong.

Subscribe to Twitter Events

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "twitter.subscribe"
}

Response:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "success": true
  }
}

Unsubscribe

{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "twitter.unsubscribe"
}

Server Push - Twitter Event

When a monitored account has activity, the server pushes:

{
  "jsonrpc": "2.0",
  "method": "twitter.event",
  "params": {
    "id": 123456,
    "twAccount": "elonmusk",
    "twUserName": "Elon Musk",
    "profileUrl": "https://twitter.com/elonmusk",
    "eventType": "NEW_TWEET",
    "content": "...",
    "ca": "0x1234...",
    "remark": "Custom note",
    "createdAt": "2026-03-06T10:00:00Z"
  }
}

Note: The content field structure varies by event type (see below).


**Event Types and Content Structure**:

#### Tweet Events
- `NEW_TWEET` - New tweet posted
- `NEW_TWEET_REPLY` - New reply tweet
- `NEW_TWEET_QUOTE` - New quote tweet
- `NEW_RETWEET` - Retweeted
- `CA` - Tweet with CA address

Content structure for tweet events:
```json
{
  "id": "1234567890",
  "text": "Tweet content...",
  "createdAt": "2026-03-06T10:00:00Z",
  "language": "en",
  "retweetCount": 100,
  "favoriteCount": 500,
  "replyCount": 20,
  "quoteCount": 10,
  "viewCount": 10000,
  "userScreenName": "elonmusk",
  "userName": "Elon Musk",
  "userIdStr": "44196397",
  "userFollowers": 170000000,
  "userVerified": true,
  "conversationId": "1234567890",
  "isReply": false,
  "isQuote": false,
  "hashtags": ["crypto", "bitcoin"],
  "media": [
    {
      "type": "photo",
      "url": "https://...",
      "thumbUrl": "https://..."
    }
  ],
  "urls": [
    {
      "url": "https://...",
      "expandedUrl": "https://...",
      "displayUrl": "example.com"
    }
  ],
  "mentions": [
    {
      "username": "VitalikButerin",
      "name": "Vitalik Buterin"
    }
  ]
}

Follower Events

  • NEW_FOLLOWER - New follower
  • NEW_UNFOLLOWER - Unfollower event

Content structure for follower events (array):

[
  {
    "id": 123,
    "twId": 44196397,
    "twAccount": "elonmusk",
    "twUserName": "Elon Musk",
    "twUserLabel": "Verified",
    "description": "User bio...",
    "profileUrl": "https://...",
    "bannerUrl": "https://...",
    "followerCount": 170000000,
    "friendCount": 500,
    "createdAt": "2026-03-06T10:00:00Z"
  }
]

Profile Update Events

  • UPDATE_NAME - Username changed (content: new name string)
  • UPDATE_DESCRIPTION - Bio updated (content: new description string)
  • UPDATE_AVATAR - Profile picture changed (content: new avatar URL string)
  • UPDATE_BANNER - Banner image changed (content: new banner URL string)

Other Events

  • TWEET_TOPPING - Tweet pinned
  • DELETE - Tweet deleted
  • SYSTEM - System event
  • TRANSLATE - Tweet translation
  • CA_CREATE - CA token created

Data Structures

Twitter User

{
  "userId": "44196397",
  "screenName": "elonmusk",
  "name": "Elon Musk",
  "description": "...",
  "followersCount": 170000000,
  "friendsCount": 500,
  "statusesCount": 30000,
  "verified": true
}

Tweet

{
  "id": "1234567890",
  "text": "Tweet content...",
  "createdAt": "2024-02-20T12:00:00Z",
  "retweetCount": 1000,
  "favoriteCount": 5000,
  "replyCount": 200,
  "userScreenName": "elonmusk",
  "hashtags": ["crypto", "bitcoin"],
  "urls": [{"url": "https://..."}]
}

Common Workflows

Crypto Twitter KOL Tweets

curl -s -X POST "https://ai.6551.io/open/twitter_user_tweets" \
  -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"username": "VitalikButerin", "maxResults": 10}'

Trending Crypto Tweets

curl -s -X POST "https://ai.6551.io/open/twitter_search" \
  -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"keywords": "bitcoin", "minLikes": 1000, "product": "Top", "maxResults": 20}'

Query Search

curl -s -X POST "https://ai.6551.io/open/twitter_search" \
  -H "Authorization: Bearer $OPENNEWS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"query": "from:VitalikButerin bitcoin -filter:replies", "maxResults": 20, "product": "Top"}'

Notes

  • Get your API token at http://app.newsliquid.com/mcp
  • Rate limits apply; max 100 results per request
  • Twitter usernames should not include the @ symbol