Skip to main content
Glama
Xquik-dev

X Twitter Scraper

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
exploreA

Search and browse the Xquik X (Twitter) API specification to discover endpoints before making live API calls with the 'xquik' tool.

When to use

  • Use 'explore' FIRST to find the right endpoint path, parameters, and response shape before calling 'xquik'.

  • Use when the user asks what capabilities are available or how to accomplish a task on X/Twitter.

  • Use to check whether an endpoint is free or requires a subscription.

When NOT to use

  • Do NOT use 'explore' to fetch live data from X — use 'xquik' instead.

  • Do NOT use if you already know the endpoint path and parameters.

Behavior

  • Read-only, idempotent. No network calls — runs against an in-memory catalog of 121 endpoints.

  • Always free, no authentication or credits required.

  • Returns the result of your filter function (e.g., empty array if no endpoints match).

  • Returns an error message if the code is syntactically invalid or throws at runtime.

  • Execution timeout: 60 seconds.

  • Each EndpointInfo contains: method, path, summary, category (account | composition | credits | extraction | integrations | media | monitoring | support | twitter | x-accounts | x-write | bot), free (boolean), parameters (array), and responseShape (string).

Input format

Write an async arrow function. The sandbox provides spec.endpoints (EndpointInfo[]). Filter, search, or return them.

Examples

Find all free endpoints: async () => spec.endpoints.filter(e => e.free) Find by category: async () => spec.endpoints.filter(e => e.category === 'composition') Search by keyword: async () => spec.endpoints.filter(e => e.summary.toLowerCase().includes('tweet')) Get full details: async () => spec.endpoints.find(e => e.path === '/api/v1/x/tweets/search')

xquikA

Execute authenticated X (Twitter) API calls to read data, publish content, and manage accounts across 121 REST endpoints.

When to use

  • Use after calling 'explore' to discover the endpoint path and parameters.

  • Use for any live X/Twitter operation: search tweets, look up users, post tweets, like, retweet, follow, send DMs, run giveaway draws, monitor accounts, extract bulk data, compose tweets, and more.

When NOT to use

  • Do NOT use to discover endpoints — use 'explore' first.

  • Do NOT pass API keys or auth headers — authentication is injected automatically.

Behavior

  • Executes the provided async function in a sandboxed environment with xquik.request(path, options?) and spec.endpoints available.

  • Sandboxed via Node.js VM: no filesystem, no global network access — only xquik.request() is available. Console calls are silently ignored.

  • Execution timeout: 60 seconds per invocation, 60 seconds per individual API request.

  • Read operations (GET) return JSON objects with the requested data. Write operations (POST/DELETE) return { success: true } or { success: true, warning: '...' }.

  • Pagination: responses include has_next_page (boolean) and next_cursor (string). Pass cursor as a query param for the next page.

  • Can be destructive: write operations (POST/DELETE) modify data on X (tweets, follows, DMs, profile).

Error handling

  • 402: Subscription required or insufficient credits. Call POST /api/v1/subscribe to get a checkout URL.

  • 429: Rate limited. Retry after backoff.

  • 404: Resource not found (user, tweet, or monitor does not exist).

  • 200 with warning field: Probable success — do NOT retry.

Costs

  • Free: compose, styles, drafts, radar, subscribe, account, api-keys, support.

  • 1 credit/read ($0.00015): tweet search, timeline, bookmarks, favoriters.

  • 10 credits/write ($0.0015): tweet, like, retweet, follow, DM.

Input format

Write an async arrow function using xquik.request(path, { method?, body?, query? }). Auth is automatic.

Examples

Search tweets: async () => xquik.request('/api/v1/x/tweets/search', { query: { q: 'AI agents', limit: '50' } }) Get user: async () => xquik.request('/api/v1/x/users/elonmusk') Post tweet: async () => { const { accounts } = await xquik.request('/api/v1/x/accounts'); return xquik.request('/api/v1/x/tweets', { method: 'POST', body: { account: accounts[0].xUsername, text: 'Hello!' } }); }

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

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