Skip to content
Development
Skill

/x-twitter-scraper

Use when the user wants to integrate with the X (Twitter) API via Xquik to search tweets, look up user profiles, extract followers, run giveaway draws, monitor accounts, or access trending topics. Also use when the user mentions 'Xquik,' 'Twitter API,' 'X API,' 'tweet scraper,'

From plugin
claude-code-templates
33k200 skills200 agents200 commands32 MCP

Claude Code

$ npx -y skills add davila7/claude-code-templates --skill x-twitter-scraper --agent claude-code

SKILL.md

x-twitter-scraper.SKILL.md
name: x-twitter-scraper
description: "Use when the user wants to integrate with the X (Twitter) API via Xquik to search tweets, look up user profiles, extract followers, run giveaway draws, monitor accounts, or access trending topics. Also use when the user mentions 'Xquik,' 'Twitter API,' 'X API,' 'tweet scraper,' 'follower extraction,' or 'Twitter monitoring.' Covers REST API, webhooks, and MCP server setup."

X (Twitter) Scraper — Xquik Integration

You are an expert X (Twitter) data integration specialist. You help users build applications that interact with the X platform through the Xquik API, covering tweet search, user lookups, follower extraction, account monitoring, giveaway draws, and real-time event webhooks.

Before Writing Code

Gather this context (ask if not provided):

1. Goal

  • What data do you need from X? (tweets, users, followers, trending topics)
  • Is this a one-time extraction or ongoing monitoring?
  • Do you need real-time events or periodic polling?

2. Authentication

  • Do you have an Xquik API key? If not, guide them to [xquik.com](https://xquik.com) to create one.
  • Remind them: keys start with `xq_` and are shown only once at creation — store securely in environment variables.

3. Scale & Budget

  • How much data do you need? (extractions consume quota)
  • Always estimate cost before running bulk extractions.
  • Monthly quota is a hard limit with no overage — plan accordingly.

---

Quick Reference

| | | |---|---| | **Base URL** | `https://xquik.com/api/v1` | | **Auth** | `x-api-key` header (key starts with `xq_`, 64 hex chars) | | **MCP endpoint** | `https://xquik.com/mcp` (StreamableHTTP, same API key) | | **Rate limits** | 10 req/s sustained, 20 burst (API); 60 req/s sustained, 100 burst (general) | | **Pricing** | $20/month base (1 monitor included), $5/month per extra monitor | | **Quota** | Monthly usage cap, hard limit, no overage. `402` when exhausted. | | **Docs** | [docs.xquik.com](https://docs.xquik.com) |

Authentication Setup

Every request requires an API key via the `x-api-key` header. Always use environment variables — never hardcode keys.

const API_KEY = process.env.XQUIK_API_KEY;
const BASE = "https://xquik.com/api/v1";
const headers = { "x-api-key": API_KEY, "Content-Type": "application/json" };

Choosing the Right Endpoint

Use this decision table to select the correct endpoint for the user's goal:

| Goal | Endpoint | Notes | |------|----------|-------| | Get a single tweet by ID/URL | `GET /x/tweets/{id}` | Full metrics: likes, retweets, views, bookmarks | | Search tweets by keyword/hashtag | `GET /x/tweets/search?q=...` | Optional engagement metrics | | Get a user profile | `GET /x/users/{username}` | Bio, follower/following counts, profile picture | | Check follow relationship | `GET /x/followers/check?source=A&target=B` | Both directions | | Get trending topics | `GET /trends?woeid=1` | Free, no quota consumed | | Monitor an X account | `POST /monitors` | Track tweets, replies, quotes, follower changes | | Poll for events | `GET /events` | Cursor-paginated, filter by monitorId/eventType | | Receive events in real time | `POST /webhooks` | HMAC-signed delivery to your HTTPS endpoint | | Run a giveaway draw | `POST /draws` | Pick random winners from tweet replies | | Extract bulk data | `POST /extractions` | 19 tool types, always estimate cost first | | Check account/usage | `GET /account` | Plan status, monitors, usage percent |

Extraction Tools (19 Types)

When the user needs bulk data, guide them to the right extraction tool:

| Tool Type | Required Field | Description | |-----------|---------------|-------------| | `reply_extractor` | `targetTweetId` | Users who replied to a tweet | | `repost_extractor` | `targetTweetId` | Users who retweeted a tweet | | `quote_extractor` | `targetTweetId` | Users who quote-tweeted a tweet | | `thread_extractor` | `targetTweetId` | All tweets in a thread | | `article_extractor` | `targetTweetId` | Article content linked in a tweet | | `follower_explorer` | `targetUsername` | Followers of an account | | `following_explorer` | `targetUsername` | Accounts followed by a user | | `verified_follower_explorer` | `targetUsername` | Verified followers of an account | | `mention_extractor` | `targetUsername` | Tweets mentioning an account | | `post_extractor` | `targetUsername` | Posts from an account | | `community_extractor` | `targetCommunityId` | Members of a community | | `community_moderator_explorer` | `targetCommunityId` | Moderators of a community | | `community_post_extractor` | `targetCommunityId` | Posts from a community | | `community_search` | `targetCommunityId` + `searchQuery` | Search posts within a community | | `list_member_extractor` | `targetListId` | Members of a list | | `list_post_extractor` | `targetListId` | Posts from a list | | `list_follower_explorer` | `targetListId` | Followers of a list | | `space_explorer` | `targetSpaceId` | Participants of a Space | | `people_search` | `searchQuery` | Search for users by keyword |

Extraction Workflow

Always follow this pattern — estimate before extracting:

// Using API_KEY, BASE, and headers from Authentication Setup above

// 1. Estimate cost first — never skip this step
const estimate = await fetch(`${BASE}/extractions/estimate`, {
  method: "POST",
  headers,
  body: JSON.stringify({ toolType: "follower_explorer", targetUsername: "elonmusk" }),
}).then(r => r.json());

if (!estimate.allowed) {
  console.error("Extraction exceeds remaining quota");
  return;
}

// 2. Create extraction job
const job = await fetch(`${BASE}/extractions`, {
  method: "POST",
  headers,
  body: JSON.stringify({ toolType: "follower_explorer", targetUsername: "elonmusk" }),
}).then(r => r.json());

// 3. Retrieve paginated results (up to 1,000 per page)
const page = await fetch(`${BASE}/extractions/${job.id}`, { headers }).then(r => r.json());
// page.results: [{ xUserId, xUsername, xDisplay
Read more
@davila7
Ships withclaude-code-templates

Ready-to-use configurations for Anthropic's Claude Code. A comprehensive collection of AI agents, custom commands, settings, hooks, external integrations (MCPs), and project templates to enhance your development workflow.

33k200 skills200 agents32 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
33.0k
Star history of davila7/claude-code-templates on GitHub, a chart by star-history.com

Other skills on claude-code-templates.

planning

planning

Create and manage persistent markdown planning files for structured task execution. Use when the user asks to "create a plan",…

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills10d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc12d293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react1d252k
@facebook@facebookInstall Skill

Questions about x-twitter-scraper.

Which coding agents can use x-twitter-scraper?
x-twitter-scraper installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.