Skip to main content
Search tweets and review API keys, signed webhooks, user profiles, REST, MCP, authentication, billing, and write changes.
v1
New
  • Accountless guest wallets prepay 33 GET routes through a scoped paid_reads key
  • POST /guest-wallets, GET /guest-wallets/status, and POST /guest-wallets/topups support hosted checkout after confirmation without an account
  • Active guest keys expose the same 33-route read-only catalog through API MCP
  • OAuth discovery advertises claimed service_auth agents with revocable access tokens and identity assertions
  • API MCP v2.6.0 supports MCP 2026-07-28 through server/discover
  • Modern discovery and tool catalogs include private cache hints
  • POST /compose now returns 7 source-specific radarRecommendations with endpoints, use cases, and drafting guidance
  • Reddit Radar items now expose available post text, destination URLs, media, public engagement signals, estimated vote counts, and post state
  • GET /x/account-connection-attempts/{id} reports a tracked connection as pending, successful, failed, or waiting for an email code
Changed
  • GET /x/tweets/search accepts pageSize as a limit alias
  • API MCP v2.6.58 gives execute calls 55 seconds of bounded wall time, documents compact result projection, and preserves completed request diagnostics after a timeout
  • GET /x/accounts supports cursor pages through limit and cursor
  • The best-practice contract paginates X accounts by default; legacy responses retain up to 10,000 accounts
  • Extraction estimates and jobs now default resultsLimit to 10,000; native MCP schemas retain OpenAPI defaults
  • API MCP v2.6.43 advertises immutable tool catalogs and disables change subscriptions
  • API MCP v2.6.42 adds OpenAPI-native tools at https://xquik.com/mcp?codemode=false; Code Mode remains the default
  • API MCP v2.6.41 removes the extraction row threshold from OpenAPI routing metadata
  • API MCP v2.6.40 uses docs, search, and execute; tool descriptions contain mechanics, not endpoint choices
  • Modern MCP calls are request-scoped and require no initialization session
  • Stateless 2025-era MCP clients remain compatible at the same endpoint
  • Field guidance now documents REST naming exceptions and MCP normalization
  • Export guidance now separates file formats from downstream column selection
  • Account connection email-code challenges now return immediately as a resumable 202 requires_email_code response
  • POST /x/accounts can return a durable 202 pending response with Location and Retry-After; follow that attempt instead of resending credentials
  • Account connection failures now expose the exact cooldown through retryAfterMs and Retry-After; retry controls show a live countdown
  • Direct MPP now covers 7 fixed-price charge operations; result-sized reads use guest or full account credits
  • Follow checks and article reads cost USD 0.00075 per direct MPP call
  • Every response after an accepted MPP payment includes Payment-Receipt, including non-2xx responses
  • The 26 non-MPP anonymous paid reads return 401 with WWW-Authenticate: Bearer and a guest wallet action
  • The 7 direct MPP reads return 402 with WWW-Authenticate: Payment and the same guest action
  • Reddit Radar now refreshes rich server-rendered items every 30 minutes and no longer creates reduced RSS fallback items
  • Startup growth Radar items now add founder, company, acquisition, margin, and revenue-efficiency fields when available
  • A successful Compose score now points to GET /x/accounts and POST /x/tweets, while retaining the one-click intentUrl
Removed
  • Obsolete public proxy_country and loginCountry account fields. Custom, dedicated, and fixed per-account proxy configuration is not supported.
v1
New
  • POST /x/tweets - added media field (1-4 image URLs); text is now optional when media is present
  • POST /x/accounts/{id}/reauth - added email and proxy_country parameters
  • POST /x/media - now accepts image/webp and image/avif (allowed: AVIF, GIF, JPEG, PNG, WebP, MP4)
  • POST /x/accounts and POST /x/accounts/{id}/reauth responses now include a health field (enum: healthy, locked, needsReauth, recovering, suspended, temporaryIssue); same field added to GET /x/accounts list and detail responses
  • POST /x/accounts and POST /x/accounts/{id}/reauth may include an optional loginCountry field (ISO-3166-1 alpha-2) when the login session country differs from the selected proxy_country
  • New error code login_cooldown (429) for POST /x/accounts and POST /x/accounts/{id}/reauth, with reason and retryAfterMs in the body and a Retry-After header
  • All 17 write endpoints (under /x/tweets, /x/users, /x/dm, /x/profile, /x/media, /x/communities) now document standardised error responses: 403 account_needs_reauth, 403 account_restricted, 422 write_rejected, 429 rate_limited_by_x, 503 transient_error
  • GET /radar items now expose 15 metadata fields per source (was 8): mrr, growthPercent, last30Days, total (required), customers, activeSubscriptions, onSale, plus optionals askingPrice, country, growthMrrPercent, multiple, paymentProvider, rank, category, xHandle
  • Expanded Machine Payments Protocol (MPP) pay-per-use to 31 endpoints (tweets, communities, lists, user data)
  • New framework guides: LangChain, Pydantic AI, CrewAI, Mastra, Google ADK, Microsoft Agent Framework
Changed
  • Billing migrated to credits-only model (usage-quota removed)
  • GET /account response: creditInfo replaces currentPeriod
  • POST /extractions/estimate response: creditsRequired / creditsAvailable replace usagePercent / projectedPercent
  • Real-time WebSocket monitor sync retired in favour of an async poller. No public API contract change; underlying delivery model changed.
  • POST /x/tweets/{id}/like and POST /x/tweets/{id}/retweet are now end-to-end idempotent. Calling either on an already-acted-on tweet returns 200 success rather than the prior silent rejection that produced a 500 plus an account cooldown.
Removed
  • Event types follower.gained and follower.lost are no longer emitted. Valid event types: tweet.new, tweet.quote, tweet.reply, tweet.retweet (plus webhook.test).
  • Error code shadow_account (422) removed from POST /monitors (shadow-check subsystem deleted)
  • Error code stream_registration_failed (502) removed from POST /monitors (monitor activation is now asynchronous)
  • Telegram bot endpoints and integrations pipeline endpoints removed
v1
New
  • MPP expanded from 16 to 31 eligible endpoints
  • Webhook delivery signing now uses HMAC-SHA256 with X-Xquik-Signature header
Changed
  • OAuth 2.1 discovery metadata now served from /.well-known/oauth-authorization-server
  • Rate limit responses include Retry-After header