API Documentation
Integrate Upvote.sh services into your workflow with our REST API. Automate Reddit upvotes, comments, and more.
Base URL
https://api.upvote.sh/v1Authentication
All API requests require an API key sent in the Authorization header.
Authorization: Bearer YOUR_API_KEY
Get your API key from the Dashboard under Settings.
Rate Limits
| Plan | Requests / min | Requests / day |
|---|---|---|
| Free | 10 | 500 |
| Pro | 60 | 5,000 |
| Enterprise | 300 | Unlimited |
Endpoints
/ordersCreate a new order for upvotes, comments, or other services.
Request Body
{
"service": "upvotes",
"url": "https://reddit.com/r/startups/comments/abc123",
"quantity": 100,
"speed": "gradual"
}Parameters
| Field | Type | Required | Description |
|---|---|---|---|
| service | string | Yes | One of: upvotes, downvotes, comments, views, awards, saves, shares |
| url | string | Yes | Reddit post or comment URL |
| quantity | integer | Yes | Number of actions (10 - 10,000) |
| speed | string | No | Delivery speed: instant or gradual (default) |
Response
{
"id": "ord_a1b2c3d4e5",
"status": "processing",
"service": "upvotes",
"url": "https://reddit.com/r/startups/comments/abc123",
"quantity": 100,
"speed": "gradual",
"estimated_completion": "2026-02-12T10:00:00Z",
"created_at": "2026-02-11T14:30:00Z"
}/orders/:idRetrieve the status of an existing order.
Response
{
"id": "ord_a1b2c3d4e5",
"status": "completed",
"service": "upvotes",
"url": "https://reddit.com/r/startups/comments/abc123",
"quantity": 100,
"delivered": 100,
"speed": "gradual",
"completed_at": "2026-02-12T08:45:00Z",
"created_at": "2026-02-11T14:30:00Z"
}/ordersList all your orders with optional filters.
Query Parameters
| Param | Type | Description |
|---|---|---|
| status | string | Filter by status: processing, completed, cancelled |
| limit | integer | Results per page (default: 20, max: 100) |
| offset | integer | Pagination offset |
/balanceCheck your account balance.
Response
{
"balance": 245.50,
"currency": "USD"
}/servicesList all available services with pricing.
Response
{
"services": [
{
"id": "upvotes",
"name": "Reddit Upvotes",
"min": 10,
"max": 10000,
"price_per_unit": 0.01,
"currency": "USD"
},
{
"id": "comments",
"name": "Reddit Comments",
"min": 1,
"max": 500,
"price_per_unit": 0.50,
"currency": "USD"
}
]
}Error Codes
| Code | Status | Description |
|---|---|---|
| 400 | Bad Request | Invalid parameters or missing required fields |
| 401 | Unauthorized | Missing or invalid API key |
| 402 | Payment Required | Insufficient balance for this order |
| 404 | Not Found | Order or resource not found |
| 422 | Unprocessable | Invalid Reddit URL or unsupported content type |
| 429 | Too Many Requests | Rate limit exceeded. Check Retry-After header. |
Webhooks
Set up webhook notifications to receive real-time order status updates. Configure your webhook URL in the Dashboard.
Webhook Payload
{
"event": "order.completed",
"data": {
"id": "ord_a1b2c3d4e5",
"status": "completed",
"service": "upvotes",
"quantity": 100,
"delivered": 100,
"completed_at": "2026-02-12T08:45:00Z"
}
}Events: order.processing, order.completed, order.cancelled, order.partial
Quick Start
Here is a quick example using cURL to create an upvote order:
curl -X POST https://api.upvote.sh/v1/orders \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"service": "upvotes",
"url": "https://reddit.com/r/startups/comments/abc123",
"quantity": 50,
"speed": "gradual"
}'Need Help?
Contact our team at upvote.sh/contact for API support or custom integrations.