X Twitter Scraper
AIコーディングエージェント向け X API / Twitter Scraper スキル
Xquik X (Twitter) リアルタイムデータプラットフォームに関する深い知識をコーディングエージェントに提供するAIエージェントスキルです。121のREST APIエンドポイント、2つのMCPツール、HMACウェブフック、23のバルク抽出ツール、および書き込みアクションを備えています。
市場で最も安価なXデータAPI — 1コールあたり$0.00015から(公式X APIより33倍安価)。
Claude Code、OpenAI Codex、Cursor、GitHub Copilot、Gemini CLI、Windsurf、VS Code、Cline、Roo Code、Goose、Amp、Augment、Continue、OpenHands、Trae、OpenCodeなど、40以上のAIコーディングエージェントで動作します。
料金
Xquikは、X/Twitterデータアクセスのあらゆる代替手段よりも劇的に安価です。
公式X APIとの比較
Xquik | X API Basic | X API Pro | |
月額費用 | $20 | $100 | $5,000 |
ツイート読み取り単価 | $0.00015 | ~$0.01 | ~$0.005 |
ユーザー検索単価 | $0.00015 | ~$0.01 | ~$0.005 |
書き込みアクション | $0.0015 | 制限あり | 制限あり |
バルク抽出 | $0.00015/件〜 | 利用不可 | 利用不可 |
監視 + ウェブフック | 無料 | 利用不可 | 利用不可 |
プレゼント抽選 | $0.00015/エントリー | 利用不可 | 利用不可 |
MCPサーバー | 同梱 | 利用不可 | 利用不可 |
操作別コスト(1クレジット = $0.00015)
操作 | クレジット | コスト |
読み取り(ツイート、検索、タイムライン、ブックマーク等) | 1 | $0.00015 |
読み取り(ユーザープロフィール、認証済みフォロワー、知っているフォロワー) | 1 | $0.00015 |
読み取り(いいねしたユーザー) | 1 | $0.00015 |
読み取り(トレンド) | 3 | $0.00045 |
フォローチェック、記事 | 7 | $0.00105 |
書き込み(ツイート、いいね、リツイート、フォロー、DM等) | 10 | $0.0015 |
抽出(ツイート、返信、引用、メンション、投稿、いいね、メディア、検索、いいねしたユーザー、リツイートしたユーザー、コミュニティメンバー、ユーザー検索、リストメンバー、リストフォロワー) | 1/件 | $0.00015/件 |
抽出(フォロワー、フォロー中、認証済みフォロワー) | 1/件 | $0.00015/件 |
抽出(記事) | 5/件 | $0.00075/件 |
抽選 | 1/エントリー | $0.00015/エントリー |
監視、ウェブフック、レーダー、作成、下書き、統合 | 0 | 無料 |
従量課金(サブスクリプション不要)
月額サブスクリプションなしの従量課金オプションが2つあります:
クレジット:
POST /credits/topup経由でクレジットをチャージ(最低$10)。1クレジット = $0.00015。全121エンドポイントで利用可能。MPP: 16のX-APIエンドポイントがMachine Payments Protocolを介した匿名オンチェーン決済に対応。アカウント不要。SDK:
npm i mppx viem。
Related MCP server: MCP Twitter
インストール
skills CLI 経由でインストール(インストール済みのエージェントを自動検出します):
npx skills add Xquik-dev/x-twitter-scraper手動インストール
git clone https://github.com/Xquik-dev/x-twitter-scraper.git .claude/skills/x-twitter-scrapergit clone https://github.com/Xquik-dev/x-twitter-scraper.git .agents/skills/x-twitter-scrapergit clone https://github.com/Xquik-dev/x-twitter-scraper.git .windsurf/skills/x-twitter-scrapergit clone https://github.com/Xquik-dev/x-twitter-scraper.git .agents/skills/x-twitter-scrapergit clone https://github.com/Xquik-dev/x-twitter-scraper.git .roo/skills/x-twitter-scrapergit clone https://github.com/Xquik-dev/x-twitter-scraper.git .continue/skills/x-twitter-scrapergit clone https://github.com/Xquik-dev/x-twitter-scraper.git .goose/skills/x-twitter-scrapergit clone https://github.com/Xquik-dev/x-twitter-scraper.git .agents/skills/x-twitter-scraperこのスキルの機能
インストールすると、AIコーディングアシスタントにXquikプラットフォームに関する深い知識が提供されます:
ツイート検索・検索: キーワード、ハッシュタグ、高度な演算子でツイートを検索。あらゆるツイートの完全なエンゲージメント指標を取得
ユーザープロフィール検索: あらゆるXアカウントのフォロワー/フォロー数、自己紹介、場所、プロフィールデータを取得
ユーザーアクティビティフィード: ユーザーの最近のツイート、いいねしたツイート、メディアツイートを取得
ツイートエンゲージメントデータ: ツイートをいいねしたユーザー(favoriters)、アカウント間の相互フォロワーを取得
フォロワー・フォロー中抽出: 完全なフォロワーリスト、認証済みフォロワー、フォロー中リストを抽出
返信・リツイート・引用抽出: すべての返信、リツイート、引用ツイートをバルク抽出
メディアダウンロード: 画像、動画、GIFを永続的なホストURLでダウンロード
スレッド・記事抽出: ツイートスレッド全体とリンクされた記事コンテンツを抽出
コミュニティ・スペースデータ: コミュニティメンバー、モデレーター、投稿、スペース参加者を抽出
ブックマーク・通知: ブックマーク、ブックマークフォルダ、通知、ホームタイムラインにアクセス
DM履歴: あらゆるユーザーとの会話履歴を取得
相互フォローチェッカー: 2つのアカウントが相互フォローしているかを確認
Xアカウント監視: 新しいツイート、返信、引用、リツイート、フォロワーの変更を追跡
ウェブフック配信: HTTPSエンドポイントでHMAC署名付きイベント通知を受信
トレンドトピック: 地域別のトレンドハッシュタグとトピックを取得
レーダー: 7つのソース(Google Trends、Hacker News、Polymarket、TrustMRR、Wikipedia、GitHub、Reddit)からのトレンドニュース。無料
プレゼント抽選: 設定可能なフィルターを使用して、ツイートへの返信から透明性の高い抽選を実行
書き込みアクション: ツイート投稿、いいね、リツイート、フォロー/フォロー解除、DM送信、プロフィール更新、メディアアップロード、コミュニティ管理
Telegram統合: Telegramでリアルタイムの監視イベント通知を受信
フロー自動化: 監視イベント、スケジュール、検索、インバウンドウェブフックによるトリガー駆動型ワークフロー
ツイート作成: スコアリング付きのアルゴリズム最適化ツイート作成ツール(無料)
クレジット・請求: 残高確認、クレジットチャージ、サブスクリプション管理
サポートチケット: API経由でサポートチケットを開設・管理
MCPサーバー: AIエージェント統合のための121エンドポイントをカバーする2つのツール
従量課金(MPP): オンチェーン決済による16エンドポイントへの匿名アクセス、アカウント不要
機能一覧
エリア | 詳細 |
REST API | 12カテゴリ、121エンドポイント、リトライロジックとページネーション付き |
MCPサーバー | 2ツール(explore + xquik)。StreamableHTTP、10プラットフォーム向け設定 |
データ抽出 | 23のバルク抽出ツール(返信、リツイート、引用、いいねしたユーザー、スレッド、記事、ユーザーのいいね、ユーザーメディア、コミュニティ、リスト、スペース、ユーザー検索、ツイート検索、メンション、投稿) |
X検索 | ツイート、ユーザー、記事、検索、ユーザーツイート、ユーザーのいいね、ユーザーメディア、いいねしたユーザー、相互フォロワー、ブックマーク、通知、タイムライン、DM履歴 |
書き込みアクション | ツイート投稿/削除、いいね/取り消し、リツイート、フォロー/解除、DM、プロフィール更新、アバター/バナー、メディアアップロード、コミュニティアクション |
プレゼント抽選 | 11のフィルターオプション付き、ツイート返信からのランダム当選者選出 |
アカウント監視 | ツイート、返信、引用、リツイート、フォロワー変更のリアルタイム追跡 |
ウェブフック | Node.js、Python、GoでのHMAC-SHA256署名検証 |
Telegram統合 | Telegramボット経由のリアルタイム監視イベント通知 |
メディアダウンロード | 永続的なホストURLによる画像、動画、GIFのダウンロード |
エンゲージメント分析 | ツイートごとのいいね、リツイート、返信、引用、表示回数、ブックマーク |
トレンドトピック | 地域トレンド + レーダー経由の7つの無料ニュースソース |
ツイート作成 | スコアリングチェックリスト付きのアルゴリズム最適化ツイート作成ツール(無料) |
クレジット・請求 | API経由の残高確認、チャージ、サブスクリプション管理 |
従量課金(MPP) | アカウント不要、オンチェーン決済による16エンドポイント |
TypeScript型定義 | 全APIオブジェクトの完全な型定義 |
対応エージェント
Claude Code、OpenAI Codex、Cursor、GitHub Copilot、Gemini CLI、Windsurf、VS Code Copilot、Cline、Roo Code、Goose、Amp、Augment、Continue、OpenHands、Trae、OpenCode、およびskills.shプロトコルをサポートするすべてのエージェント。
APIカバレッジ
リソース | エンドポイント |
X検索 | ツイート、記事、検索、ユーザープロフィール、ユーザーツイート、ユーザーのいいね、ユーザーメディア、いいねしたユーザー、知っているフォロワー、フォローチェック、メディアダウンロード、ブックマーク、ブックマークフォルダ、通知、タイムライン、DM履歴 |
抽出 | 作成(23種)、見積もり、リスト、結果取得、エクスポート |
監視 | 作成、リスト、取得、更新、削除 |
イベント | リスト(フィルタリング、ページネーション)、単一取得 |
ウェブフック | 作成、リスト、更新、削除、テスト、配信 |
トレンド | 地域別トレンドトピック |
レーダー | 7つのソースからのトレンドトピックとニュース(無料) |
抽選 | フィルター付き作成、リスト、当選者付き取得、エクスポート |
スタイル | 分析、保存、リスト、取得、削除、比較、パフォーマンス |
作成 | ツイート作成(作成、洗練、スコアリング) |
下書き | 作成、リスト、取得、削除 |
アカウント | アカウント取得、ロケール更新、X ID設定、サブスクリプション |
クレジット | 残高取得、チャージ |
APIキー | 作成、リスト、取り消し |
Xアカウント | 接続、リスト、取得、切断、再認証 |
X書き込み | ツイート、削除、いいね、取り消し、リツイート、フォロー、解除、DM、プロフィール、アバター、バナー、メディアアップロード、コミュニティ |
統合 | 作成(Telegram)、リスト、取得、更新、削除、テスト、配信 |
自動化 | 作成、リスト、取得、更新、削除、ステップ追加/更新/削除、位置、テスト、インバウンドウェブフック |
サポート | チケット作成、リスト、取得、更新、返信 |
スキル構造
x-twitter-scraper/
├── skills/
│ └── x-twitter-scraper/
│ ├── SKILL.md # Main skill (auth, pricing, endpoints, patterns)
│ ├── metadata.json # Version and references
│ └── references/
│ ├── api-endpoints.md # All REST API endpoints
│ ├── mcp-tools.md # MCP tool selection rules and workflow patterns
│ ├── mcp-setup.md # MCP configs for 10 platforms (v2 + v1)
│ ├── webhooks.md # Webhook setup & verification
│ ├── extractions.md # 23 extraction tool types
│ ├── types.md # TypeScript type definitions
│ └── python-examples.md # Python code examples
├── server.json # MCP Registry metadata
├── glama.json # Glama.ai directory metadata
├── logo.png # Marketplace logo
├── LICENSE # MIT
└── README.md # This fileリンク
ライセンス
MIT
Available Tools
2 toolsexploreARead-onlyIdempotentInspect
The live Xquik 'explore' tool searches the 120-route API catalog. This package stub returns setup guidance only.
When to use
Call 'explore' before 'xquik' to find an endpoint, its parameters, and its response shape.
Call it when the user asks what the Twitter API supports.
Check whether an endpoint uses included usage or requires account access.
When not to use
Use 'xquik' instead when fetching live X data.
Skip discovery when you know the endpoint and parameters.
Behavior
The live server searches the catalog without sending an API request.
The package stub makes no network call and returns setup instructions.
The live catalog has 120 routes. Of these, 119 support JSON or text.
Each EndpointInfo contains method, path, summary, category, free, parameters, and responseShape.
Input format
Provide a bounded request function. Filter, search, or return the spec.endpoints EndpointInfo array.
Examples
Find all included-usage endpoints: async () => spec.endpoints.filter(e => e.free)
Filter by category: async () => spec.endpoints.filter(e => e.category === 'composition')
Search summaries: async () => spec.endpoints.filter(e => e.summary.toLowerCase().includes('tweet'))
Get one endpoint: async () => spec.endpoints.find(e => e.path === '/api/v1/x/tweets/search')
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | Bounded function that filters or searches the spec.endpoints EndpointInfo array. Return one EndpointInfo object or an array. Example: async () => spec.endpoints.filter(e => e.category === 'twitter') |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnly and idempotent, and the description confirms no network call occurs. It adds context about the stub vs. live server behavior, which is useful, but doesn't mention error handling or rate limits. Still, it's a read-only discovery tool, so the transparency is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is somewhat repetitive, with the same example snippets appearing in both the description and the schema, and the bullet-point format repeats the same information in slightly different wording. It could be tightened without losing clarity, but it's not excessively long.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description covers the essential aspects: purpose, usage, and parameter behavior. The return type is mentioned in the schema description, and the description adds the distinction between stub and live server. It feels complete for the intended scope.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes the 'code' parameter and gives an example, achieving 100% coverage. The description adds multiple concrete examples (filter by category, search summary, find by path) that go beyond the schema's single example, providing practical guidance on how to construct the function. This elevates it above the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches the API catalog for endpoint discovery, with a specific verb and resource. It also distinguishes itself from the sibling tool 'xquik' by noting that 'explore' is for discovery while 'xquik' fetches live data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use (before 'xquik', when user asks about API capabilities) and when not to use (for live data, if endpoint parameters are already known). This gives clear routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
xquikADestructiveInspect
The live 'xquik' tool sends approved requests across 120 catalog routes. This package stub returns setup guidance only.
When to use
Call it after 'explore' identifies the endpoint and parameters.
Use it for Twitter search, user lookup, draws, extractions, composition, private reads, monitors, webhooks, and approved writes.
Get approval before private reads, persistent resources, metered operations, and writes.
When not to use
Use 'explore' first when you do not know the endpoint.
Omit API keys and authorization headers. The server adds authentication.
Behavior
The live server processes
xquik.request(path, options?)inside a bounded sandbox.The package stub makes no API request and returns setup instructions.
The live tool cannot access local files or arbitrary network hosts.
119 catalog routes support JSON or text. Use REST for binary downloads.
Write operations require prior approval and can return durable actions.
Pagination responses include
has_moreandnext_cursor. Passcursorfor the next page.Show the exact payload, target, and usage estimate before changing X or Xquik resources.
Error handling
For 402, explain the account state and send the user to the dashboard.
For 429, wait before retrying.
For 404, explain which user, tweet, or monitor was not found.
For durable writes, follow
safe_to_retryandnext_actionbefore retrying.
Input format
Provide a bounded function that calls xquik.request(path, { method?, body?, query? }). The server adds authentication.
Examples
Search tweets: async () => xquik.request('/api/v1/x/tweets/search', { query: { q: 'twitter scraper api', limit: '50' } })
Get user: async () => xquik.request('/api/v1/x/users/elonmusk')
Post after approval: async () => xquik.request('/api/v1/x/tweets', { method: 'POST', body: { account: '<confirmed_account>', text: '<confirmed_text>' } })
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | Bounded function that calls xquik.request(path, options?) for Twitter API operations. The server adds authentication. Example: async () => xquik.request('/api/v1/x/tweets/search', { query: { q: 'twitter api', limit: '20' } }) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (destructiveHint=true, openWorldHint=true), the description adds rich behavioral context that the annotations cannot convey: the bounded sandbox, no local file or arbitrary host access, approval-required durable writes, 402/429/404 error semantics, pagination via has_more/next_cursor, and the server-side authentication model. No contradiction with annotations — the write/approval framing aligns with destructiveHint=true and the sandbox stays consistent with openWorldHint=true.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but excellently structured with clear headers, scannable bullets, and a front-loaded purpose statement. Every section (when to use, behavior, error handling, format, examples) earns its place given the tool's complexity — a proxy over 120 routes. It is slightly more verbose than strictly necessary but the organization compensates.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex proxy tool with no output schema, the description covers everything an agent needs: when to call, approval requirements, behavioral constraints, error handling per status code, pagination semantics, input format, and realistic examples. The only minor gap — the absence of an output schema — is offset by explanation of return behaviors like has_more/next_cursor and durable actions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema alone documents the single 'code' parameter with an example. The description adds genuine value beyond that with the 'Input format' section (bounded function signature for xquik.request with method/body/query) and three concrete examples covering search, user lookup, and POST-after-approval. This exceeds the baseline 3 for high-coverage cases.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific, differentiated statement: "sends approved requests across 120 catalog routes" and immediately distinguishes the package stub ("returns setup guidance only") from the live tool. It names the sibling 'explore' as what it is not, so an agent can tell them apart without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description contains explicit 'When to use' and 'When not to use' sections. It states to call it after 'explore' identifies the endpoint, when not to (if endpoint unknown), and covers approval gates for private reads, metered operations, and writes. It also names the alternative tool and directs the agent away from it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
The two tools have clearly distinct purposes: 'explore' is for discovering API endpoints and parameters, while 'xquik' is for executing requests. There is a slight overlap in that both can be used to understand the API, but the descriptions make the boundary clear.
The tool names 'explore' and 'xquik' do not follow a consistent verb_noun pattern. 'explore' is a verb, but 'xquik' is a brand name, not a descriptive verb. However, the names are short and memorable, and the descriptions clarify their roles.
With only 2 tools, the server is minimal, but the descriptions indicate a broad underlying API (120 routes). The two tools act as a discovery and execution pair, which is a reasonable minimal surface, though it feels thin for the apparent scope.
The server covers the core workflow of discovering and executing API calls, but it lacks explicit tools for managing authentication, handling pagination, or managing approvals. However, these are handled within the 'xquik' tool's parameters and responses, so the surface is functional but not comprehensive.
Maintenance
Related MCP Connectors
Twitter/X read-only MCP server — 12 tools: search, users, tweets, followers, timelines, trends.
X / Twitter public post, comment, reply, user, and search tools.
Hosted MCP for X/Twitter and Reddit. 12 read-only tools, no API keys, free during beta.
X (formerly Twitter): X (formerly Twitter) public and private data API for search, posts (Tweets).
Related MCP Servers
- AlicenseBqualityDmaintenanceAn MCP server that enables Claude to interact with Twitter, allowing for posting tweets and searching Twitter content.2348401MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables AI models and applications to interact directly with Twitter/X, providing capabilities to create posts, reply to tweets, retrieve user data, and manage account actions.1711MIT
- MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to perform web searches, research paper searches, and Twitter searches using the Exa AI Search API with real-time crawling and structured results.25,462MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Xquik-dev/x-twitter-scraper'
If you have feedback or need assistance with the MCP directory API, please join our Discord server