Skip to main content
Account workflows spend shared credits. Plans grant monthly credits that carry over. Guest wallets prepay 33 GET routes. MPP pays per request on 7 operations.

Subscription

Starter

USD 20/month. Includes 140,000 monthly credits (USD 0.00014/credit). Prototyping and low-volume integrations. Monitor slots are unlimited.

Pro

USD 99/month. Includes 770,000 monthly credits (USD 0.00013/credit). Production workloads and growing teams. Monitor slots are unlimited.

Business

USD 199/month. Includes 1,670,000 monthly credits (USD 0.00012/credit). High-volume automation and enterprise use. Monitor slots are unlimited.
Higher tiers give you more credits at a lower per-credit cost. PAYG credits cost USD 0.00015 each. All tiers support unlimited monitor slots. Active instant monitors cost 21 credits per hour and check every 1 second. Event and webhook deliveries are included in active monitor billing. Subscribe from the dashboard billing page. Plans activate immediately, renew monthly, and grant credits. Metered calls need enough available credits, not an active plan. Guest wallets and MPP provide accountless reads.

Pick a billing path by job

Use these cards when you need to estimate a real X API task before you run it:

Search tweets to CSV or JSON

Use GET /x/tweets/search for a page of tweets or extractions for exportable jobs. Cost: 1 credit per tweet returned or extracted.

Export followers

Use Follower extraction for CSV/JSON/XLSX exports or GET /x/users/{id}/followers for paginated API reads. Cost: 1 credit per follower returned.

Post tweets or replies

Use Create tweet. Send public media URLs in media when posting media. Cost: 30 credits text-only, plus 2 credits per started MB across attached media.

Upload media for DMs

Use Upload media when a DM needs an uploaded media_id. Cost: 10 credits per media upload call.

Monitor tweets to webhooks

Use account and keyword monitors for tweet alerts and signed webhooks. Cost: 21 credits per active monitor-hour, with a 500-credit daily estimate.

Recover from 402

Inspect payment_options. Ask the user to choose and confirm. Account, guest, and anonymous callers receive different payment choices.

Monitor pricing

Account monitors and keyword monitors use the same active billing rate:

Account monitor slots

Account monitor slots are unlimited. Active account monitors bill only while enabled.

Keyword monitor slots

Keyword monitor slots are unlimited. Active keyword monitors use the same hourly rate.

Active monitor hour

Each active instant monitor costs 21 credits per active monitor-hour.

Check interval

Instant monitors check every 1 second while active.

Webhook and event delivery

Webhook and event deliveries are included in active monitor billing.
Creating or reactivating an account monitor requires at least 22 available credits: 1 credit for the username lookup plus the 21-credit first active monitor-hour. Creating or reactivating a keyword monitor also requires at least 22 available credits and then bills active monitor hours at 21 credits per hour while enabled. New active monitors are due for billing immediately. The create response includes nextBillingAt; after a successful hourly charge, the next billing time advances by 1 hour. If hourly billing cannot charge enough credits, the monitor may pause until credits are available. Use GET /account to inspect current monitor billing. monitorsUsed, monitorBilling.activeHourlyBurn, and monitorBilling.activeDailyEstimate include active account monitors and active keyword monitors.

Plan monitor credits before you monitor tweets

Use GET /account before creating more tweet monitors or tweet alerts. Each active account monitor or keyword monitor adds 21 credits to monitorBilling.activeHourlyBurn and 500 credits to monitorBilling.activeDailyEstimate.

1 active monitor

Hourly burn: 21 credits/hour. Daily estimate: 500 credits/day. Keep at least 22 credits before creating or reactivating one more monitor.

5 active monitors

Hourly burn: 105 credits/hour. Daily estimate: 2,500 credits/day. Keep at least 22 credits before creating or reactivating one more monitor.

10 active monitors

Hourly burn: 210 credits/hour. Daily estimate: 5,000 credits/day. Keep at least 22 credits before creating or reactivating one more monitor.
The daily estimate is the value returned by the account API for capacity planning. It is intentionally rounded for alerting and top-up thresholds. If creditInfo.balance is below the next hourly burn, top up before enabling more monitors.

Monthly credits & carry-over

Every paid subscription invoice adds the monthly credit grant to your account balance. Subscription credits, top-up credits, and automatic top-up credits stay in that balance until you spend them.
  • All metered operations deduct from a single shared pool
  • No separate buckets per operation type
  • Unused subscription credits carry over to the next billing period
  • API calls are also subject to rate limits (separate from credit usage)
  • When the shared balance reaches 0, metered calls return 402 Payment Required (see error handling for recovery patterns)
  • Reading and managing stored monitor records, stored events, webhooks, and account endpoints are free. Active instant monitors are billed hourly while enabled.
402 response body
Warning: Metered calls are rejected when available credits cannot cover the operation. Top up credits or subscribe to continue.

Per-operation costs

Each metered operation deducts credits from your shared pool. Per-credit cost depends on your plan - from USD 0.00012 (Business) to USD 0.00015 (PAYG).

Extractions & draws

Extractions consume 1 or 5 credits per result depending on the extraction type:

Tweet-style results

1 credit per result. Includes tweets, replies, quotes, mentions, posts, likes, media, and search exports.

People results

1 credit per result. Includes followers, following, favoriters, retweeters, community members, people search, list members, list followers, and verified followers.

Article results

5 credits per result. Applies to article extractions.
Draws charge for the source tweet lookup, reply search, optional retweeter profile checks when mustRetweet is true, and optional follow checks for unique authors when mustFollowUsername is set. The draw first checks that the minimum cost is affordable. Remaining credits cap how many replies and retweeters can be inspected before filters and winner selection run. If the final computed cost cannot be deducted, the API returns 402 insufficient_credits and does not persist a draw result.

Credit-affordable result pages

Paid X read endpoints that charge per returned result treat limit, pageSize, count, and multi-ID request sizes as upper bounds. If the remaining credit balance cannot cover the full requested page, the endpoint can return fewer results than requested. If zero paid results are affordable, it returns 402 insufficient_credits.

Free operations

The following do not consume credits: reading and managing stored monitor records, reading stored monitor events, all webhook operations (create, get, update, delete, deliveries, test), reading, fetching, and exporting extractions and draws, cost estimates, tweet composition (compose, refine, score), style cache management, drafts, support tickets, API key management, X account management, and credit top-ups (checkout, checkout status, and quick top-up). Account status and radar are also free. Active instant monitors cost 21 credits per hour while enabled.

Credit top-ups

Ask the user to confirm before creating account checkout or charging a saved payment method.
  • Use the top-up endpoint to create a checkout redirect after confirmation
  • Use the top-up status endpoint to poll checkout completion
  • Use the quick top-up endpoint to instantly charge your saved payment method
  • Configure automatic top-up from the dashboard. GET /credits and GET /account return the enabled status, dollar amount, and trigger threshold.
  • Top-up credits cost USD 0.00015 each and are added to your balance immediately
  • Top-up credits do not expire and carry over between billing periods
Example: Starter tier (USD 20, 140K credits). A USD 10 top-up adds 66,666 credits at USD 0.00015 per credit, rounded down to whole credits.

Recover from 402

An account 402 creates no checkout. Keep the failed request, inspect payment_options, and get explicit confirmation before billing.
  1. Check the current balance:
  1. After confirmation, create a checkout top-up when no saved payment method is available:
  1. After confirmation, use quick top-up only when the account already has a saved payment method:
A USD 25 quick top-up adds 166,666 credits at USD 0.00015 per credit, rounded down to whole credits. Only the charged quick top-up outcome grants credits. If quick top-up returns no_payment_method, create a checkout top-up instead. If it returns requires_action, complete the payment confirmation flow before retrying the metered API call.

Accountless guest wallets

Guest wallets prepay the 33 eligible GET routes without an account. After the user confirms 1010-250 USD, POST /api/v1/guest-wallets creates a one-use Stripe-hosted Payment Link and returns a paid_reads key. Creation does not charge. The key stays inactive until a verified Stripe webhook. A guest 402 offers only POST /api/v1/guest-wallets/topups. See the guest wallet guide.

Pay-per-use (MPP)

Seven fixed-price read operations accept direct MPP payments. No subscription is required. Media downloads require full account authentication because they create account-tied gallery links.

MPP per-call pricing

Use MPP overview for the complete 7-operation list. Direct MPP uses fixed charge pricing:

USD 0.00015 units

GET /x/tweets/{id}, GET /x/users/{id}, and GET /x/communities/{id}/info cost USD 0.00015 per call.

USD 0.00075 calls

GET /x/followers/check and GET /x/articles/{tweetId} cost USD 0.00075 per call.

USD 0.00045 trends

Trend lookups use flat charge intent pricing: GET /trends and GET /x/trends.

Fixed charge intent

Every direct MPP operation advertises one fixed charge offer per request.

Checking usage

Call GET /api/v1/account to see your credit balance, lifetime usage, and monitor billing:
Response:
The creditInfo.balance field shows how many credits remain. The automatic top-up fields show whether top-up is enabled, the charge amount, and the balance threshold. At 0, metered calls are rejected until you top up credits.
Tip: Poll the account endpoint periodically to track usage. Build alerts when creditInfo.balance drops below 20% of your plan’s monthly credit grant to avoid hitting the limit unexpectedly.

Cancel renewal & request a refund

Open subscription settings, select Manage Plan, and cancel in Stripe’s portal. Cancellation stops future renewals. Access continues through the paid period. Unused credits remain usable after the plan ends. Cancellation does not issue a refund. Charges are non-refundable unless law or Xquik states otherwise. Review the Terms or contact support.

FAQ

What happens when I run out of credits?

Account and guest credit failures return 402 with credential-specific payment choices. Anonymous non-MPP paid reads return 401 with a Bearer challenge and guest wallet action. The 7 direct MPP reads return 402 with a Payment challenge and the same action. No error creates checkout or charges a payment method.

Do unused credits carry over?

Yes. Subscription credits and top-up credits stay in the shared balance until you spend them.

How do I check my credit balance?

Call GET /api/v1/account - the creditInfo.balance field shows remaining credits.

Next steps

  • Get Account: Full account endpoint reference with response schema.
  • API Overview: Base URL, authentication, rate limits, and conventions.
Last modified on July 16, 2026