UpvoteShop API Documentation

Use the UpvoteShop API to create Reddit engagement orders, retrieve order details, and check account balance from your own app.

Get API token in Dashboard

Authentication

Bearer authentication is required for API requests. Create or copy your API token from the Dashboard, then include it in the Authorization header.

Header example
Authorization: Bearer YOUR_JWT_TOKEN
Content-Type: application/json

Create Order

POSTPOST /api/order/create

Create a new Reddit vote or ranking order. The request body mirrors the source UpvoteShop contract so existing customer integrations can map fields directly.

ParameterTypeRequiredDescription
linkstringYesThe public Reddit post or comment URL.
typenumberYesService type. 1 is post upvote, 8 is post downvote, 6 is comment upvote, 7 is comment downvote, and 10 is TOP targeted ranking.
votenumberYesNumber of votes to send. Must be greater than 0 and within your account limits.
afternumberYesDelay before the order starts, in minutes. Use 0 for immediate start.
speednumberYesApproximate delivery speed from 1 to 5 votes per minute. Values such as 0.2 can be used for very slow delivery.
targetobjectNoTarget ranking settings, including is_set and position values when TOP targeted ranking is used.
Request
POST /api/order/create
Authorization: Bearer YOUR_JWT_TOKEN
Content-Type: application/json

{
  "link": "https://www.reddit.com/r/example/comments/abc123/example_post/",
  "type": 1,
  "vote": 5,
  "after": 0,
  "speed": 1,
  "target": {
    "is_set": true,
    "position": 1
  }
}
Success response
{
  "code": 1,
  "message": "Success",
  "order_id": "3333"
}

Retrieve Order Details

GETGET /api/order/:id

Retrieve the status and delivery details for a specific order by ID.

ParameterTypeRequiredDescription
idstringYesUnique order identifier returned by the create order endpoint.
Request
GET /api/order/:id
Authorization: Bearer YOUR_JWT_TOKEN
Success response
{
  "code": 1,
  "status": "processing",
  "after": 0,
  "vote": 5,
  "type": 1,
  "start_votes": 1,
  "last_votes": 0,
  "order_error_message": "",
  "id": "123456",
  "target": {
    "is_set": true,
    "position": 1,
    "max_hours": 2
  },
  "subreddit": "ask",
  "author": "reddit_user",
  "rank": 5,
  "random_mode": false,
  "vote_min": 1,
  "vote_max": 5,
  "created": 1706583019193,
  "finish_time": 1706583053232
}
Error response
{
  "code": -1,
  "message": "Message Error"
}

Check Balance

GETGET /api/check-balance

Check the balance available to the authenticated account.

Request
GET /api/check-balance
Authorization: Bearer YOUR_JWT_TOKEN
Success response
{
  "balance": 10.4,
  "email": "your_email@example.com"
}

Status Values

processing

The order is being processed by the system.

canceled

The order was canceled and remaining credits are returned when applicable.

pending

The order is waiting to start, often because it was scheduled.

success

The order has completed.

Error Handling

Successful responses use code 200 where applicable. Invalid request data returns code 400, and invalid tokens return code 401 on protected account endpoints.

Need account access?

Open the Dashboard to manage credentials, deposits, and order context before using the API.

Open Dashboard