Query Usage Statistics
January 31, 2026 (May 22, 2026)
Table of contents
Query your API usage statistics. Returns detailed information about jobs/requests for a specific bot.
Note:
- Data latency is at least 5 minutes, but should not exceed 15 minutes.
- Data is retained for 3 months.
https://api.useapi.net/v2/account/stats
Request Headers
Authorization: Bearer {API token}
API tokenis required, see Setup useapi.net for details.
Query Parameters
| Parameter | Required | Description |
|---|---|---|
bot | Yes | Bot to query stats for. Supported: midjourney, google-flow, dreamina, kling, runwayml, pixverse, minimax, mureka, tempolor, ltxstudio, luma |
date | No | Date in YYYY-MM-DD format.Defaults to today if limit is not specified. |
limit | No | Number of records to return (max: 50000). If specified, date filter is ignored and returns last N records across all dates. |
config | No | Filter by specific config (channel/email/account depending on bot). |
Responses
-
Returns usage statistics for the specified bot.
{ "bot": "google-flow", "date": "2026-02-13", "total": 2402, "summary": { "from": "2026-02-13T00:00:03.000Z", "to": "2026-02-13T23:58:38.000Z", "time_span": "23 hours 58 minutes", "by_config": { "[email protected]": 670, "[email protected]": 547, "[email protected]": 438, "[email protected]": 321, "[email protected]": 306, "[email protected]": 120 }, "by_code": { "200": 548, "201": 796, "400": 130, "403": 684, "429": 239, "500": 3, "503": 2 }, "by_endpoint": { "post-images": 1334, "post-videos": 1046, "post-videos-upscale": 22 }, "by_status": { "Created": 796, "OK": 548, "Forbidden": 684, "Too Many Requests": 239, "Bad Request": 130, "Internal Server Error": 3, "Service Unavailable": 2 }, "success_rate": "56.0%", "avg_msec": 17759, "by_model": { "veo-3.1-fast-relaxed": 1032, "nano-banana-pro": 702, "imagen-4": 449, "nano-banana": 181, "veo-3.1-fast": 14 }, "by_captcha_provider": { "CapSolver": 4856 }, "avg_captcha_retry": 2, "by_tier": { "PAYGATE_TIER_TWO": 1684, "PAYGATE_TIER_ONE": 612, "PAYGATE_TIER_NOT_PAID": 106 }, "by_sku": { "WS_ULTRA": 1430, "G1_TIER2": 254, "G1_TIER1": 612, "G1_FREEMIUM": 106 }, "lookup": { "tiers": { "PAYGATE_TIER_TWO": "Ultra $199", "PAYGATE_TIER_ONE": "Pro", "PAYGATE_TIER_NOT_PAID": "Free" }, "skus": { "WS_ULTRA": "Workspace Ultra", "G1_TIER2": "Ultra $199", "G1_TIER1": "Pro", "G1_FREEMIUM": "Free" } } }, "data": [ { "timestamp": "2026-02-13T10:30:00.000Z", "jobid": "20260213103000-user:123-bot:google-flow", "config": "[email protected]", "endpoint": "post-images", "status": "OK", "func": "v1-google-flow-images", "code": 200, "msec": 5432, "model": "imagen-4", "captchaProviders": "CapSolver", "captchaRetry": 1, "tier": "PAYGATE_TIER_TWO", "sku": "WS_ULTRA" } ] }The
summaryobject provides aggregated statistics (omitted if no data).For
google-flow,dreamina,kling,minimax,pixverse, andluma, additional fields are included in bothdatarows andsummary:model/by_model: AI model used for generation
For
google-flowonly:captchaProviders/by_captcha_provider: Captcha providers usedcaptchaRetry/avg_captcha_retry: Captcha retry attemptstier/by_tier: GoogleuserPaygateTier(plan family βPAYGATE_TIER_NOT_PAID/_ONE/_TIER1P5/_TWO). Available since 2026-05-21; rows before that date have emptytier/skuand bucket under"(empty)".sku/by_sku: Google sku string (specific subscription βG1_FREEMIUM/G1_TIER1/G1_TIER1P5/G1_TIER2/WS_FREEMIUM/WS_ULTRA).summary.lookup.tiers/summary.lookup.skus: canonical enum β human-readable label map (e.g.WS_ULTRA β "Workspace Ultra"). Resolve enums through this map rather than hard-coding strings. Unknown enums map to themselves so new values arenβt lost.
Known tier/sku values (google-flow)
Field Enum value Label Plan tierPAYGATE_TIER_NOT_PAIDFree Free tier tierPAYGATE_TIER_ONEPro Google AI Pro tierPAYGATE_TIER_TIER1P5Ultra $99 Google AI Ultra $99/mo tierPAYGATE_TIER_TWOUltra $199 Google AI Ultra $199/mo skuG1_FREEMIUMFree Google AI consumer Free skuG1_TIER1Pro Google AI consumer Pro skuG1_TIER1P5Ultra $99 Google AI consumer Ultra $99 skuG1_TIER2Ultra $199 Google AI consumer Ultra $199 skuWS_FREEMIUMWorkspace Free Google Workspace, no AI add-on skuWS_ULTRAWorkspace Ultra Google Workspace + AI Ultra add-on -
Missing or invalid parameters.
{ "error": "<error message>" } -
Invalid API token.
{ "error": "Unauthorized" }
Model
// Response structure
{
bot: string // Bot name
date?: string // Date filter applied (YYYY-MM-DD)
limit?: number // Limit filter applied
config?: string // Config filter applied
total: number // Total records returned
summary?: { // Aggregated statistics (omitted if no data)
from: string // Earliest timestamp (ISO 8601)
to: string // Latest timestamp (ISO 8601)
time_span: string // Human readable duration (e.g., "2 days 5 hours")
by_config: Record<string, number> // Count per config/account
by_code: Record<string, number> // Count per HTTP status code
by_endpoint: Record<string, number> // Count per endpoint/verb
by_status: Record<string, number> // Count per job status
success_rate: string // Percentage of 2xx codes (e.g., "86.7%")
avg_msec: number // Average response time in ms
// google-flow, dreamina, minimax:
by_model?: Record<string, number> // Count per AI model
// google-flow only:
by_captcha_provider?: Record<string, number> // Count per captcha provider
avg_captcha_retry?: number // Average captcha retries
by_tier?: Record<string, number> // Count per Google userPaygateTier (since 2026-05-21). Pre-existing rows bucket under "(empty)".
by_sku?: Record<string, number> // Count per Google sku (since 2026-05-21). Pre-existing rows bucket under "(empty)".
lookup?: { // Canonical enum -> human-readable label map for the tier/sku values present here.
tiers: Record<string, string> // e.g. { PAYGATE_TIER_TWO: "Ultra $199" }. Unknown enums map to themselves.
skus: Record<string, string> // e.g. { WS_ULTRA: "Workspace Ultra" }. Unknown enums map to themselves.
}
}
data: Array<{
timestamp: string // ISO 8601 timestamp
jobid: string // Job/task identifier
config: string // Account/config used (channel for MJ, email/account for others)
endpoint: string // API endpoint called
status: string // Job status
func: string // Function name
code: number // HTTP status code
msec: number // Duration in milliseconds
// google-flow, dreamina, minimax:
model?: string // AI model used for generation
// google-flow only:
captchaProviders?: string // Captcha providers tried (comma-separated)
captchaRetry?: number // Number of captcha retries
tier?: string // Google userPaygateTier (PAYGATE_TIER_*). Empty for rows pre-2026-05-21. Resolve to a label via summary.lookup.tiers.
sku?: string // Google sku (G1_*/WS_*). Empty for rows pre-2026-05-21. Resolve to a label via summary.lookup.skus.
}>
}
Examples
-
# Today's stats for midjourney curl -H "Authorization: Bearer YOUR_API_TOKEN" \ "https://api.useapi.net/v2/account/stats?bot=midjourney" # Specific date curl -H "Authorization: Bearer YOUR_API_TOKEN" \ "https://api.useapi.net/v2/account/stats?bot=google-flow&date=2026-01-31" # Last 1000 records curl -H "Authorization: Bearer YOUR_API_TOKEN" \ "https://api.useapi.net/v2/account/stats?bot=kling&limit=1000" # Filter by config curl -H "Authorization: Bearer YOUR_API_TOKEN" \ "https://api.useapi.net/v2/account/stats?bot=runwayml&[email protected]" -
const token = 'YOUR_API_TOKEN'; const bot = 'google-flow'; const date = '2026-01-31'; const response = await fetch( `https://api.useapi.net/v2/account/stats?bot=${bot}&date=${date}`, { headers: { 'Authorization': `Bearer ${token}` } } ); const stats = await response.json(); console.log(`Total records: ${stats.total}`); console.log('Stats:', stats.data); -
import requests token = 'YOUR_API_TOKEN' headers = {'Authorization': f'Bearer {token}'} # Today's stats for midjourney response = requests.get( 'https://api.useapi.net/v2/account/stats', params={'bot': 'midjourney'}, headers=headers ) stats = response.json() print(f"Total records: {stats['total']}") print('Stats:', stats['data'])