Developer API

REST API for every account

Create an API key in your dashboard and submit URLs programmatically. Credits are charged from your balance (1 standard / 3 priority per URL). Optional drip-feed for natural pacing. Priority requires a paid deposit. Priority is available after your first paid pack.

Base URL

https://bestindexingtool.com/api/v1

Authentication

Every user can generate keys under Dashboard → API Keys. Send the key on each request (never in browser JavaScript).

Option A (recommended):

X-API-Key: bit_your_secret_key

Option B (Bearer):

Authorization: Bearer bit_your_secret_key

Get credits

GET /credits

curl https://bestindexingtool.com/api/v1/credits \
  -H "X-API-Key: bit_..."
{
  "credits": 250,
  "usedThisMonth": 12,
  "currency": "credits"
}

Account + plan

GET /me - email, name, balance, list price.

Submit URLs

POST /submissions - max 500 URLs per request. Dedupes invalid URLs. Supports priority and drip-feed.

curl -X POST https://bestindexingtool.com/api/v1/submissions \
  -H "X-API-Key: bit_..." \
  -H "Content-Type: application/json" \
  -d '{
    "urls": [
      "https://example.com/page-1",
      "https://example.com/page-2"
    ],
    "type": "page",
    "campaign": "client-acme",
    "priority": false,
    "dripfeed_days": 0
  }'

priority: true charges more credits per URL and uses the faster queue (requires a paid deposit).

dripfeed_days (0-30): spread the batch evenly over that many days. First URL sends immediately; the rest release on schedule. Credits are charged up front.

Existing campaigns: pass campaignId (cuid) or the same campaign name to add new URLs into a campaign you already created. If that campaign was Completed (all previous URLs indexed), it is automatically set active again when a new URL is added, until those new URLs are settled.

Success response includes creditCost, creditsRemaining, scheduledCount, and submissions[] with ids and status. Responses never include provider names, internal project/task IDs, or full API key secrets.

List submissions

GET /submissions?page=1&limit=50&status=PENDING

curl "https://bestindexingtool.com/api/v1/submissions?limit=20" \
  -H "X-API-Key: bit_..."

Status values: queued, pending, indexed, failed.

Get one submission

GET /submissions/{id}

curl https://bestindexingtool.com/api/v1/submissions/clxxxxxxxx \
  -H "X-API-Key: bit_..."

Rate limits

  • Submit: 60 requests / minute / key
  • List / get / credits: 120-180 requests / minute

Errors

  • 401 - missing/invalid API key
  • 402 - not enough credits (top up in billing)
  • 403 - account suspended
  • 429 - rate limited
{ "error": "Not enough credits. ..." }

Zapier / n8n / Make

Use a generic HTTP module: POST to /submissions with header X-API-Key and JSON body. Poll GET /submissions or single id for status.

Create your API key in under a minute

Sign up free, generate a key, submit your first URL. No monthly plan required.