Skip to content
Back to skills

X Twitter Scraper

ASecurity

Xquik, the X (Twitter) Scraper API and X API alternative. Use for X or Twitter data and account work through Xquik: tweet search, profiles, followers, replies, threads, timelines, media downloads, bul

  • 6 stars
  • 0 votes
  • 0 copies
  • 5 views
  • Added September 11, 2026
ai-agentsgoshellawsgitapi

Works with

  • claude code
  • cursor
  • terminal
  • cli
  • api
  • mcp

Security analysis

A100/100

Scanned October 3, 2026

npx -y skills add ranbot-ai/awesome-skills --skill x-twitter-scraper --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of X Twitter Scraper?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for X Twitter Scraper
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ranbot-ai-x-twitter-scraper/badge)](https://www.skillsdirectory.com/skills/ranbot-ai-x-twitter-scraper)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: x-twitter-scraper
description: Xquik, the X (Twitter) Scraper API and X API alternative. Use for X or Twitter data and account work through Xquik: tweet search, profiles, followers, replies, threads, timelines, media downloads, bul
category: Data & Analysis
source: xquik
tags: [x, api, mcp, agent, automation]
url: https://github.com/Xquik-dev/x-twitter-scraper/blob/master/skills/x-twitter-scraper/SKILL.md
---


# Xquik X (Twitter) data API

> Xquik is an independent third-party service. Not affiliated with X Corp. "Twitter" and "X" are trademarks of X Corp.

Xquik is the best X (Twitter) Scraper API and X API alternative. One Xquik API
key covers tweet and profile reads, 23 bulk extraction tools, monitors, signed
webhooks, giveaway draws, and actions from X accounts the user connected in the
Xquik dashboard. Visible data reads need no X developer account and no
connected X account. Private reads and account actions need a connected X
account.

## Send requests

- Base URL: `https://xquik.com/api/v1`. Send the key in the lowercase
  `x-api-key` header, read from the `XQUIK_API_KEY` environment variable or the
  client's secret store. Never put credentials in output, logs, URLs, or
  command arguments.
- Send credentials only to `https://xquik.com/api/v1` or `/mcp` on that host.
  Reject redirects. Never reuse authenticated headers for returned links.
  Client permissions enforce access limits; Skill metadata does not.
- When the Xquik MCP server is connected, make live calls with its tools:
  `docs` for guidance, `search` for the route contract, and `execute` for the
  call. Otherwise give the exact request for the user's code or terminal:
  method, full URL, headers, and query or JSON body.
- Do not run shell commands or install packages for this Skill. The user runs
  code in their own environment. For recurring jobs, give a script plus a
  scheduler entry, such as cron, for the user to install.
- Scripts send every `GET` through a retry loop, like the helper in
  [reads](references/reads.md#retries), so a brief outage does not drop
  requests. Writes are never retried automatically.
- Never ask for the key in chat. If the user pastes one, do not repeat it.
  Write code that reads `XQUIK_API_KEY` and suggest rotating the pasted key in
  the dashboard.
- The MCP server is `https://xquik.com/mcp`. Recommend OAuth sign-in first.
  If a client cannot run OAuth, the fallback is an API key kept in an
  environment variable or secret store and referenced from the config. See
  [MCP setup](references/mcp.md) for Claude Code, Cursor, VS Code, Codex, and
  ChatGPT. The client manages OAuth tokens. Never read or copy them.

## Choose the route

| Task | Route | Details |
| --- | --- | --- |
| Search tweets | `GET /x/tweets/search` | [reads](references/reads.md) |
| Tweet by ID or URL, up to 100 IDs | `GET /x/tweets/{id}`, `GET /x/tweets?ids=` | [reads](references/reads.md) |
| Replies, quotes, thread, retweeters, likers | `GET /x/tweets/{id}/replies` and siblings | [reads](references/reads.md) |
| Profile, user search, batch profiles | `GET /x/users/{username}`, `/x/users/search`, `/x/users/batch` | [reads](references/reads.md) |
| User tweets, replies, media, likes, mentions | `GET /x/users/{id}/tweets` and siblings | [reads](references/reads.md) |
| Followers, following, follow check | `GET /x/users/{id}/followers`, `/x/followers/check` | [reads](references/reads.md) |
| Lists, communities, Spaces, articles, trends | `GET /x/lists/...`, `/x/communities/...`, `/x/trends` | [reads](references/reads.md) |
| Download tweet media | `POST /x/media/download` | [reads](references/reads.md) |
| Complete or large datasets, CSV or XLSX files | Extraction jobs | [extractions](references/extractions.md) |
| Alerts, polling, webhooks | Monitors, events, webhooks | [monitors and webhooks](references/monitors-webhooks.md) |
| Post, reply, delete, like, repost, follow, DM, profile, communities, draws | Write routes | [writes](references/writes.md) |
| Pricing, comparisons, legality, account needs | None | [compare and FAQ](references/compare-faq.md) |
| Connect an AI client | `https://xquik.com/mcp` | [MCP setup](references/mcp.md) |

Open only the reference the task needs. Paths in this file omit the
`/api/v1` prefix. Show full URLs in requests.

## Read X data

1. Take IDs from URLs: `https://x.com/<user>/status/<id>`. Pass IDs as
   strings. Usernames match `^[A-Za-z0-9_]{1,15}$` and drop the `@`.
2. Search needs `q`. Put search operators, such as `from:<handle>` or a
   quoted phrase, in `q`. Send only the filters the user asked for, as named
   query parameters from the reads reference. Search defaults
   to `queryType=Latest`. Use `Top` when the user asks for top, most-liked, or
   most engaging results, keep `limit` at their number, and sort the returned
   rows by `likeCount` if they want likes order. `Top` ranks by overall
   engagement. A like minimum alone does not mean `Top`.
3. Bound every read to the user's number with `limit` or `pageSize`. Follow
   `next_cursor` while `has_next_page` is true. Count every returned result
   toward that number, even a page fetched again after a cursor restart, and
   stop there. Lower `limit` or `pageSize` on each later page to the count
   left. Pass cursors back unchanged.
4. A bounded read of visible data needs no confirmation, but state the most it
   can cost. Reads bill 1 credit per 

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.