API

Token API

Two routes under /api/v1/external. Enable API access and create a key in the panel. Billing follows the selected service and any active personal unit price.

Auth

Send the key on every call.

Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

Submit

POST /api/v1/external/submit

Google uses instant indexing for index_type 0, 1, or an omitted value. Use search_engine: "bing" for Bing. The account submission quota sets the request limit. Cost uses the selected service and any active personal unit price; example amounts are illustrative.

curl https://YOUR_PANEL/api/v1/external/submit \
  -X POST \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "urls": ["https://example.com/a", "https://example.com/b"],
    "index_type": 1
  }'
{
  "code": 0,
  "message": "success",
  "data": {
    "status": "submitted",
    "batch_no": "DURL...",
    "total_urls": 2,
    "cost": 2,
    "balance": 4498
  }
}

Status

GET /api/v1/external/status?batch_no=DURL...

curl 'https://YOUR_PANEL/api/v1/external/status?batch_no=DURL...' \
  -H 'Authorization: Bearer YOUR_API_KEY'

New batches and their items return submitted, meaning accepted by the platform, not indexed by a search engine. success_count counts accepted URLs; fail_count and pending_count are zero. Historical batches may retain legacy statuses.

{
  "code": 0,
  "message": "success",
  "data": {
    "batch_no": "DURL...",
    "status": "submitted",
    "total_urls": 2,
    "success_count": 2,
    "fail_count": 0,
    "pending_count": 0,
    "items": [
      { "url": "https://example.com/a", "status": "submitted" },
      { "url": "https://example.com/b", "status": "submitted" }
    ]
  }
}

Errors worth knowing

  • 401 missing token, bad token, revoked token, or API access not enabled.
  • 400 empty list, too many URLs, or the balance cannot cover the batch.

Credits are spent when the batch is created. A failed URL is not credited back.