Scrape Twitter/X profiles, tweets, and search results. No API key needed. Returns structured JSON with bio, stats, tweets, engagement metrics. The social intelligence layer for AI agents.
Three tools with complete input schemas and detailed descriptions. Naming follows verb_noun pattern (twitter_scrape_profile, twitter_search_tweets, twitter_get_user_tweets). Descriptions are comprehensive (200-400 chars) with clear use-case guidance and anti-patterns ('Do NOT use for...'). All parameters have type definitions and descriptions. However, output schemas are documented only in prose within descriptions, not as formal JSON Schema. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) present. Error handling guidance is absent, no recovery paths or categorization. Parameter constraints (e.g., count: 1-20) are stated in descriptions but not enforced via JSON Schema minima/maxima.
Use this when you need to see what a specific Twitter/X user has been posting recently. Returns their latest tweets with full text, engagement metrics, and timestamps. 1. username: the @handle queried 2. tweets: array of tweet objects with id, text, createdAt, likes, retweets, replies, views, isRetweet, isReply 3. tweetCount: number of tweets returned Example output: { "username": "VitalikButerin", "tweetCount": 10, "tweets": [{ "id": "...", "text": "Excited about the new EIP proposal...", "likes": 5200, "retweets": 890, "views": 250000, "createdAt": "2026-04-12T14:00:00Z", "isRetweet": false }] } Use this FOR monitoring specific accounts, tracking influencer activity, analyzing posting patterns, or gathering content from thought leaders. Do NOT use for profile bio/stats -- use twitter_scrape_profile instead. Do NOT use for topic search -- use twitter_search_tweets instead. Do NOT use for social profile lookup across platforms -- use social_lookup_profile instead.
Use this when you need to look up a Twitter/X user profile by username or URL. Returns structured profile data including bio, follower/following counts, tweet count, verification status, and recent activity. 1. username: the @handle 2. displayName: full name 3. bio: profile description text 4. followers: follower count 5. following: following count 6. tweetCount: total tweets posted 7. verified: blue checkmark status 8. createdAt: account creation date 9. avatarUrl: profile picture URL 10. bannerUrl: header image URL 11. location: stated location 12. website: linked URL 13. pinnedTweet: text of pinned tweet if any Example output: { "username": "elonmusk", "displayName": "Elon Musk", "bio": "...", "followers": 195000000, "following": 850, "tweetCount": 45000, "verified": true, "createdAt": "2009-06-02" } Use this FOR social media due diligence, influencer research, competitor monitoring, or verifying the legitimacy of an account before trusting its content. Do NOT use for tweet search -- use twitter_search_tweets instead. Do NOT use for trust/security scoring -- use trust_score_evaluate instead. Do NOT use for email lookup from social -- use email_find_by_name instead.
Output schemas documented only in prose descriptions, not as formal JSON Schema. LLMs cannot parse expected response structure from text alone.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) present. All three tools are read-only but lack explicit annotation for agent safety.
Parameter constraints (count: 1-20, default 10) stated in descriptions but not enforced via JSON Schema minima/maxima. LLMs may pass invalid values.
No error handling guidance. Descriptions lack recovery paths (e.g., 'If user not found, try search_users'). Agents cannot self-correct on failures.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 68 | 2025-06-18+ | v2 |
Use this when you need to find tweets about a topic, brand, event, or keyword. Returns up to 20 recent tweets matching the query with full text, engagement metrics, author info, and timestamps. 1. query: the search term used 2. results: array of tweet objects 3. Each tweet contains: id, text, author (username + displayName), createdAt, likes, retweets, replies, views, url 4. resultCount: number of tweets found Example output: { "query": "x402 protocol", "resultCount": 15, "results": [{ "id": "1234567890", "text": "x402 is the future of agent payments...", "author": { "username": "web3dev", "displayName": "Web3 Dev" }, "likes": 42, "retweets": 12, "replies": 5, "views": 1200, "createdAt": "2026-04-13T09:30:00Z" }] } Use this FOR market sentiment analysis, brand monitoring, competitor tracking, news discovery, trend detection, or finding what people say about a topic in real-time. Do NOT use for profile data -- use twitter_scrape_profile instead. Do NOT use for web search (non-Twitter) -- use web_search_query instead. Do NOT use for sentiment analysis of text -- use text_analyze_sentiment instead. Do NOT use for crypto news -- use crypto_get_news instead.
No pagination support documented. twitter_search_tweets returns 'up to 20 tweets' but no next_cursor or offset mechanism for large result sets.