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.
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.
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
UseGET /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.
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.
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 treatlimit, 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 /creditsandGET /accountreturn 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 account402 creates no checkout. Keep the failed request, inspect payment_options, and get explicit confirmation before billing.
- Check the current balance:
- After confirmation, create a checkout top-up when no saved payment method is available:
- After confirmation, use quick top-up only when the account already has a saved payment method:
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 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 fixedcharge 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
CallGET /api/v1/account to see your credit balance, lifetime usage, and monitor billing:
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 return402 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?
CallGET /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.