Every tool run is a task: you create it, poll its status until it settles, then read the per-line results. All three endpoints need your API key.
Create a task
POST
/api/v1/task/create| Field | Type | Notes |
|---|---|---|
tool | string | The tool id (e.g. check). See Tools reference. |
tokens | string / array | Input, one item per line (or an array). Aliases: payload, items, input. Badges uses a payload object. |
config | object | Tool-specific options (alias options). Each tool's options are in the reference. |
proxies | string / array | Optional. One proxy per line - required by some tools. |
payment_method | string | auto (default), wallet, license or request (only runs while the tool is free). |
Returns { success, job_id, tool, status: "running", total }.
Poll the status
GET
/api/v1/task/status?job_id=...Returns { success, status, total, ... }. status is one of:
| status | Meaning |
|---|---|
running | Still working - keep polling (every ~2s is plenty). |
done | Finished - read the items. |
error | The run failed. |
stopped | Stopped before finishing. |
Read the results
GET
/api/v1/task/items?job_id=...Returns { success, job_id, status, total, items: [...] }. Each item has a status (a hint - the result folder) and a line (the full result). Treat line as the source of truth.
End to end
Create → poll → read, for the Token Checker:
BASE="https://tools.eimted.us/api/v1"
KEY="YOUR_API_KEY"
# 1. Create
JOB=$(curl -s -X POST "$BASE/task/create" \
-H "Authorization: Bearer $KEY" -H "Content-Type: application/json" \
-d '{"tool":"check","tokens":"MTI5...\nNzQx...","config":{"validity":true,"nitro":true}}' \
| python3 -c "import sys,json;print(json.load(sys.stdin)['job_id'])")
# 2. Poll
while true; do
S=$(curl -s "$BASE/task/status?job_id=$JOB" -H "Authorization: Bearer $KEY" \
| python3 -c "import sys,json;print(json.load(sys.stdin)['status'])")
echo "status: $S"; [ "$S" = "done" ] || [ "$S" = "error" ] || [ "$S" = "stopped" ] && break; sleep 2
done
# 3. Results
curl -s "$BASE/task/items?job_id=$JOB" -H "Authorization: Bearer $KEY"const BASE = "https://tools.eimted.us/api/v1";
const KEY = "YOUR_API_KEY";
const H = { Authorization: `Bearer ${KEY}` };
const create = await fetch(`${BASE}/task/create`, {
method: "POST",
headers: { ...H, "Content-Type": "application/json" },
body: JSON.stringify({ tool: "check", tokens: "MTI5...\nNzQx...", config: { validity: true, nitro: true } }),
});
const { job_id } = await create.json();
let status = "running";
while (!["done", "error", "stopped"].includes(status)) {
await new Promise(r => setTimeout(r, 2000));
({ status } = await (await fetch(`${BASE}/task/status?job_id=${job_id}`, { headers: H })).json());
}
const { items } = await (await fetch(`${BASE}/task/items?job_id=${job_id}`, { headers: H })).json();
items.forEach(i => console.log(i.status, i.line));import time, requests
BASE = "https://tools.eimted.us/api/v1"
H = {"Authorization": "Bearer YOUR_API_KEY"}
job = requests.post(f"{BASE}/task/create", headers=H, json={
"tool": "check", "tokens": "MTI5...\nNzQx...",
"config": {"validity": True, "nitro": True},
}).json()["job_id"]
status = "running"
while status not in ("done", "error", "stopped"):
time.sleep(2)
status = requests.get(f"{BASE}/task/status", params={"job_id": job}, headers=H).json()["status"]
items = requests.get(f"{BASE}/task/items", params={"job_id": job}, headers=H).json()["items"]
for it in items:
print(it["status"], it["line"])base, key := "https://tools.eimted.us/api/v1", "YOUR_API_KEY"
body := []byte(`{"tool":"check","tokens":"MTI5...\nNzQx...","config":{"validity":true}}`)
req, _ := http.NewRequest("POST", base+"/task/create", bytes.NewReader(body))
req.Header.Set("Authorization", "Bearer "+key)
req.Header.Set("Content-Type", "application/json")
resp, _ := http.DefaultClient.Do(req)
var created map[string]any
json.NewDecoder(resp.Body).Decode(&created)
job := created["job_id"].(string)
// poll GET base+"/task/status?job_id="+job until status is done/error/stopped,
// then read GET base+"/task/items?job_id="+job the same way.
fmt.Println("job:", job)Also useful
GET /api/v1/tools lists every tool with live prices, GET /api/v1/balance returns your wallet, and GET /api/v1/task/history lists your recent jobs.