X rules: API rate limits and posting costs
Last verified September 23, 2026 · re-checked weekly · 2 rules
Two separate limits govern posting through the X API. The rate limit: POST /2/tweets allows 100 requests per 15 minutes per user and 10,000 per 24 hours per app, and going over returns HTTP 429 until the window resets. The spending limit: since February 2026 the API is pay-per-usage, and requests fail outright when prepaid credits run out.
A scheduler has to respect both. The rate limit resets on its own; the credit balance does not. The x-rate-limit-remaining and x-rate-limit-reset headers on every response tell you where you stand on the first. Every figure below links to X's developer documentation and is re-checked every week.
API is metered spend with a hard stop
API limitsThe X API is prepaid-credit, pay-per-usage: you buy credits up front and they are deducted as you call the API. Pay-per-usage plans are capped at 3 million Post READS per month - a retrieval cap, not a posting cap. No per-tier write caps are published. When the prepaid balance runs out, API requests fail until more credits are bought.
What to do: Treat X as metered spend, not a flat subscription. Set a balance alert in the developer console, and expect hard-stop publish failures rather than throttling when credits run out. Do not plan around a monthly post-write cap; the published cap governs reads.
Posting: 100 per 15 minutes per user, 10,000 per day per app
API limitsX's rate-limit table lists POST /2/tweets at 10,000 per 24 hours per app and 100 per 15 minutes per user. Most limits run on 15-minute windows, some on 24 hours. "Exceeding limits results in a 429 error until the window resets", returned as code 88, "Rate limit exceeded". The x-rate-limit-limit, x-rate-limit-remaining and x-rate-limit-reset response headers report where you stand; reset is a Unix timestamp.
What to do: Read x-rate-limit-remaining on every response and wait until x-rate-limit-reset when it reaches zero, instead of retrying on a timer. Rate limits are separate from credits: a request can be within its rate limit and still fail because the credit balance ran out.
Common questions
What is the X API rate limit for posting?
POST /2/tweets is limited to 100 requests per 15 minutes per user and 10,000 per 24 hours per app, according to X's rate-limit table.
What does 'Rate limit exceeded' (error 88) mean on the X API?
You went over an endpoint's limit for the current window. X returns HTTP 429 with code 88 until the window resets. The x-rate-limit-reset header gives the reset time as a Unix timestamp, so wait until then rather than retrying on a timer.
What happens when X API credits run out?
Requests fail until more credits are purchased. Unlike a rate limit, this doesn't reset with time, so a scheduler within its rate limit can still stop posting if the balance hits zero.
Keep reading
When did these rules change? See the dated policy timeline →
Post to X (Twitter) without losing reach
ContentIQ analyzes viral content across TikTok, Reels, Shorts, and YouTube - then writes scripts in your voice that pass the Behavior Test on every line.
Start Free Trial