API reference

Everything the IndexChex app does with index checks and URL submission is available over a REST API. Version 1 is IndexChex's own interface. Version 2 mirrors SpeedyIndex's API schema, so an existing SpeedyIndex integration can switch by changing its base URL and key.

Base URL and authentication

All endpoints sit under https://indexchex.com/api. Send your API key as the full value of the Authorization header, with no prefix. Keys are created in your account's API settings, and every key belongs to one user, so jobs are only visible to the account that created them.

Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: application/json

Both versions allow 120 requests per minute per user and draw on the same credit balance as the app: 1 credit per URL for checks and standard submission, 60 per URL for instant submission.

Version 1

Method Path Purpose Parameters
POST /v1/index-check/jobs Create an index-check job urls (1 to 10,000), name
GET /v1/index-check/jobs/{run} Status and counts for a check job run
GET /v1/index-check/jobs/{run}/report Indexed, unindexed and failed URLs for a finished check run
POST /v1/index-submit/jobs Create a submission job urls, name, instantIndex, checker (0 to 5)
GET /v1/index-submit/jobs/{run} Status, counts and scheduled re-check details run
GET /v1/balance Current credit balance none

instantIndex: true selects instant mode (up to 1,000 URLs); otherwise standard mode applies (up to 10,000 URLs). checker from 1 to 5 schedules an automatic index check that many days after submission. Poll status until a job finishes, then read the report. A URL listed under failed_links could not be looked up and is not evidence that it is unindexed.

Version 2 (SpeedyIndex-compatible)

Method Path Purpose Parameters
GET /v2/account Credit balance none
POST /v2/task/google/{type}/create Create an indexer or checker task urls, title, instantIndex, checker (0 to 5)
GET /v2/task/google/{type}/list/{page} List tasks, newest first, 1,000 per page page (from 0)
POST /v2/task/google/{type}/status Status of one or more tasks task_id or task_ids
POST /v2/task/google/{type}/report URL-level results of a completed task task_id
POST /v2/google/url Submit a single URL url

{type} is indexer or checker, and google is the only engine. Because IndexChex has one credit balance, the account endpoint reports the same number for indexer and checker. Reports are served once a task is complete; an indexer report also needs a scheduled re-check, since it lists which submitted URLs were found in Google.

code HTTP Meaning
0 200 Success
1 402 Insufficient credits
2 429 or 500 Rate limit hit, or the request could not be completed
3 422 Invalid payload, unsupported engine or type, or report not ready
404 404 Task not found for this account

Full documentation

Request and response examples in Python, PHP and cURL are in the in-app API documentation once you are signed in.