BuzzyX

What the X API costs per call, and why BuzzyX has daily limits

Divv SaxenaPublished 6 min read

Every BuzzyX account runs on X API calls, and X bills us for each one. Not per month, not per seat. Per request. That single fact explains most of the product decisions people ask me about: why there is no free plan, why the trial needs a card, why Discover gives you one fresh search a day, and why a post with a link in it is counted differently from a post without one.

This post lays out the numbers we work from, as of October 2026, and the arithmetic behind the limits. Everything here comes from our own decision log and the plan limits in the code. Where X does not publish a price, I say so.

The per-call prices we plan around

X's app for BuzzyX lives in a pay-per-use project. The prices we have recorded while building, as written in our decision log:

  • Publishing a post: about $0.015.
  • Publishing a post that contains a link: $0.20. Yes, more than thirteen times a plain post.
  • Reading a user profile (the users/by/username call): about $0.01 when the account exists.
  • Reading recent posts for a search or a Following feed: about $0.015 per post returned, which makes a fresh Discover load of ten posts plus their authors roughly $0.15.
  • An analytics sync of 25 of your own posts: about $0.135.
  • Uploading an image: X does not publish a price for this. We assume $0.015 and treat it as a cost.

For comparison, the AI side is cheap. A Compose Assist call to Claude costs us about $0.002. X is the only real cost in the product, and that is why every limit in BuzzyX is about X calls, not about AI.

The rule that produced the limits

On 2026-10-15 I wrote one rule into the decision log: no account may cost more than it pays. The target is a 70 to 80 percent margin on typical use, and no loss on any single user even if they use every feature to its limit every single day.

Pro is $29 a month, or $290 a year. So the question was simple: what set of daily caps keeps a maxed-out account under $29 of X calls in a month?

The answer, taken from the plan limits in the code:

  • 8 posts a day, published now or scheduled for that day.
  • Of those, 1 post with a link, because of the $0.20 price.
  • 8 images a day.
  • 1 fresh Discover or Following load a day. Cached repeats within 30 minutes are shared between accounts and cost nothing.
  • 3 manual analytics refreshes a day, 15 minutes apart, plus the daily sync.
  • 500 AI suggestions a month, at most 60 a day.
  • 100 posts queued on the calendar.

Run every one of those caps every day for a month and the X bill lands at about $24. Below $29, with little room to spare. Typical use, according to our own spend page, is $5 to $7 a month. That is where the margin comes from: most people do not max anything, and the caps exist to make sure the few who do cannot push an account into a loss.

Why links are the expensive post

The link price surprised me more than anything else. A post with a URL in it costs $0.20 to publish through the API, against about $0.015 for a plain one. If BuzzyX allowed eight link posts a day, a single account could spend $48 a month on links alone, more than it pays.

So the Pro plan allows one link post a day. Compose counts it for you and tells you when today's link post is used. It is not a product opinion about links. Plenty of good posts carry a link. It is arithmetic.

Why Discover is one search a day

Discover finds recent posts on a topic, or the newest posts from accounts you follow, so you can reply where the attention already is. Each search returns ten posts and the API bills per post, so a fresh load is about $0.15. Thirty of those a month is $4.50, which is fine. Thirty a day is not.

Two things keep it affordable. Results for the same query are cached and shared across accounts for 30 minutes, so a second person searching the same topic pays nothing. And each account gets one billed load per day. If Discover turns out to be the feature people use most, the next step is not raising that cap, it is the Chrome extension, which ranks the posts you already scroll past on x.com without any API call at all. That is a separate post.

Why the trial needs a card

The same arithmetic explains the card. A trial account has the same X costs as a paid one. In launch week, all four trials were cancelled within hours, and each one kept a workspace that could, at worst, spend about $0.80 a day on X calls with no payment ever coming.

So a trial that is cancelled before its first charge now runs at smaller caps: 3 posts a day, no link posts, 2 images, no Discover loads, no manual refreshes, 5 queued posts and 30 AI suggestions a month. Worst case is about $0.21 a day. A trial that stays active keeps the full Pro caps. This is disclosed on the plan card, in Settings, in the FAQ and in the terms, because I would rather explain the reason than hide the limit.

What X does not bill twice

One detail that works in our favour: X does not bill the same resource twice within a UTC day. If your analytics sync reads a post at 9am and again at 6pm, the second read is free. Our spend page estimates costs from calls made, so the real invoice from X sits below our estimate. That is the right direction for a surprise.

How this shows up in the product

A few things you will notice that trace straight back to this post:

  • Limits reset at midnight UTC, because that is how X counts a day.
  • Compose shows what is left of today's posts, link posts and images.
  • Analytics refresh on a cooldown instead of on every page view. A plain page view never calls X.
  • The free tools on the site run in your browser. The only exception is a profile lookup capped at 150 a day across all visitors and 10 per visitor, so a crawler cannot run up a bill.

If you want the longer version of how BuzzyX reads your numbers, X analytics explained covers what each metric means. If you are deciding whether to post more or reply more, how often to post on X is the honest answer, and it is the same answer whether or not you use BuzzyX.

What would change the numbers

If X changes its prices, the caps change with them. The sum in the decision log is re-run before any cap is raised, and the rule stays: nobody costs more than they pay. If image uploads turn out to be priced differently from our assumption, the image cap moves. If the extension does the job Discover does today at zero cost, the Discover cap might go up, because the cost per account would go down.

That is the whole model. One plan, every feature included, daily caps sized so the plan can stay at $29 without anyone subsidising anyone else.

BuzzyX · X growth workspace

Grow on X with posts that sound like you.

Compose in your voice, schedule the week, find posts worth replying to and read real analytics from the X API. $29/mo after the trial, everything included.

Try BuzzyX free →See pricing7-day free trial. Card required, $0 today, cancel in Settings.

Share

All posts →

All posts