Usage
X bills its API per call. Every X account connects through Adeli's one X app, so Adeli pays X for each call and passes the cost on to you at X's published prices, with no markup. Each call is recorded against your account as it happens, and this endpoint reports the running total.
The other providers do not bill per call, so this page covers X only.
X needs billing set up
Until billing is set up for your account, connecting an X account returns
402 x_billing_required, and so does every call that would cost money.
Contact Adeli to have X enabled.
What costs money
Adeli records a call only when X accepted it: a request X rejects is free.
post.create$0.015- Publishing a post, or each post in a thread.
post.create_url$0.200- Publishing a post whose text contains a link, including a bare domain such as example.com.
post.delete$0.005- Deleting a post.
post.read_owned$0.001- Each post returned when you list an X account's posts. Listing posts includes X only when you ask for
platform=xor an XaccountId. user.read_owned$0.001- Reading the account's profile, which happens once when it connects.
media.upload$0.000- Uploading an image or video. X does not list a price; it is recorded so totals can be checked against X's own.
X charges a resource read twice in the same UTC day once, and so does Adeli.
Prices are those on X's pricing page on the date in ratesAsOf.
GET/api/v1/usage/xGet X usage
Returns your X usage for the current UTC calendar month, across every profile
and account. Costs are integers in millionths of a dollar, so they add up
exactly: 230000 is $0.23.
curl --fail-with-body "$ADELI_URL/api/v1/usage/x" \
-H "Authorization: Bearer $ADELI_API_KEY"{
"from": "2026-10-01T00:00:00.000Z",
"to": "2026-11-01T00:00:00.000Z",
"ratesAsOf": "2026-10-06",
"totalCostMicros": 230000,
"operations": [
{ "operation": "post.create", "resourceType": "post", "resourceCount": 2, "costMicros": 30000 },
{ "operation": "post.create_url", "resourceType": "post", "resourceCount": 1, "costMicros": 200000 }
]
}Errors — 401 unauthorized, 502 database_error.