Check your balance with /v1/balance
Check remaining points and the current plan with /v1/balance. Use it before a large batch of requests or check regularly to warn when points run low.
This request is free and uses no points.
Endpoint
GET /v1/balanceBase URL: https://api.apitube.io.
Authentication
Any of the three standard methods work — see Authentication:
curl "https://api.apitube.io/v1/balance" -H "X-API-Key: YOUR_API_KEY"
curl "https://api.apitube.io/v1/balance" -H "Authorization: Bearer YOUR_API_KEY"
curl "https://api.apitube.io/v1/balance?api_key=YOUR_API_KEY"The response shows the balance for the API key you sent. You cannot use it to check another key's balance.
Parameters
This endpoint needs only your API key. See Authentication.
Response format
{
"api_key": "ak_live_abc123...",
"points": 48500,
"plan": "professional"
}Response fields
| Field | Type | Description |
|---|---|---|
api_key | string | The key the balance belongs to |
points | integer | Points remaining |
plan | string | Current subscription plan |
Points per request
| Request | Points |
|---|---|
| Any article, count or trends request | 1 |
| Reference directories — People, Companies, Journalists | 1 |
/v1/news/local | 1 + 1 per requested insights block |
/v1/fact-check | 5 |
Adding the prompt parameter | +2 for the translation step (Basic and above only) |
/v1/suggest/* autocomplete | 0 |
/v1/news/event-types | 0 |
/v1/balance | 0 |
Searches and directory lookups with no results use no points.
Real-time delivery uses separate quotas: sse_points for SSE, ws_points for WebSocket and webhook_points for webhooks. Each delivered article costs one credit. Idle connections, heartbeats and checks with no new articles are free. Your per-minute request limit is separate from these quotas. See Rate limits and quotas.
Request examples
curl "https://api.apitube.io/v1/balance" -H "X-API-Key: YOUR_API_KEY"
import requests
balance = requests.get(
"https://api.apitube.io/v1/balance",
headers={"X-API-Key": "YOUR_API_KEY"},
).json()
if balance["points"] < 1000:
print(f"Low balance: {balance['points']} points left on {balance['plan']}")
const response = await fetch('https://api.apitube.io/v1/balance', {
headers: { 'X-API-Key': 'YOUR_API_KEY' }
});
const balance = await response.json();
console.log(`${balance.points} points left on ${balance.plan}`);
$context = stream_context_create(['http' => ['header' => 'X-API-Key: YOUR_API_KEY']]);
$balance = json_decode(file_get_contents('https://api.apitube.io/v1/balance', false, $context), true);
echo $balance['points'], ' points left on ', $balance['plan'], PHP_EOL;
Errors
| Code | Status | Meaning |
|---|---|---|
ER0201 | 401 | No API key in the request |
ER0202 | 401 | API key is invalid |
See HTTP response codes for the full error list.
Related
- Rate limits and quotas — per-minute limits and
per_pageceilings by plan. - Authentication — the three ways to pass a key.