> ## 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 API pricing, credits & billing guide

> Compare tweet search and follower export costs, then manage Xquik subscriptions, guest wallets, credits, top-ups, carry-over, and MPP pay-per-use payments.

<blockquote className="agent-llms-directive">
  For the complete documentation index, see <a href="/llms.txt">llms.txt</a>.
</blockquote>

Compare Twitter API pricing and X API pricing with Xquik. Read the
[Twitter API alternative and pricing guide](/alternatives/x-api).
This page covers Xquik API pricing for tweet search and follower exports.
It covers replies, profiles, timelines, monitors, webhooks, and write actions.

Account workflows spend shared credits. Plans grant monthly credits that carry
over. Guest wallets prepay the eligible paid-read routes. MPP pays per request on fixed-price operations.

## Subscription

<CardGroup cols={3}>
  <Card title="Starter" icon="rocket">
    USD 20/month. Includes 140,000 monthly credits (USD 0.00014/credit).
    Prototyping and low-volume integrations. Monitor slots are unlimited.
  </Card>

  <Card title="Pro" icon="gauge">
    USD 99/month. Includes 770,000 monthly credits (USD 0.00013/credit).
    Production workloads and growing teams. Monitor slots are unlimited.
  </Card>

  <Card title="Business" icon="building-2">
    USD 199/month. Includes 1,670,000 monthly credits (USD 0.00012/credit).
    High-volume automation and enterprise use. Monitor slots are unlimited.
  </Card>
</CardGroup>

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 monitors cost 21 credits per
hour and check every second. The rate includes stored events and webhook delivery.

Subscribe from the [dashboard billing page](https://dashboard.xquik.com/en/account?tab=subscription). 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 to estimate the cost of an X API task before you run it:

<CardGroup cols={2}>
  <Card title="Search tweets to CSV or JSON" icon="search">
    Use [`GET /x/tweets/search`](/api-reference/x/search-tweets) for a page of tweets or [extractions](/guides/extraction-workflow) for exportable jobs. Cost: 1 credit per tweet returned or extracted.
  </Card>

  <Card title="Export followers" icon="users">
    Use [Follower extraction](/guides/extraction-workflow) for CSV, JSON, or XLSX exports or [`GET /x/users/{id}/followers`](/api-reference/x/followers) for paginated API reads. Cost: 1 credit per follower returned.
  </Card>

  <Card title="Post tweets or replies" icon="send">
    Use [Create tweet](/api-reference/x-write/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.
  </Card>

  <Card title="Upload media for DMs" icon="image">
    Use [Upload media](/api-reference/x-write/upload-media) when a DM needs an uploaded `media_id`. Cost: 10 credits per media upload call.
  </Card>

  <Card title="Monitor tweets to webhooks" icon="radio">
    Use [account and keyword monitors](/api-reference/monitors/create) for tweet alerts and signed webhooks. Cost: 21 credits per active monitor-hour, with a 500-credit daily estimate.
  </Card>

  <Card title="Recover from 402" icon="credit-card">
    Inspect `payment_options`. Ask the user to choose and confirm. Account, guest, and anonymous callers receive different payment choices.
  </Card>
</CardGroup>

### Monitor pricing

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

<CardGroup cols={2}>
  <Card title="Account monitor slots" icon="users">
    Account monitor slots are unlimited. Active account monitors bill only while enabled.
  </Card>

  <Card title="Keyword monitor slots" icon="search">
    Keyword monitor slots are unlimited. Active keyword monitors use the same hourly rate.
  </Card>

  <Card title="Active monitor hour" icon="clock">
    Each active monitor costs 21 credits per monitor-hour.
  </Card>

  <Card title="Check interval" icon="timer">
    Active monitors check every 1 second.
  </Card>

  <Card title="Webhook and event delivery" icon="radio">
    Active monitor billing includes webhook and event deliveries.
  </Card>
</CardGroup>

Creating or reactivating an account monitor requires at least 22 available credits. That covers 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. It then bills 21 credits per active monitor-hour.

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`](/api-reference/account/get) 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`.

<CardGroup cols={3}>
  <Card title="1 active monitor" icon="radio">
    Hourly cost: 21 credits/hour. Daily estimate: 500 credits/day. Keep at least 22 credits before creating or reactivating one more monitor.
  </Card>

  <Card title="5 active monitors" icon="activity">
    Hourly cost: 105 credits/hour. Daily estimate: 2,500 credits/day. Keep at least 22 credits before creating or reactivating one more monitor.
  </Card>

  <Card title="10 active monitors" icon="gauge">
    Hourly cost: 210 credits/hour. Daily estimate: 5,000 credits/day. Keep at least 22 credits before creating or reactivating one more monitor.
  </Card>
</CardGroup>

The account API returns the daily estimate for capacity planning. Xquik rounds it on purpose 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
* [Rate limits](/guides/rate-limits) also apply to API calls, separately from credit usage
* When the shared balance reaches 0, metered calls return `402 Payment Required` (see [error handling](/guides/error-handling#billing--credit-errors-402) for recovery patterns)
* Reading and managing stored monitor records, stored events, webhooks, and account endpoints are free. Active monitors bill hourly.

```json 402 response body theme={null}
{
  "error": "insufficient_credits",
  "message": "Insufficient credits. Top up or subscribe to continue."
}
```

> **Warning.** Xquik rejects metered calls when available credits cannot cover the operation. [Top up credits](/api-reference/credits/topup) or subscribe to continue.

## Per-operation costs

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

* **1 credit per call.** [Bookmark folders](/api-reference/x/bookmark-folders), [Check repost](/api-reference/x/tweet-repost-check), [Embed tweet](/api-reference/x/tweet-embed), [Get broadcast](/api-reference/x/get-broadcast), [Get job](/api-reference/x/get-job), [Get Space](/api-reference/x/get-space), [Get Space replay](/api-reference/x/space-replay), [Get tweet](/api-reference/x/get-tweet), [Get user](/api-reference/x/twitter-profile-lookup), [Translate tweet](/api-reference/x/tweet-translation).
* **1 credit per call that returns a caption track.** [Tweet subtitles](/api-reference/x/tweet-subtitles). A tweet without captions costs nothing.
* **1 credit per result.** [Affiliates](/api-reference/x/user-affiliates), [Bookmarks](/api-reference/x/bookmarks), [Community media](/api-reference/x/community-media), [Creator subscriptions](/api-reference/x/user-subscriptions), [DM history](/api-reference/x/dm-history), [Favoriters](/api-reference/x/favoriters), [Follower IDs](/api-reference/x/follower-ids), [Followers you know](/api-reference/x/followers-you-know), [Following IDs](/api-reference/x/following-ids), [Hidden replies](/api-reference/x/tweet-hidden-replies), [List memberships](/api-reference/x/user-list-memberships), [Notifications](/api-reference/x/notifications), [Resolve links](/api-reference/x/resolve-links), [Search autocomplete](/api-reference/x/search-autocomplete), [Search jobs](/api-reference/x/search-jobs), [Search lists](/api-reference/x/search-lists), [Search Spaces](/api-reference/x/search-spaces), [Similar accounts](/api-reference/x/user-similar), [Timeline](/api-reference/x/timeline), [User articles](/api-reference/x/user-articles), [User highlights](/api-reference/x/user-highlights), [User lists](/api-reference/x/user-lists), [User likes](/api-reference/x/user-likes), [User media](/api-reference/x/user-media), [Verified followers](/api-reference/x/verified-followers).
* **1 credit per tweet returned.** [Batch user tweets](/api-reference/x/batch-user-tweets), [Search tweets](/api-reference/x/search-tweets), [User replies timeline](/api-reference/x/user-replies), [User timeline](/api-reference/x/user-tweets).
* **1 credit per location returned.** [Job locations](/api-reference/x/job-locations), [Trend locations](/api-reference/x/trend-locations).
* **1 credit per place returned.** [Search places](/api-reference/x/search-places).
* **1 credit per hashflag returned.** [Hashflags](/api-reference/x/hashflags).
* **1 credit per topic returned, subtopics included.** [Community topics](/api-reference/x/community-topics).
* **1 credit per Community returned.** [Find communities](/api-reference/x/community-find), [Popular communities](/api-reference/x/community-popular), [Suggested communities](/api-reference/x/community-suggested).
* **1 credit per fresh tweet processed with media.** [Download media](/api-reference/x/download-media).
* **2 credits per analyzed post.** [Brand mentions](/api-reference/x/brand-monitoring), [Classify posts](/api-reference/x/classify-tweets), [Market signals](/api-reference/x/market-signals), [News classification](/api-reference/x/news-classification), [Sentiment analysis](/api-reference/x/sentiment-analysis), [Viral score](/api-reference/x/viral-score). A post without an analysis costs nothing.
* **3 credits per call.** [Trends](/api-reference/x/trends).
* **5 credits per call.** [Follow check](/api-reference/x/check-follower), [Get article](/api-reference/x/get-article).
* **10 credits per call.** Community join or leave, [Delete tweet](/api-reference/x-write/delete-tweet), [Follow](/api-reference/x-write/follow), [Like](/api-reference/x-write/like), [Remove follower](/api-reference/x-write/remove-follower), [Retweet](/api-reference/x-write/retweet), [Send DM](/api-reference/x-write/send-dm), [Unfollow](/api-reference/x-write/unfollow), [Unlike](/api-reference/x-write/unlike), [Unretweet](/api-reference/x-write/unretweet), [Upload media](/api-reference/x-write/upload-media).
* **10 credits, only when X deleted it.** [Delete DM](/api-reference/x-write/delete-dm).
* **30 credits per text-only call.** [Create tweet](/api-reference/x-write/create-tweet). Attached media adds 2 credits per started MB across all files.
* **21 credits per monitor-hour.** Each active monitor.

### Extractions & draws

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

<CardGroup cols={3}>
  <Card title="Tweet-style results" icon="message-square">
    1 credit per result. Includes tweets, replies, quotes, mentions, posts, likes, media, and search exports.
  </Card>

  <Card title="People results" icon="users">
    1 credit per result. Includes followers, following, favoriters, retweeters, community members, people search, list members, list followers, and verified followers.
  </Card>

  <Card title="Article results" icon="file-text">
    5 credits per result. Applies to article extractions.
  </Card>
</CardGroup>

Draws charge for the source tweet lookup and the reply search. They charge for retweeter profile checks when `mustRetweet` is true. With `mustFollowUsername`, they charge 1 follow check per author who passes the other filters. The draw first checks that the minimum cost is affordable. Remaining credits cap how many replies and retweeters the draw can inspect before filters and winner selection run. If the API cannot deduct the final computed cost, it returns `402 insufficient_credits` and does not store 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: stored monitor management, stored event reads, webhook operations, extraction and draw reads or exports, cost estimates, composition, styles, drafts, support, API keys, X account management, credit top-ups, account status, and [Radar](/api-reference/radar/list). Active monitors cost 21 credits per hour.

## Credit top-ups

Ask the user to confirm before creating account checkout or charging a saved payment method.

* Use the [top-up endpoint](/api-reference/credits/topup) to create a checkout redirect after confirmation
* Use the [top-up status endpoint](/api-reference/credits/topup-status) to poll checkout completion
* The dashboard uses [quick top-up](/api-reference/credits/quick-topup) for saved methods
* Configure automatic top-up from the dashboard. `GET /credits` and `GET /account` return the enabled status, dollar amount, and trigger threshold.
* Automatic top-up stops after 3 declined charges in a row. The dashboard then asks you to update the card. A new card, a paid top-up, or a paid plan renewal restarts it. `GET /credits` reports the stop as `auto_topup_stopped` and `GET /account` as `creditInfo.autoTopupStopped`.
* Top-up credits cost USD 0.00015 each and reach 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 the user's confirmation before billing.

1. Check the current balance:

```bash theme={null}
curl -s https://xquik.com/api/v1/credits \
  -H "x-api-key: xq_your_api_key_here" | jq
```

```json theme={null}
{
  "balance": "450",
  "lifetime_purchased": "1000",
  "lifetime_used": "550",
  "auto_topup_enabled": false,
  "auto_topup_stopped": false,
  "auto_topup_amount_dollars": 10,
  "auto_topup_threshold": "50000"
}
```

2. After confirmation, create a checkout top-up when no saved payment method is available:

```bash theme={null}
curl -s -X POST https://xquik.com/api/v1/credits/topup \
  -H "x-api-key: xq_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{"dollars": 10}' | jq
```

```json theme={null}
{
  "url": "https://xquik.com/api/v1/credits/topup/redirect?session_id=checkout_session_id",
  "redirect_url": "https://xquik.com/api/v1/credits/topup/redirect?session_id=checkout_session_id"
}
```

The dashboard can charge a saved method after confirmation. Only `charged`
grants credits. It opens checkout for `declined` or `no_payment_method`.

## Accountless guest wallets

Guest wallets prepay the eligible paid-read routes without an account. After the user confirms USD 10 to 250, `POST /api/v1/guest-wallets` creates a one-use hosted checkout and returns a `paid_reads` key. Creation does not charge. The key stays inactive until Xquik verifies payment. A guest `402` offers only `POST /api/v1/guest-wallets/topups`. See the [guest wallet guide](/guides/guest-wallets).

## Pay-per-use (MPP)

Fixed-price read operations accept direct [MPP](/mpp/machine-payments-protocol) payments. You need no subscription. Media downloads require full account authentication because they create account-tied gallery links.

### MPP per-call pricing

Use [MPP overview](/mpp/machine-payments-protocol#eligible-endpoints) for the complete list. Direct MPP uses fixed `charge` pricing:

<CardGroup cols={2}>
  <Card title="USD 0.00015 units" icon="coins">
    `GET /x/tweets/{id}`, `GET /x/tweets/{id}/translation`, `GET /x/tweets/{id}/embed`, `GET /x/users/{id}`, `GET /x/spaces/{id}`, `GET /x/spaces/{id}/replay`, `GET /x/broadcasts/{id}`, and `GET /x/communities/{id}/info` cost USD 0.00015 per call.
  </Card>

  <Card title="USD 0.00075 calls" icon="badge-dollar-sign">
    `GET /x/followers/check` and `GET /x/articles/{tweetId}` cost USD 0.00075 per call.
  </Card>

  <Card title="USD 0.00045 trends" icon="trending-up">
    Trend lookups use flat charge intent pricing: `GET /trends` and `GET /x/trends`.
  </Card>

  <Card title="Fixed charge intent" icon="receipt">
    Every direct MPP operation advertises one fixed `charge` offer per request.
  </Card>
</CardGroup>

## Checking usage

Call `GET /api/v1/account` to see your credit balance, lifetime usage, and monitor billing:

```bash theme={null}
curl -s https://xquik.com/api/v1/account \
 -H "x-api-key: xq_your_api_key_here" | jq
```

**Response.**

```json theme={null}
{
  "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, Xquik rejects metered calls until you [top up credits](/api-reference/credits/topup).

> **Tip.** Poll the account endpoint on a schedule to track usage. Build alerts when `creditInfo.balance` drops below 20% of your plan's monthly credit grant so you top up before credits run out.

## Cancel renewal & request a refund

Open [subscription settings](https://dashboard.xquik.com/en/account?tab=subscription), select **Manage Plan**, and cancel in the hosted billing 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](https://xquik.com/en/terms) or contact [support](mailto:support@xquik.com).

## 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 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](/api-reference/account/get): Full account endpoint reference with response schema.
* [API Overview](/api-reference/overview): Base URL, authentication, rate limits, and conventions.

<div className="related-api-links">
  <Accordion title="Related follower, list & community APIs" icon="link">
    - Profiles: [Search users](/api-reference/x/search-users) · [Search autocomplete](/api-reference/x/search-autocomplete) · [Get user](/api-reference/x/twitter-profile-lookup) · [Batch users](/api-reference/x/batch-users)
    - Followers: [Followers](/api-reference/x/followers) · [Following](/api-reference/x/following) · [Follower IDs](/api-reference/x/follower-ids) · [Following IDs](/api-reference/x/following-ids) · [Creator subscriptions](/api-reference/x/user-subscriptions) · [Affiliates](/api-reference/x/user-affiliates) · [Similar accounts](/api-reference/x/user-similar) · [Verified followers](/api-reference/x/verified-followers) · [Followers you know](/api-reference/x/followers-you-know) · [Check follower](/api-reference/x/check-follower)
    - Lists: [Search lists](/api-reference/x/search-lists) · [User lists](/api-reference/x/user-lists) · [List memberships](/api-reference/x/user-list-memberships) · [List members](/api-reference/x/list-members) · [List followers](/api-reference/x/list-followers)
    - Communities: [Find](/api-reference/x/community-find) · [Popular](/api-reference/x/community-popular) · [Topics](/api-reference/x/community-topics) · [Suggested](/api-reference/x/community-suggested) · [Details](/api-reference/x/community-info) · [Members](/api-reference/x/community-members) · [Moderators](/api-reference/x/community-moderators) · [Timeline](/api-reference/x/community-tweets) · [Media](/api-reference/x/community-media) · [Keyword search](/api-reference/x/community-search)
  </Accordion>
</div>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.