X Twitter Scraper
Skill de API de X / Scraper de Twitter para agentes de codificación de IA
Una skill para agentes de IA que proporciona a los agentes de codificación un conocimiento profundo de la plataforma de datos en tiempo real de Xquik para X (Twitter). 121 endpoints de API REST, 2 herramientas MCP, webhooks HMAC, 23 herramientas de extracción masiva y acciones de escritura.
La API de datos de X más barata del mercado — lecturas desde $0.00015/llamada (33 veces más barata que la API oficial de X).
Funciona con más de 40 agentes de codificación de IA, incluyendo Claude Code, OpenAI Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, VS Code, Cline, Roo Code, Goose, Amp, Augment, Continue, OpenHands, Trae, OpenCode y más.
Precios
Xquik es drásticamente más barato que cualquier alternativa para el acceso a datos de X/Twitter.
vs API oficial de X
Xquik | API de X Basic | API de X Pro | |
Coste mensual | $20 | $100 | $5,000 |
Coste por lectura de tweet | $0.00015 | ~$0.01 | ~$0.005 |
Coste por búsqueda de usuario | $0.00015 | ~$0.01 | ~$0.005 |
Acciones de escritura | $0.0015 | Limitado | Limitado |
Extracción masiva | Desde $0.00015/resultado | No disponible | No disponible |
Monitorización + webhooks | Gratis | No disponible | No disponible |
Sorteos | $0.00015/participación | No disponible | No disponible |
Servidor MCP | Incluido | No disponible | No disponible |
Costes por operación (1 crédito = $0.00015)
Operación | Créditos | Coste |
Lectura (tweet, búsqueda, cronología, marcadores, etc.) | 1 | $0.00015 |
Lectura (perfil de usuario, seguidores verificados, seguidores que conoces) | 1 | $0.00015 |
Lectura (quienes dieron like) | 1 | $0.00015 |
Lectura (tendencias) | 3 | $0.00045 |
Comprobación de seguimiento, artículo | 7 | $0.00105 |
Escritura (tweet, like, retweet, seguir, DM, etc.) | 10 | $0.0015 |
Extracción (tweets, respuestas, citas, menciones, publicaciones, likes, multimedia, búsqueda, quienes dieron like, retweeters, miembros de comunidades, búsqueda de personas, miembros de listas, seguidores de listas) | 1/resultado | $0.00015/resultado |
Extracción (seguidores, seguidos, seguidores verificados) | 1/resultado | $0.00015/resultado |
Extracción (artículos) | 5/resultado | $0.00075/resultado |
Sorteo | 1/participación | $0.00015/participación |
Monitores, webhooks, radar, redacción, borradores, integraciones | 0 | Gratis |
Pago por uso (Sin suscripción)
Dos opciones para pago por uso sin suscripción mensual:
Créditos: Recarga créditos mediante
POST /credits/topup(mínimo $10). 1 crédito = $0.00015. Funciona con los 121 endpoints.MPP: 16 endpoints de la API de X aceptan pagos anónimos en cadena mediante el Protocolo de Pagos de Máquina (Machine Payments Protocol). No se necesita cuenta. SDK:
npm i mppx viem.
Related MCP server: MCP Twitter
Instalación
Instala a través de la CLI de skills (detecta automáticamente tus agentes instalados):
npx skills add Xquik-dev/x-twitter-scraperInstalación manual
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-scraperQué hace esta Skill
Una vez instalada, esta skill proporciona a tu asistente de codificación de IA un conocimiento profundo de la plataforma Xquik:
Búsqueda y consulta de tweets: Busca tweets por palabra clave, hashtag, operadores avanzados. Obtén métricas de interacción completas para cualquier tweet
Consulta de perfil de usuario: Obtén recuentos de seguidores/seguidos, biografía, ubicación y datos de perfil para cualquier cuenta de X
Feeds de actividad de usuario: Obtén los tweets recientes, tweets que le gustaron y tweets multimedia de un usuario
Datos de interacción de tweets: Obtén quién dio like (favoritos) a cualquier tweet, seguidores mutuos entre cuentas
Extracción de seguidores y seguidos: Extrae listas completas de seguidores, seguidores verificados y listas de seguidos
Extracción de respuestas, retweets y citas: Extrae masivamente todas las respuestas, retweets y tweets citados
Descarga de multimedia: Descarga imágenes, vídeos y GIFs con URLs alojadas permanentemente
Extracción de hilos y artículos: Extrae hilos completos de tweets y contenido de artículos enlazados
Datos de comunidades y Spaces: Extrae miembros de comunidades, moderadores, publicaciones y participantes de Spaces
Marcadores y notificaciones: Accede a marcadores, carpetas de marcadores, notificaciones y cronología de inicio
Historial de DM: Recupera el historial de conversaciones con cualquier usuario
Comprobador de seguimiento mutuo: Comprueba si dos cuentas se siguen mutuamente
Monitorización de cuentas de X: Rastrea cuentas para nuevos tweets, respuestas, citas, retweets y cambios en seguidores
Entrega de webhooks: Recibe notificaciones de eventos firmadas con HMAC en tu endpoint HTTPS
Temas de tendencia: Obtén hashtags y temas de tendencia por región
Radar: Noticias de tendencia de 7 fuentes (Google Trends, Hacker News, Polymarket, TrustMRR, Wikipedia, GitHub, Reddit). Gratis
Sorteos: Realiza sorteos transparentes a partir de respuestas a tweets con filtros configurables
Acciones de escritura: Publicar tweets, dar like, retweet, seguir/dejar de seguir, enviar DMs, actualizar perfil, subir multimedia, gestionar comunidades
Integraciones con Telegram: Recibe notificaciones de eventos de monitorización en tiempo real en Telegram
Automatizaciones de flujo: Flujos de trabajo basados en disparadores con eventos de monitorización, programaciones, búsqueda y webhooks entrantes
Composición de tweets: Compositor de tweets optimizado por algoritmo con puntuación (gratis)
Créditos y facturación: Comprueba el saldo, recarga créditos, gestiona la suscripción
Tickets de soporte: Abre y gestiona tickets de soporte a través de la API
Servidor MCP: 2 herramientas que cubren 121 endpoints para la integración de agentes de IA
Pago por uso (MPP): Acceso anónimo a 16 endpoints mediante pagos en cadena, no se necesita cuenta
Capacidades
Área | Detalles |
API REST | 121 endpoints en 12 categorías con lógica de reintento y paginación |
Servidor MCP | 2 herramientas (explore + xquik). StreamableHTTP, configuraciones para 10 plataformas |
Extracción de datos | 23 herramientas de extracción masiva (respuestas, retweets, citas, favoritos, hilos, artículos, likes de usuario, multimedia de usuario, comunidades, listas, Spaces, búsqueda de personas, búsqueda de tweets, menciones, publicaciones) |
Consultas de X | Tweet, usuario, artículo, búsqueda, tweets de usuario, likes de usuario, multimedia de usuario, favoritos, seguidores mutuos, marcadores, notificaciones, cronología, historial de DM |
Acciones de escritura | Publicar/eliminar tweets, dar/quitar like, retweet, seguir/dejar de seguir, DM, actualización de perfil, avatar/banner, subida de multimedia, acciones de comunidad |
Sorteos | Selección aleatoria de ganador a partir de respuestas a tweets con 11 opciones de filtro |
Monitorización de cuentas | Seguimiento en tiempo real de tweets, respuestas, citas, retweets, cambios en seguidores |
Webhooks | Verificación de firma HMAC-SHA256 en Node.js, Python, Go |
Integraciones con Telegram | Notificaciones de eventos de monitorización en tiempo real mediante bot de Telegram |
Descarga de multimedia | Descarga de imágenes, vídeos, GIFs con URLs alojadas permanentemente |
Análisis de interacción | Likes, retweets, respuestas, citas, vistas, marcadores por tweet |
Temas de tendencia | Tendencias regionales + 7 fuentes de noticias gratuitas vía Radar |
Composición de tweets | Compositor de tweets optimizado por algoritmo con lista de verificación de puntuación (gratis) |
Créditos y facturación | Comprobar saldo, recargar, gestionar suscripción vía API |
Pago por uso (MPP) | 16 endpoints con pagos anónimos en cadena, no se necesita cuenta |
Tipos de TypeScript | Definiciones de tipo completas para todos los objetos de la API |
Agentes compatibles
Claude Code, OpenAI Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, VS Code Copilot, Cline, Roo Code, Goose, Amp, Augment, Continue, OpenHands, Trae, OpenCode y cualquier agente que admita el protocolo skills.sh.
Cobertura de la API
Recurso | Endpoints |
Consultas de X | Tweet, artículo, búsqueda, perfil de usuario, tweets de usuario, likes de usuario, multimedia de usuario, favoritos, seguidores que conoces, comprobación de seguimiento, descarga de multimedia, marcadores, carpetas de marcadores, notificaciones, cronología, historial de DM |
Extracciones | Crear (23 tipos), estimar, listar, obtener resultados, exportar |
Monitores | Crear, listar, obtener, actualizar, eliminar |
Eventos | Listar (filtrado, paginado), obtener uno |
Webhooks | Crear, listar, actualizar, eliminar, probar, entregas |
Tendencias | Temas de tendencia regionales |
Radar | Temas de tendencia y noticias de 7 fuentes (gratis) |
Sorteos | Crear con filtros, listar, obtener con ganadores, exportar |
Estilos | Analizar, guardar, listar, obtener, eliminar, comparar, rendimiento |
Componer | Composición de tweets (componer, refinar, puntuar) |
Borradores | Crear, listar, obtener, eliminar |
Cuenta | Obtener cuenta, actualizar configuración regional, establecer identidad de X, suscribirse |
Créditos | Obtener saldo, recargar |
Claves de API | Crear, listar, revocar |
Cuentas de X | Conectar, listar, obtener, desconectar, volver a autenticar |
Escritura en X | Tweet, eliminar, dar like, quitar like, retweet, seguir, dejar de seguir, DM, perfil, avatar, banner, subida de multimedia, comunidades |
Integraciones | Crear (Telegram), listar, obtener, actualizar, eliminar, probar, entregas |
Automatizaciones | Crear, listar, obtener, actualizar, eliminar, añadir/actualizar/eliminar pasos, posiciones, probar, webhook entrante |
Soporte | Crear ticket, listar, obtener, actualizar, responder |
Estructura de la Skill
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 fileEnlaces
Licencia
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