NeoGo API guide

Send Stars, Premium and gifts from your site or bot. All requests are POST with JSON. Send {} if no body is needed.

BASE URL
https://www.neogo.uz/api/v1

Authentication
X-API-Key: KEY — get the key in your dashboard (API key)

Response format

{ "ok": true,  "message": "...", "result": { } }
{ "ok": false, "message": "...", "code": "INSUFFICIENT_BALANCE" }

Rely on the code field, not message. Prices and balance are in UZS.

Endpoints

PathBodyDescription
POST /wallet/balance{}Your balance
POST /getInfo{"username":"durov"}User info
POST /stars/pricing{"amount":500}Stars price
POST /premium/pricing{}3, 6, 12 month prices
POST /stars/buy{"username":"durov","amount":100}Send Stars (50–100 000)
POST /premium/buy{"username":"durov","months":3}Gift Premium (3, 6, 12)
POST /gifts/list{}Gift list and prices
POST /gifts/buy{"username":"durov","gift_id":1}Send a gift (gift_id from the list)
POST /order/status{"order_id":15}Order status: done, failed, review

Examples

curl -X POST 'https://www.neogo.uz/api/v1/stars/buy' \
  -H 'Content-Type: application/json' -H 'X-API-Key: KEY' \
  -d '{"username":"durov","amount":100}'
<?php
$ch = curl_init('https://www.neogo.uz/api/v1/stars/buy');
curl_setopt_array($ch, [CURLOPT_POST=>1, CURLOPT_RETURNTRANSFER=>1,
  CURLOPT_HTTPHEADER=>['Content-Type: application/json','X-API-Key: KEY'],
  CURLOPT_POSTFIELDS=>json_encode(['username'=>'durov','amount'=>100])]);
$r = json_decode(curl_exec($ch), true);
import requests
r = requests.post("https://www.neogo.uz/api/v1/stars/buy", headers={"X-API-Key": "KEY"},
                  json={"username": "durov", "amount": 100}, timeout=120).json()

Error codes

CodeHTTPMeaning
VALIDATION_ERROR400/401/404/405Invalid field or key. Do not resend unchanged.
INSUFFICIENT_BALANCE400Insufficient balance.
MAINTENANCE400Maintenance.
PRICE_ERROR400Price unavailable, try later.
GIFT_UNAVAILABLE400Gift unavailable.
SERVICE_UNAVAILABLE503Service unavailable. Money is refunded automatically.
REVIEW502Result unclear. Do not resend — check /order/status.

Rules

The purchase is charged from your balance and refunded on a definite error. Keep the order_id. On REVIEW do not resend — check /order/status. Message language: Accept-Language (uz, ru, en).