notpanel
ServicesPricingFAQGiveawayAPI
notpanel

Followers, likes and views for every platform.

The catalog combines directly operated services with capacity from vetted partners. Current availability, timing, refill, and drip-feed support are shown per service; routing and partner identities remain confidential.

Product

  • Services
  • Pricing
  • Price Index
  • Affiliate Program

Resources

  • API
  • Blog
  • FAQ
  • Status

Company

  • About
  • Why NotPanel
  • Contact Us

Legal

  • Terms of Service
  • Privacy Policy
  • Refund Policy

Languages

  • English
  • Español
  • Português
  • Русский
  • Türkçe
  • العربية
  • हिन्दी
  • Bahasa Indonesia
  • Français
  • 中文

© 2026 NotPanel. All rights reserved.

support@notpanel.com
notpanel
API documentation
+
API documentation

Introduction

  • Overview
  • Getting started
  • Authentication
  • Rate limits
  • Errors

Catalog

  • List services
  • Advanced catalog
  • Service types

Orders

  • Place order
  • Order status
  • Refund quote
  • Refill
  • Cancel

Account

  • Account status
  • Balance

Webhooks

  • Manage webhooks

Reference

  • Changelog
  • SDKs & libraries

Need help?

support@notpanel.com →

Getting started

The v3 API keeps the familiar form-encoded key + action request and JSON response contract. Existing reseller clients can switch their base URL directly; v3 discovery, reconciliation, retry-safety, and webhook fields are optional additions.

  1. 1. Create an account

    Free signup via /register — email or Google OAuth. No credit card required to generate an API key, only to fund the wallet for placing live orders.

  2. 2. Generate an API key

    Once logged in, head to /dashboard/api. Click "Generate key" and copy the raw value — it is shown once, never again. If you lose it, revoke it and generate a new one. Each user can hold up to 5 active keys.

    All of your keys share the account's effective requests-per-minute limit. Lifetime successful spend earns the automatic tier; IP and action limits can also apply — see Rate limits.

  3. 3. Make your first request

    Listing services is the simplest read-only call. action=services returns the cached compatibility array of active services with account-priced rate, min, max, and capability flags. Use action=catalog when you need pagination, search, availability, platform/category metadata, or freshness fields. Replace YOUR_API_KEY with the key from step 2.

    # 1. List active catalog services
    curl -X POST https://notpanel.com/api/v3 \
      -H "Content-Type: application/x-www-form-urlencoded" \
      -d "key=YOUR_API_KEY&action=services"
    const res = await fetch("https://notpanel.com/api/v3", {
      method: "POST",
      headers: { "Content-Type": "application/x-www-form-urlencoded" },
      body: new URLSearchParams({
        key: "YOUR_API_KEY",
        action: "services",
      }),
    });
    
    const services = await res.json();
    console.log(`Found ${services.length} services`);
    import requests
    
    res = requests.post(
      "https://notpanel.com/api/v3",
      data={"key": "YOUR_API_KEY", "action": "services"},
    )
    services = res.json()
    print(f"Found {len(services)} services")
    <?php
    $body = http_build_query([
      'key' => 'YOUR_API_KEY',
      'action' => 'services',
    ]);
    
    $response = file_get_contents('https://notpanel.com/api/v3', false, stream_context_create([
      'http' => [
        'method'  => 'POST',
        'header'  => "Content-Type: application/x-www-form-urlencoded\r\n",
        'content' => $body,
      ],
    ]));
    
    $services = json_decode($response, true);
    echo "Found " . count($services) . " services\n";
    

    Need names your regional users understand? Add language=hi (or en, es, pt, ru, tr, ar, id, fr, zh) to services or catalog. Localized names use curated market terminology, brands stay recognizable, and the response reports the actual language used. Admins can review or refine individual names. Leave it out for the unchanged legacy English shape.

  4. 4. Place an order

    Pick a service ID from step 3, fund the wallet via /dashboard/wallet, and call action=add with the fields required by that service type. Existing clients may send the familiar request unchanged. For exact caller-controlled retries, optionally add a unique opaque request_id of at most 128 characters. See Place order for the complete parameter list.

  5. 5. Track and respond

    Poll status for individual orders or batches up to 100 IDs. For event-driven integrations, register a webhook for the six supported events: order.completed, order.partial, order.processing, order.in_progress, order.refunded, and order.refill_completed. Delivery is best-effort with retries; reconcile important state with action=status.

Already integrated with another v2 panel?

Change the base URL and keep the familiar key + action calls. Standard services, add, status, balance, refill, refill_status, and cancel requests work directly. Adopt optional v3 fields and actions when you want stronger retry control, richer discovery, refund quotes, bulk operations, or signed webhooks.