List Platforms
POST https://maxaeo.ai/geoapi/geodata/developer/platforms/getReturns the AI platforms available to the API (including any under maintenance — see platform_status). Call it before submitting to get platform IDs and prices, or use it as a connectivity check for your API key. Doesn’t use any credits.
Request
Section titled “Request”No parameters. Send an empty object {} as the body.
curl -X POST "https://maxaeo.ai/geoapi/geodata/developer/platforms/get" \ -H "Authorization: Bearer $MAXAEO_API_KEY" \ -H "Content-Type: application/json" \ -d '{}'import os
import requests
resp = requests.post( "https://maxaeo.ai/geoapi/geodata/developer/platforms/get", headers={"Authorization": f"Bearer {os.environ['MAXAEO_API_KEY']}"}, json={}, timeout=30,)data = resp.json()if data["ret"] != 1: raise RuntimeError(data["msg"])for item in data["data"]["ent"]["items"] or []: print(item["platform"], item["platform_status"], item["p1_credits"], item["p2_credits"])const resp = await fetch("https://maxaeo.ai/geoapi/geodata/developer/platforms/get", { method: "POST", headers: { Authorization: `Bearer ${process.env.MAXAEO_API_KEY}`, "Content-Type": "application/json", }, body: "{}",});const data = await resp.json();if (data.ret !== 1) throw new Error(data.msg);for (const item of data.data.ent.items ?? []) { console.log(item.platform, item.platform_status, item.p1_credits, item.p2_credits);}Response
Section titled “Response”Fields in data.ent:
| Field | Type | Description |
|---|---|---|
platforms |
string[] | IDs of platforms with a configured price, in the same order as items — the possible values for platform in Submit a task. Includes platforms under maintenance (submitting to them returns 1029), so check items[].platform_status first |
items |
PlatformItem[] | Details for each platform, in the same order as platforms |
PlatformItem:
| Field | Type | Description |
|---|---|---|
platform |
string | Platform ID, such as chatgpt |
region |
string | domestic (mainland China) or overseas (global) |
platform_status |
string | normal (operational), degraded, or maintenance (not accepting tasks — submissions return 1029) |
p1_credits |
integer | Credits per successful call at P1 Priority |
p2_credits |
integer | Credits per successful call at P2 Standard |
has_stats |
boolean | Whether the last-24-hour sample size meets the stats threshold. When false, success_rate and p50_duration_seconds are 0 and shouldn’t be displayed |
success_rate |
number | Success rate over the last 24 hours, 0–1 |
p50_duration_seconds |
integer | Median time from submission to completion for successful tasks over the last 24 hours (seconds, queueing included) |
sample_count |
integer | Tasks that reached a final status in the last 24 hours (across all callers; excludes non-platform causes such as invalid keys, rejected parameters, and cancellations) |
stats_updated_at |
integer | When the stats were computed (Unix seconds); 0 means not computed yet |
See Platforms, Priority & Country for how to read the status and stats fields.
Example response
Section titled “Example response”{ "ret": 1, "data": { "ent": { "platforms": ["chatgpt", "perplexity", "gemini"], "items": [ { "platform": "chatgpt", "region": "overseas", "platform_status": "normal", "p1_credits": 12, "p2_credits": 6, "has_stats": true, "success_rate": 0.9531, "p50_duration_seconds": 64, "sample_count": 128, "stats_updated_at": 1793018400 }, { "platform": "perplexity", "region": "overseas", "platform_status": "normal", "p1_credits": 10, "p2_credits": 5, "has_stats": false, "success_rate": 0, "p50_duration_seconds": 0, "sample_count": 0, "stats_updated_at": 1793018400 }, { "platform": "gemini", "region": "overseas", "platform_status": "degraded", "p1_credits": 10, "p2_credits": 5, "has_stats": true, "success_rate": 0.8125, "p50_duration_seconds": 88, "sample_count": 32, "stats_updated_at": 1793018400 } ] } }}Prices and stats in this example are for illustration only — always use the values the API actually returns.
Errors
Section titled “Errors”ret |
Cause |
|---|---|
1001 |
The body isn’t a JSON object (for example, an empty body) or contains undefined fields |
1030 |
The API key is missing, invalid, disabled, or expired |
1003 |
Account permission problem (rare) — please contact us |
-1 |
Service temporarily unavailable — retry later |
See Error Handling for details.
