UpvoteGG API
A simple REST API for the core of the panel: create orders, check their status, and read your balance — programmatically. JSON in, JSON out. Built for agencies, resellers, and anyone automating Reddit growth.
Generate a key in the panel: Profile → API.
One base URL, one header
All endpoints live under one base URL. Authenticate every request with your secret API key in the X-API-Key header — no OAuth, no bearer tokens.
Base URL https://upvotegg.com/api/v1/va
Auth X-API-Key: apik_live_xxxxxxxxxxxxxxxxxxxxxxxx
Accept application/jsonGenerate and manage keys in the panel under Profile → API. You can hold up to 5 active keys, revoke any of them, and view per-key usage logs. The raw key is shown once at creation — store it securely. Orders are billed against your normal account balance (there's no separate API wallet).
Quick start — check your balance
curl "https://upvotegg.com/api/v1/va/balance" \
-H "X-API-Key: apik_live_your_api_key_here" \
-H "Accept: application/json"
# → { "success": true, "balance": 150.75, "currency": "USD" }Endpoints
| Method | Path | What it does | Rate limit |
|---|---|---|---|
| GET | /balance | Current account balance | 60/min |
| GET | /orders | List your orders (20 per page, ?page=) | 30/min |
| POST | /orders | Create an order | 30/min |
| GET | /orders/{id} | Order detail & live progress | 60/min |
| POST | /orders/{id}/cancel | Cancel an order (where eligible) | 30/min |
| GET | /key/info | Key name, permissions & limits | 60/min |
| GET | /key/usage | Usage stats & recent activity | 30/min |
Paths are relative to the base URL above. Tools and marketplace endpoints are coming soon and aren't live yet.
Creating an order
POST /orders. The type field selects the service; supply a single target_url or a newline-separated bulk_urls (up to 50 targets per request).
curl -X POST "https://upvotegg.com/api/v1/va/orders" \
-H "X-API-Key: apik_live_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"type": "upvote",
"target_url": "https://www.reddit.com/r/example/comments/abc123/",
"quantity": 50,
"speed": "normal"
}'
# → { "success": true, "message": "Order created successfully",
# "order": { "id": 12345, "type": "upvote", "quantity": 50,
# "cost": 0.25, "status": "PENDING", ... } }type— one ofupvote,downvote,comment-upvote,comment-downvote,members,weekly-views,post-views.target_url— the Reddit post or comment URL (orbulk_urlsfor up to 50 at once).quantity— votes 5–600; members 1,000–100,000. Priced from $0.005/vote and $0.01/member, deducted from your balance.speed—slowest,slow,normal,fast, orfastest(fastestneeds quantity ≥ 30).- Optional:
service_type(normal/hot-position/top-position/long-order),delivery_delay(minutes). Weekly-views/post-views use tieredviews_per_week/views_countfields.
Rate limits
Limits are per key. Read endpoints allow 60 requests/minute, write endpoints 30/minute. Every response carries X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset; exceeding a limit returns 429 with a Retry-After header. Limits scale automatically — accounts with $500+ in total deposits get a 2.5× multiplier, and VIP/Enterprise multipliers are available on request.
Errors
Errors return the appropriate HTTP status (400, 401, 403, 404, 422, 429, 500, 503) with a consistent JSON body:
{ "success": false, "error": "API key required" }A missing or invalid key returns 401; insufficient balance 400; a key spend-limit block 403; validation problems 422.