REST API

GuIltyHub API

Every public feature, accessible programmatically. JSON in, JSON out. Bearer-token auth. Per-plan rate limits.

Fast

Direct CDN-served Vercel functions. Most lookups return in <300ms.

Secure

Keys are stored hashed. Rotatable. Per-key rate limits + plan gating.

Honest

Examples use real cURL. Status codes follow REST conventions.

Quick start

  1. 1. Sign in to /dashboard/api and create a key.
  2. 2. Add it to your requests as Authorization: Bearer gh_live_...
  3. 3. Read the endpoints below. Try them with cURL.

Account

GET/api/v1/mefree

Get your profile + credit balance

curl https://guiltyhub.lol/api/v1/me \
  -H "Authorization: Bearer gh_live_yourkey"

Response (200)

{ "profile": { "username": "...", "plan": "vip", "credits": 1250 } }

Roblox Tools

GET/api/v1/roblox/user?q=buildermanfree

Look up a Roblox user by username or ID

curl "https://guiltyhub.lol/api/v1/roblox/user?q=builderman" \
  -H "Authorization: Bearer gh_live_yourkey"

Response (200)

{ "user": { "id": 156, "name": "builderman", "displayName": "builderman", ... } }
GET/api/v1/roblox/game?q=920587237free

Game stats by placeId or URL

GET/api/v1/roblox/group?q=1207662free

Group info

GET/api/v1/roblox/avatar?q=buildermanfree

Avatar thumbnail URLs

GET/api/v1/roblox/asset?q=12345678free

Catalog item details, RAP, price

GET/api/v1/roblox/username-history?q=buildermanfree

Past usernames of an account

POST/api/v1/roblox/bulk-username-checkstarter

Check up to 50 usernames at once

curl -X POST https://guiltyhub.lol/api/v1/roblox/bulk-username-check \
  -H "Authorization: Bearer gh_live_yourkey" \
  -H "Content-Type: application/json" \
  -d '{"usernames":["coolname1","rarealias","mybigname"]}'

Response (200)

{ "results": [{ "username": "coolname1", "available": false, "takenBy": "coolname1" }, ...] }

SMM (social media orders)

POST/api/v1/smm/orderstarter

Place an SMM order against any active service

curl -X POST https://guiltyhub.lol/api/v1/smm/order \
  -H "Authorization: Bearer gh_live_yourkey" \
  -H "Content-Type: application/json" \
  -d '{"serviceId": 12, "link": "https://instagram.com/yourpost", "quantity": 1000}'

Response (200)

{ "orderId": "uuid", "upstreamOrderId": 12345, "status": "pending", "costCents": 200 }

Infrastructure (Pro plan only)

POST/api/v1/android/createpro

Provision a cloud Android phone. Charged from your wallet.

curl -X POST https://guiltyhub.lol/api/v1/android/create \
  -H "Authorization: Bearer gh_live_yourkey" \
  -H "Content-Type: application/json" \
  -d '{"planSlug": "phone-pro", "days": 7}'

Response (200)

{ "rentalId": "uuid", "adbHost": "scrcpy.guiltyhub.lol", "adbPort": 30001, "expiresAt": "..." }

Error responses

401 — Missing or invalid API key

402 — Insufficient credits or wallet balance. Response includes requiredCents + balanceCents

403 — Your plan doesn't include this endpoint. Response says which plan is required.

429 — Rate limit exceeded. Wait or upgrade.

5xx — Provider/infrastructure error. Charges automatically refunded.