Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.xquik.com/llms.txt

Use this file to discover all available pages before exploring further.

Xquik uses a flat subscription model with a monthly credit grant for authenticated API usage. Unused subscription credits carry over in the same balance, and metered reads, writes, extractions, draws, media uploads, and active instant monitors spend from that balance. Some account, webhook, stored monitor, stored event, and credit-management endpoints are free. Eligible MPP read endpoints can also be paid per request without a subscription.

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. Your subscription activates immediately and renews monthly. An active subscription is required for authenticated metered API access. MPP read endpoints are the separate pay-per-use path.

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: 10 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

Use GET /credits, checkout top-up, or quick top-up. Checkout top-ups start at USD 10; quick top-up charges a saved payment method for USD 10-500.

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
{ "error": "no_subscription", "message": "Subscribe to access this endpoint" }
Warning: Metered calls are rejected once credits are consumed. Top up credits from the dashboard 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).
EndpointUnitCredits
Bookmark foldersper call1
Bookmarksper result1
Community join/leaveper call10
Create tweettext-only call10
Create tweet attached mediaper started MB across all files2
Delete tweetper call10
DM historyper result1
Download mediaper fresh tweet processed with media1
Favoritersper result1
Followper call10
Follow checkper call5
Followers you knowper result1
Get articleper call5
Get tweetper call1
Get userper call1
Likeper call10
Active instant monitorper active monitor-hour21
Notificationsper result1
Retweetper call10
Remove followerper call10
Search tweetsper tweet returned1
Send DMper call10
Timelineper result1
Trendsper call3
Unfollowper call10
Unlikeper call10
Unretweetper call10
Upload mediaper call10
User likesper result1
User mediaper result1
User timelineper tweet returned1
Verified followersper result1

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

If you need more credits beyond your current balance, purchase additional credits from the dashboard:
  • Use the top-up endpoint to redirect to checkout
  • 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

When a metered call returns 402 no_credits or 402 insufficient_credits, keep the failed request body, top up, then retry the same metered call.
  1. Check the current balance:
curl -s https://xquik.com/api/v1/credits \
  -H "x-api-key: xq_YOUR_KEY_HERE" | jq
{
  "balance": "450",
  "lifetime_purchased": "1000",
  "lifetime_used": "550",
  "auto_topup_enabled": false,
  "auto_topup_amount_dollars": 10,
  "auto_topup_threshold": "50000"
}
  1. Create a checkout top-up when no saved payment method is available:
curl -s -X POST https://xquik.com/api/v1/credits/topup \
  -H "x-api-key: xq_YOUR_KEY_HERE" \
  -H "Content-Type: application/json" \
  -d '{"dollars": 10}' | jq
{
  "url": "https://xquik.com/billing/checkout/session"
}
  1. Use quick top-up only when the account already has a saved payment method:
curl -s -X POST https://xquik.com/api/v1/credits/quick-topup \
  -H "x-api-key: xq_YOUR_KEY_HERE" \
  -H "Content-Type: application/json" \
  -d '{"dollars": 25}' | jq
{
  "outcome": "charged",
  "balance": "167116",
  "credits": "166666"
}
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.

Pay-per-use (MPP)

31 X-API read-only endpoints accept Machine Payments Protocol payments. No subscription required. Media downloads require API key or session-cookie authentication because they create gallery links tied to the authenticated account.

MPP per-call pricing

Use MPP overview for the full 31-endpoint route list. This guide keeps price bands here so mobile readers can estimate before opening the full table.

USD 0.00015 units

Most reads cost USD 0.00015 per call, tweet, user, or community. Examples: GET /x/tweets/{id}, GET /x/tweets/search, GET /x/users/{id}, GET /x/users/{id}/followers, timelines, replies, quotes, communities, and lists.

USD 0.00105 calls

Higher-cost flat charge intent calls: GET /x/followers/check and GET /x/articles/{tweetId}.

USD 0.00045 trends

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

Charge vs session

Charge intent endpoints bill once per call. Session intent endpoints deposit funds, then deduct by returned tweet, user, or community.
Note: With a subscription, a monthly credit grant is added to your balance and unused credits carry over. With MPP, every call is billed individually with no monthly commitment.
Related MPP pages:
  • MPP overview: Protocol details, eligible endpoints, and comparison with subscriptions.
  • MPP quickstart: Make your first pay-per-use API call.

Checking usage

Call GET /api/v1/account to see your credit balance, lifetime usage, and monitor billing:
curl -s https://xquik.com/api/v1/account \
 -H "x-api-key: xq_YOUR_KEY_HERE" | jq
Response:
{
  "plan": "active",
  "monitorsAllowed": 9007199254740991,
  "monitorsUsed": 1,
  "monitorBilling": {
    "activeDailyEstimate": "500",
    "activeHourlyBurn": "21",
    "creditsPerActiveMonitorDay": "500",
    "creditsPerActiveMonitorHour": "21",
    "eventsIncluded": true,
    "instantCheckIntervalSeconds": 1,
    "unlimitedSlots": true
  },
  "creditInfo": {
    "balance": "77000",
    "lifetimePurchased": "140000",
    "lifetimeUsed": "63000",
    "autoTopupEnabled": false,
    "autoTopupAmountDollars": 10,
    "autoTopupThreshold": "50000"
  }
}
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.

FAQ

What happens when I run out of credits?

Metered calls return 402 Payment Required. Reading stored monitor events, webhooks, and account endpoints continue working. Active monitors may pause when hourly billing cannot be charged. Top up credits from the dashboard to continue.

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.

Can I downgrade or cancel anytime?

Yes. Changes take effect at the end of the current billing period.

Can I top up credits without a checkout redirect?

Yes. Use the quick top-up endpoint to instantly charge your saved payment method. If no card is on file, use the standard top-up endpoint, which redirects to checkout.

Next steps

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