| exploreA | Search and browse the Xquik X (Twitter) API specification to discover endpoints before making live API calls with the 'xquik' tool. When to useUse '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 useBehaviorRead-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 formatWrite an async arrow function. The sandbox provides spec.endpoints (EndpointInfo[]). Filter, search, or return them. ExamplesFind 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 useUse 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 useBehaviorExecutes 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 handling402: 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.
CostsFree: 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 formatWrite an async arrow function using xquik.request(path, { method?, body?, query? }). Auth is automatic. ExamplesSearch 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!' } }); } |