Credits, not contracts.
1,000 credits free on Google sign-in. Pay only when calls succeed — save up to 61% per credit on a monthly plan.
For your first integration. Ship a real read workflow.
- 180,000 credits / month
- ≈ 180K single-tweet lookups · 16K 10-tweet searches
- 600 requests / minute (~10 QPS)
- 1 monitored account · 1 webhook
Recommended for steady production reads.
- 550,000 credits / month
- ≈ 550K single-tweet lookups · 50K 10-tweet searches
- 900 requests / minute (~15 QPS)
- 2 monitored accounts · 2 webhooks
More monthly volume for busy read pipelines.
- 1,800,000 credits / month
- ≈ 1.8M single-tweet lookups · 163K 10-tweet searches
- 1,500 requests / minute (~25 QPS)
- 5 monitored accounts · 5 webhooks
Largest published plan for sustained high-volume reads.
- 6,000,000 credits / month
- ≈ 6M single-tweet lookups · 545K 10-tweet searches
- 2,400 requests / minute (~40 QPS)
- 10 monitored accounts · 10 webhooks
Every plan: full live /v1 + /2 read surface · opaque pagination tokens · no endpoint gating by tier
Preview monitor add-on: included with monthly plans; select eligible accounts in the dashboard and receive signed tweet.created webhooks when they publish. Deliveries are not credit-metered; Free and pay-as-you-go don't include monitor slots. See monitor capacity →
Monthly credits renew each billing period and expire at the end of it. Need flexibility instead? See pay-as-you-go ↓
Need more than Scale's 6,000,000 credits / month? Get in touch →
No commitment? Top up any time.
Buy credits outright when you don't want a subscription. Custom amount from $10 at $0.150 / 1K credits, rounded up to the next whole credit. Cancel anytime by not topping up again — there's nothing to cancel.
- Top-up credits don't expire
- 300 requests / minute (~5 QPS)
- Upgrade to a monthly plan when volume gets predictable
- $1066,667 credits
- $25166,667 credits
- $50333,334 credits
Current rules, then every key.
- 01
Single lookups
1 credit
“Get this user. Get this tweet.”
- 02
Collections and search
1 base + 1 per returned item
“Search recent posts. Read follower profiles.”
- 03
Workflow APIs
Base + returned workflow items
“tweet.context = 3 + quotes/retweeters. profile.lookup = 2 + recent tweets. search.enriched = 2 + 2/tweet.”
- 04
Bulk graph IDs
1 base + 1 per 20 IDs
“Followers and following IDs use the block rate.”
Every active pricing key with its current credit cost. These are billing dimensions, not the route count: the same keys cover 28 /v1 read routes and 14 /2 compatibility routes. Keys are public product contracts — pricing.md is the same data in markdown, suitable for AI agents comparing tools programmatically.
You only pay when it works.
422Failed input validation401 / 403Auth failures402Insufficient credits429Rate limit responses5xxService-side failuresFive categories of failure. None of them touch your balance.
Common questions.
- Can I evaluate xfetch before signing up?
- The API reference shows live request/response samples on every endpoint, and the full machine-readable contract is at /openapi.json. Sign in with Google to run real requests against your own API key in the dashboard playground.
- Do credits expire?
- Free credits and PAYG credits do not expire. Monthly credit allotments expire at the end of each subscription period.
- Do account monitors cost credits?
- No. Preview monitoring is included with monthly plans, not a metered endpoint. Each monthly plan includes a small number of monitored accounts and webhook destinations, and successful webhook deliveries don't draw down your credit balance. Signed deliveries are retried on failure, and you can read full history any time from the same
/v1endpoints you already use. - What happens when I run out?
- The next call returns
402 insufficient_creditswith a clear message and is not charged. Top up from the dashboard or wait for your next monthly renewal. The exact key charged is returned inmeta.creditson every/v1response and inx-credits-chargedheaders on every/2response. - Is xfetch ready for commercial use?
- Yes. Sign up with Google, mint an API key, and ship. xfetch is read-only and provider-neutral by design — your code targets the xfetch contract, not an upstream API. See the Terms of Service for the full agreement.
- Can I change plans?
- Yes. Manage everything from the billing dashboard. Cancel anytime and the current period keeps working while the next renewal stops; switch plans mid-cycle through the Stripe Customer Portal, which handles proration automatically. See our refund policy for billing-exception details.
- What happens if a request fails?
- Customer API failures return stable public error codes, and service-side failures are not charged.
- Do you have an SDK?
- xfetch returns plain JSON over REST and works with any HTTP client: curl, Node
fetch, Pythonrequests, or Gonet/http. The OpenAPI contract at /openapi.json can generate typed clients in most languages.