# X (Twitter) API pricing in 2026: what monitoring actually costs

**Published:** 2026-08-01 | **Category:** Comparisons

X charges per post you read, with a hard monthly ceiling. The plain arithmetic for watching 25 to 500 accounts, and the things no X plan sells at any price, including profile changes, follows, and deleted posts.

---

Most people arrive at X API pricing with one question: what will this cost every month. It is worth answering. Then it is worth asking the question underneath it, which is whether the official API sells what you are actually trying to buy.

Rates below were checked against X's public pricing documentation on 1 August 2026. X says prices can change, so confirm them in the Developer Console before you build around them.

## The published rates

X does not sell monthly plans for this. You buy credits up front, and each thing you read or post subtracts from the balance.

X calls each item a **resource**. One post is one resource. One profile is one resource. Here is what each costs:

| What you do | Price |
| --- | --- |
| Read a post | $0.005 |
| Read a profile, follower, or following | $0.010 |
| Read something your own app owns | $0.001 |
| Publish a post | $0.015 |
| Publish a post containing a link | $0.200 |

There is also a ceiling. On this pay-as-you-go plan you may read at most 2 million posts per monthly billing cycle. Past that, the only route X documents is an Enterprise contract.

## What you are actually charged for

Two rules decide the bill, and neither is how often you check.

**You pay per post, not per request.** If one request hands back fifty posts, you are charged for fifty. Checking less often does not save money, because the charge follows the posts, not your requests.

**The same post is only charged once a day.** X's documentation says every resource is deduplicated inside a 24-hour window, so reading the same post again within that day costs nothing extra.

Put those together and the unit you are buying is **one post, once a day**. Checking every thirty seconds costs exactly what checking every five minutes costs. The only number that decides your bill is how many posts the accounts you watch actually publish.

## The arithmetic

Accounts, times posts per day, times thirty. Every post is $0.005.

| Watchlist | Posts per account each day | Posts per month | Monthly cost |
| --- | --- | --- | --- |
| 25 accounts | 20 | 15,000 | $75 |
| 50 accounts | 50 | 75,000 | $375 |
| 100 accounts | 50 | 150,000 | $750 |
| 250 accounts | 80 | 600,000 | $3,000 |
| 500 accounts | 100 | 1,500,000 | $7,500 |

Two things follow from that table.

The first is that your bill is set by the people you follow, not by you. A watchlist of heavy posters costs several times what a quiet one costs, and you find out which you have when the invoice arrives.

The second is the ceiling. Two million posts at $0.005 is exactly $10,000 a month. That is the most this plan can ever cost you, and the point where Enterprise becomes the only option. At 100 posts per account per day, fewer than 700 accounts gets you there.

## Getting posts pushed to you, if you can

If you want to watch accounts that are not yours, your options narrow to one.

**You cannot have alerts pushed to you for other people's accounts.** X has an endpoint that pushes account activity to your server, but the account being watched has to actively grant your app permission first, and it sits on the Enterprise tier. That works for your own accounts, or for users who sign into your product. It does not work for a founder, an exchange, or a caller who has never heard of you.

**So you are left with the filtered stream**, a connection you hold open that sends matching posts as they happen. On the pay-as-you-go plan you get **one** such connection. Enterprise is the documented way to get more. One connection means no second connection standing by, and no splitting the work across servers. If it drops, you are blind until you reconnect.

**Silence is how you know it dropped.** The stream sends an empty line every twenty seconds just to prove it is alive. Twenty seconds of nothing at all means reconnect, waiting a little longer before each retry.

Fitting a big watchlist in is not the hard part. You get 1,000 filter rules, each up to 1,024 characters, and `from:username` names a specific account. Thousands of accounts fit comfortably. Keeping one connection alive forever is the hard part.

## The part no plan sells at any price

Everything above is about posts. That is the shape of the whole API: a post is an event, so it can be pushed to you. Everything else about an account is a **state you have to go and look at**.

That gap matters more than the price, because in trading the earliest signal is often not a post at all.

**Profile changes are not an event type.** A bio rewritten to include a contract address. A link swapped to a new site. A display name or handle changed as a project rebrands, or as a scam account puts on a costume. A profile picture and banner replaced hours before an announcement. None of these arrive as events on any X plan. X's push service lists posts, deletes, likes, mentions and follows; profile changes are simply not on the list.

**Follows are on the list, but locked behind the same door.** Seeing who a fund or a founder just followed is a genuine signal. It is available only on the Enterprise tier, and only for accounts that have authorized your app, which rules out watching anybody interesting.

**Which leaves polling and diffing.** To notice a bio change, you read the profile, store it, read it again later, and compare. You are not buying monitoring at that point; you are building it, and your detection speed is whatever your polling interval is, bounded by rate limits. Minutes, at best. A memecoin does not wait minutes.

**And deleted posts disappear.** A post pulled after ninety seconds is often the most interesting thing an account did that day. Once it is gone from X, it is gone from the API, and so is the image that went with it.

## Paying by usage versus paying a flat fee

Usage-based pricing suits work you control. You decide how many requests to make, so you decide the bill.

Monitoring is the opposite. Other people decide how much they post, so a usage-based bill is a forecast rather than a number. Teams end up either shrinking the watchlist to protect the budget, or accepting a bill that moves every month.

A flat fee swaps one limit for another. The spend stops moving, and the limit becomes how many accounts you are allowed to watch.

## Which one you actually want

**Go straight to X's API if** you need to publish or manage accounts rather than only read; you want the full set of endpoints; your reading is light and predictable; or you want a direct relationship with the source and are happy to run the connection yourself.

**Use a managed feed if** you are watching accounts that are not yours; you care about what an account does besides posting; you need coverage beyond X; you want a bill you can predict; or you would rather not own a single connection that must never drop.

## Where WuupX sits

We treat an account as something to watch, not just a source of posts. Every change below arrives as an event, at the same speed as a post, on accounts you do not need permission for:

- **Profile picture and banner** replaced
- **Display name and username** changed, which is often the first sign of a rebrand or a hijack
- **Bio text, location, and website link** edited, including a contract address appearing in a bio
- **New follows**, with details of the account that was followed
- **Follower and following counts** moving

Posts arrive with everything attached, and deleted posts stay reachable with their images and video intact, so a post pulled ninety seconds after it went up is still yours to act on. Contract addresses and wallets are read out of screenshots before the post reaches you.

We watch X, Truth Social, and Threads on one feed. Detection runs at a median under 100 milliseconds, measured from the timestamp the platform stamps on the post rather than from the moment we noticed it. That difference is worth asking about whenever anyone quotes a latency number, because starting the clock late is the cheapest way to make one look good.

You pay for the size of your watchlist, not for how much those accounts post. The Discord bot covers 50 accounts free, then $99, $199, and $599 a month for 100, 300, and 800 accounts. The WebSocket API reaches 10,000 accounts on the flagship key.

Full breakdown on the [pricing page](https://wuupx.app/pricing).
