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 DashboardAuthentication
Bearer authentication is required for API requests. Create or copy your API token from the Dashboard, then include it in the Authorization header.
Authorization: Bearer YOUR_JWT_TOKEN
Content-Type: application/jsonCreate Order
POST /api/order/createCreate a new Reddit vote or ranking order. The request body mirrors the source UpvoteShop contract so existing customer integrations can map fields directly.
| Parameter | Type | Required | Description |
|---|---|---|---|
| link | string | Yes | The public Reddit post or comment URL. |
| type | number | Yes | Service type. 1 is post upvote, 8 is post downvote, 6 is comment upvote, 7 is comment downvote, and 10 is TOP targeted ranking. |
| vote | number | Yes | Number of votes to send. Must be greater than 0 and within your account limits. |
| after | number | Yes | Delay before the order starts, in minutes. Use 0 for immediate start. |
| speed | number | Yes | Approximate delivery speed from 1 to 5 votes per minute. Values such as 0.2 can be used for very slow delivery. |
| target | object | No | Target ranking settings, including is_set and position values when TOP targeted ranking is used. |
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
}
}{
"code": 1,
"message": "Success",
"order_id": "3333"
}Retrieve Order Details
GET /api/order/:idRetrieve the status and delivery details for a specific order by ID.
| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | Yes | Unique order identifier returned by the create order endpoint. |
GET /api/order/:id
Authorization: Bearer YOUR_JWT_TOKEN{
"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
}{
"code": -1,
"message": "Message Error"
}Check Balance
GET /api/check-balanceCheck the balance available to the authenticated account.
GET /api/check-balance
Authorization: Bearer YOUR_JWT_TOKEN{
"balance": 10.4,
"email": "your_email@example.com"
}Status Values
processingThe order is being processed by the system.
canceledThe order was canceled and remaining credits are returned when applicable.
pendingThe order is waiting to start, often because it was scheduled.
successThe 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