Authentication

All requests authenticate with your secret API key sent as a Bearer token in the Authorization header. You can find and regenerate your key in Settings → API.

Authorization: Bearer ii_live_xxxxxxxxxxxxxxxxxxxxxxxx

Never expose your secret key in client-side code. Treat it like a password.

Base URL

All endpoints are relative to your site’s REST base:

BASE https://www.indexinstantly.com/wp-json/indexinstantly/v1

Rate limits

Limits depend on your plan. Each request accepts up to 200 URLs. One URL submitted equals one credit consumed.

PlanRequests / minURLs / request
Starter30200
Growth120200
Agency / Custom600+200

Submit URLs

Queue a batch of URLs for indexing. Returns a batch ID you can poll for status.

POST https://www.indexinstantly.com/wp-json/indexinstantly/v1/index

Request body

FieldTypeDescription
urlsstring[]Array of absolute URLs. Max 200 per request.

Example

curl -X POST https://www.indexinstantly.com/wp-json/indexinstantly/v1/index \
  -H "Authorization: Bearer ii_live_xxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{ "urls": ["https://example.com/a", "https://example.com/b"] }'

Response

{
  "batch_id": "btch_8K2qА7d3",
  "accepted": 2,
  "status": "queued",
  "remaining_credits": 9798
}

Batch status

Retrieve the current processing status of a previously submitted batch.

GET https://www.indexinstantly.com/wp-json/indexinstantly/v1/batch/{batch_id}
StatusMeaning
queuedAccepted and waiting in the indexing queue.
processingSubmission to search engines in progress.
indexedSuccessfully submitted for indexing.
failedCould not be submitted (see error detail).

Account & credits

Check your remaining credit balance and current plan.

GET https://www.indexinstantly.com/wp-json/indexinstantly/v1/account

Errors

The API uses conventional HTTP status codes. Errors return a JSON body with a code and message.

CodeMeaning
401Missing or invalid API key.
402Insufficient credits.
422Too many URLs (limit 200) or invalid payload.
429Rate limit exceeded — 60 requests per minute per API key. The response includes a Retry-After header telling you how many seconds to wait.

Code samples

JavaScript (fetch)

const res = await fetch("https://www.indexinstantly.com/wp-json/indexinstantly/v1/index", {
  method: "POST",
  headers: {
    "Authorization": "Bearer ii_live_xxxxxxxxxxxxxxxxxxxxxxxx",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({ urls: ["https://example.com/page"] })
});
const data = await res.json();

Python (requests)

import requests
r = requests.post(
  "https://www.indexinstantly.com/wp-json/indexinstantly/v1/index",
  headers={"Authorization": "Bearer ii_live_xxxxxxxxxxxxxxxxxxxxxxxx"},
  json={"urls": ["https://example.com/page"]},
)
print(r.json())

Get your API key →