---
title: "Get X/Twitter API pricing table"
method: GET
path: "/v1/billing/x-pricing"
tags: ["Usage"]
---

# Get X/Twitter API pricing table

`GET /v1/billing/x-pricing`

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.

## Response `200`

X pricing table

- XApiPricing — Canonical X/Twitter API pricing table. Zernio passes X API costs through at exact rates with zero markup, so every call you make has a known per-unit price. Use this payload alongside `/v1/usage-stats` (which returns per-operation call counts via `xApiCallsByOperation`) to compute exact cost attribution by X action.
  - `currency` string
  - `markup` string — Always 0% — Zernio does not mark up X API rates.
  - `source` string, uri
  - `lastVerified` string, date — Date the prices were last verified against X's published rates.
  - `tiers` object[] — Rollup of operations grouped by their per-call price.
    - `tier` string — Tier key derived from price (e.g. `x_api_005` for $0.005, `x_api_200` for $0.200). The first three keys map to the legacy `xApiCalls` aggregate; new tiers (e.g. `x_api_200` for the URL tier added April 2026) are surfaced here but not in the legacy shape.
    - `pricePerCallUsd` number
    - `operationCount` integer
  - `operations` XApiOperation[] — Flat list of every X operation Zernio can perform, with its rate.
    - `operation` string — Internal operation key. Matches keys in `xApiCallsByOperation`.
    - `eventType` string — Metronome `event_type` emitted when this operation runs.
    - `displayName` string — Human-readable label shown on Metronome invoices.
    - `pricePerCallUsd` number
    - `pricePerCallCents` number — Per-call price in cents. Fractional values are intentional.
    - `tier` string — Tier key derived from `pricePerCallUsd` (e.g. `x_api_005` for $0.005, `x_api_200` for $0.200). Useful for grouping operations by price in dashboards.
    - `triggeredBy` object[] — Zernio platform methods that emit this operation, with their metering rule.
      - `method` string — Zernio platform method name.
      - `metering` 'always' | 'analytics_optin' | 'inbox_optin' | 'absorbed' — When the method actually bills the user: * `always` — every call is metered * `analytics_optin` — only when the X account has analytics enabled * `inbox_optin` — only when the X account has inbox sync enabled * `absorbed` — Zernio eats the cost, never billed

## Other responses

- `401` — Unauthorized

---

[API](https://skmtc.net/zernio/apis/zernio-api.md) · [All operations](https://skmtc.net/zernio/apis/zernio-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/zernio/zernio-api/versions/51932b099b2f/schema)
