Payment History API
Returns the payment history for the account behind your API key, ordered newest first. Each entry records what was paid, how many credits it added, and whether the payment completed. Use it to reconcile top-ups against your own billing records. This call is free. Cost: Free per call.
GET account/payments returns the full payment history for the account tied to the caller's API key, newest first. Each record includes the amount paid, the number of credits that top-up added, and its completion status. The account's payment history is empty if it has never topped up. This endpoint is free to call and takes no parameters.
Authorization
bearerAuth Pass your API key as a bearer token on every request: Authorization: Bearer <API_KEY>.
In: header
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/account/payments"{ "payments": [ { "amount": 100, "credits_added": 100, "status": "completed", "created_at": "2026-06-02T14:08:55.000Z" } ]}{ "error": "bad_request", "message": "Missing or malformed parameter. Fix the request before retrying."}{ "error": "unauthorized", "message": "The API key is missing, malformed, or revoked. Check the Authorization header."}{ "error": "insufficient_credits", "message": "Your balance is exhausted. Top up your credits to continue."}{ "error": "not_found", "message": "The resource does not exist, for example a deleted tweet or a private account."}{ "error": "rate_limited", "message": "Too many requests. Back off and retry with exponential backoff."}{ "error": "server_error", "message": "Something failed on our side. Retry with backoff; if it persists, contact support."}Pricing
| Unit | Price |
|---|---|
| Per call | Free |
When to use
Reach for this endpoint when you need to reconcile credit top-ups against your own billing records or check whether a specific payment completed. Use account/me instead if you only need the account's current credit balance, not the transaction history behind it.
Notes
- Served from the API root: https://api.twitterapis.com/account/payments. It is NOT under /twitter.
- Free. This endpoint is not metered and does not consume credits.
- Rate limited to 30 requests per minute per API key. Exceeding it returns 429.
- An account that has never topped up returns an empty array, not an error.
Related endpoints
- Account Info: Your credit balance, lifetime usage, and account details for the API key making the call.
- Register Session: Register your auth_token and ct0 cookies once so every write and private read acts as your account, or pass them per call as x-auth-token / x-ct0 headers.
FAQ
Does calling GET account/payments cost credits?
No. This endpoint has a cost of 0, so checking your payment history never consumes credits from your balance.
What does the response look like if the account has never made a payment?
The payments array is returned empty. There is no separate flag for a never-topped-up account; an empty array is the signal.
Can I filter the payments list by date range or status?
No. The endpoint takes no parameters, so it always returns the complete payment history newest first. Filter or paginate on your side after fetching the full array.
Account Info GET
Returns the account behind your API key: remaining credits, credits consumed, total requests served, and when the account was created. Use it to show a balance in your own dashboard or to alert before you run out of credits. This call is free and is not metered. Cost: Free per call.
Overview
Articles: Create, edit, publish, and read X's long-form Articles (X's internal name: Notes). Publishing posts a real announcement tweet; reading a published article is a public call that needs no session.