Reddit Upvotes API Documentation

    Integrate BuyUpvotes into your application with our simple REST API

    Base URL: https://buyupvotes.net/api/public/v1

    Important: IP Whitelisting Required

    For production use, your server IP must be whitelisted with our provider. Please contact us on Telegram @BuyUpvotes to get your IP approved, otherwise orders will fail.

    Authentication

    All requests require an API key

    Include your API key in the x-api-key header with every request:

    Header Example

    x-api-key: YOUR_API_KEY

    Get your API key from Settings

    Generate and manage your keys securely

    Available Services

    Service keys for creating orders

    post_upvote

    Post Upvote

    $0.02

    Min: 5 • Max: 1000

    post_downvote

    Post Downvote

    $0.02

    Min: 5 • Max: 1000

    comment_upvote

    Comment Upvote

    $0.04

    Min: 5 • Max: 1000

    comment_downvote

    Comment Downvote

    $0.04

    Min: 5 • Max: 1000

    custom_comments

    Custom Comments

    $0.20

    Min: 1 • Max: 100

    Quick Start

    Get started with these common examples

    1

    Create Order (Upvotes/Downvotes)

    Request

    curl -X POST https://buyupvotes.net/api/public/v1/orders \
      -H "Content-Type: application/json" \
      -H "x-api-key: YOUR_API_KEY" \
      -d '{
        "service": "post_upvote",
        "link": "https://www.reddit.com/r/example/comments/abc123/...",
        "quantity": 50
      }'

    Response

    {
      "status": "success",
      "orderId": 4292567,
      "cost": 0.5,
      "balanceAfter": 24.50
    }
    2

    Create Order (Custom Comments)

    Parameters:

    • comments: Separate each comment with \n (newline)
    • delay1: Delay before starting (in minutes)
    • delay2: Delay between each comment (in minutes)

    Request

    curl -X POST https://buyupvotes.net/api/public/v1/orders \
      -H "Content-Type: application/json" \
      -H "x-api-key: YOUR_API_KEY" \
      -d '{
        "service": "custom_comments",
        "link": "https://www.reddit.com/r/example/comments/abc123/...",
        "comments": "Great post!\nThanks for sharing\nVery helpful",
        "delay1": 2,
        "delay2": 5
      }'

    Response

    {
      "status": "success",
      "orderId": 4293000,
      "cost": 0.3,
      "balanceAfter": 24.20
    }
    3

    Check Order Status

    Request

    curl -X POST https://buyupvotes.net/api/public/v1/status \
      -H "Content-Type: application/json" \
      -H "x-api-key: YOUR_API_KEY" \
      -d '{
        "orders": ["4292567", "4293000"]
      }'

    Response

    {
      "results": [
        { "orderId": 4292567, "status": "pending" },
        { "orderId": 4293000, "status": "completed" }
      ]
    }

    All Endpoints

    Complete API reference

    POST
    /api/public/v1/orders

    Create a new order

    Body Parameters:

    • service (string, required) — Service key from available services
    • link (string, required) — Reddit post/comment URL
    • quantity (number, required*) — Number of upvotes/downvotes (*not for custom_comments)
    • comments (string, optional) — Required for custom_comments, separated by \n
    • delay1 (number, optional) — Initial delay in minutes (for custom_comments)
    • delay2 (number, optional) — Delay between comments in minutes
    GET
    /api/public/v1/orders?id=ORDER_ID

    Get details of a specific order

    Example Request

    curl -X GET "https://buyupvotes.net/api/public/v1/orders?id=4292567" \
      -H "x-api-key: YOUR_API_KEY"

    Example Response

    {
      "order": {
        "id": 4292567,
        "created_at": "2025-11-02T19:06:23Z",
        "service": "Post Upvote",
        "reddit_link": "https://www.reddit.com/...",
        "quantity": 50,
        "cost": 0.5,
        "status": "completed"
      }
    }
    GET
    /api/public/v1/orders?page=1&limit=20

    List all your orders with pagination

    Query Parameters:

    • page (number, optional) — Page number (default: 1)
    • limit (number, optional) — Results per page (default: 20, max: 100)
    POST
    /api/public/v1/status

    Check status of multiple orders (max 100)

    Body Parameters:

    • orders (array, required) — Array of order IDs (strings or numbers)
    GET
    /api/public/v1/services

    Get list of all available services with pricing

    Example Response

    {
      "services": [
        {
          "serviceId": "2",
          "serviceKey": "post_upvote",
          "name": "Post Upvote",
          "min": 5,
          "max": 1000,
          "ratePerHundred": 1.0,
          "category": "Reddit"
        }
      ]
    }
    GET
    /api/public/v1/balance

    Get your current account balance

    Example Response

    {
      "balance": 25.50
    }

    Error Handling

    Common error responses

    Invalid API Key (401)

    {
      "error": "Invalid or missing API key"
    }

    Insufficient Balance (400)

    {
      "error": "Insufficient balance"
    }

    Validation Error (400)

    {
      "error": "Invalid service ID"
    }

    For any issues, contact us on Telegram @BuyUpvotes