usage
Get X/Twitter API pricing table
Returns Zernio's canonical X/Twitter API pricing table. Each X action has its own Metronome product and its own rate, and Zernio passes X API costs through at exact rates with zero markup. The response is identical for every authenticated user (pricing is universal), so it is safe to cache on the client for the duration of a billing period. To compute your own per-operation spend, pair this endpoint with `GET /v1/usage-stats` — that endpoint returns `usage.xApiCallsByOperation` keyed by the same `operation` field you get here.
AuthorizationBearer <token>
API key authentication - use your Zernio API key as a Bearer token
In: header
Response Body
application/json
application/json
import Zernio from '@zernio/node';const zernio = new Zernio({ apiKey: process.env.ZERNIO_API_KEY });const { data } = await zernio.usage.getXApiPricing();console.log(data);{
"currency": "USD",
"markup": "0%",
"source": "https://developer.x.com/#pricing",
"lastVerified": "2026-03-26",
"tiers": [
{
"tier": "x_api_005",
"pricePerCallUsd": 0.005,
"operationCount": 13
},
{
"tier": "x_api_010",
"pricePerCallUsd": 0.01,
"operationCount": 9
},
{
"tier": "x_api_015",
"pricePerCallUsd": 0.015,
"operationCount": 2
}
],
"operations": [
{
"operation": "posts_read",
"eventType": "x_posts_read",
"displayName": "X API: Posts Read",
"pricePerCallUsd": 0.005,
"pricePerCallCents": 0.5,
"tier": "x_api_005",
"triggeredBy": [
{
"method": "getPostAnalytics",
"metering": "analytics_optin"
},
{
"method": "getBatchPostAnalytics",
"metering": "analytics_optin"
},
{
"method": "getAccountPosts",
"metering": "analytics_optin"
}
]
},
{
"operation": "content_create",
"eventType": "x_content_create",
"displayName": "X API: Content Create",
"pricePerCallUsd": 0.01,
"pricePerCallCents": 1,
"tier": "x_api_010",
"triggeredBy": [
{
"method": "publishPost",
"metering": "always"
}
]
}
]
}{
"error": "Unauthorized"
}