More on growing your X account.
X API rate limits: which one actually stops you
Every X API endpoint carries its own 15-minute ceiling, but on most projects the rate limit is not what fails first. Here is how to tell which meter you hit.
·→Article·9 min readX API reply: the one condition POST /2/tweets checks
A reply sent through the X API only publishes if one condition is true. It lives on a docs page X's own index does not list, and the 403 you get does not explain it.
·→Article·9 min readX API TypeScript: the official XDK and what is dead in it
X's TypeScript XDK is first-party, MIT-ish and frozen since July 2026. Three of its config fields and two of its client methods do nothing. Read before you ship.
·→Article·7 min readX Hide Replies API: the cap that is not in the docs
The X hide replies API is one PUT request, but it has two ceilings. One is documented at 50 per 15 minutes. The other was deleted from the docs and returns a bare 403.
·→Article·7 min readX API search: the two endpoints and what reads cost
X API search in 2026: recent vs full-archive, the retweet change nobody documented, why min_faves 400s, and the counts trick that sizes a query for $0.005.
·→Article·8 min readX News API: the two endpoints with no listed price
The X API news endpoints return Grok-written trending stories with tickers and post clusters. They work on pay-per-use, but no price table lists them.
·→Article·9 min readX API media upload: the v2 flow that actually works
X API media upload in v2: initialize, append, finalize, status. The real size limits, what it costs under pay-per-use, and the 403 after a clean upload.
·→Article·15 min readX API OAuth: pick the right auth for each endpoint
App-only, OAuth 1.0a or OAuth 2.0 with PKCE? The endpoints each one reaches, token lifetimes, and the 13 scopes X's live spec declares but its scope table never lists.
·→Article·9 min readGrok Bot on X: what tagging @bot actually does
Tag @bot on X and your Grok Bot picks up the post as a task. What the public reply means, the regions X skips, and why it sometimes stays silent.
·→