API
IndexChex API v2 (SpeedyIndex-compatible)
Published · By IndexChex
In brief
IndexChex API v2 mirrors SpeedyIndex's API schema at https://indexchex.com/api/v2, so an existing SpeedyIndex integration can switch by changing its base URL and API key. It covers account balance, indexer and checker task creation, task lists, status, reports and single-URL submission, with numeric response codes in the same format.
Purpose
Version 2 exists for migration. Many SEO tools, scripts and spreadsheets already speak SpeedyIndex's task API, so IndexChex implemented the same paths, payloads and response envelope. A client built for that schema sends the same calls to a different host. Teams writing a new integration from scratch can use either this version or the resource-style API v1; both create the same jobs and spend the same credits.
Compatibility here means request and response shape. Pricing, limits and performance are IndexChex's own and are listed in the specifications.
Base URL and authentication
https://indexchex.com/api/v2
Authorization: YOUR_INDEXCHEX_API_KEY
The API key is a per-user secret sent as the raw value of the Authorization header, which is also how SpeedyIndex clients pass their key. The path has two variable segments in most routes: {engine}, which must be google, and {type}, which must be indexer (submit URLs for crawling) or checker (check whether URLs are indexed).
Endpoints
| Method | Path | Purpose | Key parameters |
|---|---|---|---|
| GET | /account | Credit balance | none |
| POST | /task/{engine}/{type}/create | Create an indexer or checker task | urls (array), title, instantIndex, checker (0 to 5, indexer only) |
| GET | /task/{engine}/{type}/list/{page} | List tasks, newest first, 1,000 per page | page (zero-based) |
| POST | /task/{engine}/{type}/status | Status of one or more tasks | task_id or task_ids |
| POST | /task/{engine}/{type}/report | URL-level results of a completed task | task_id |
| POST | /{engine}/url | Submit a single URL for indexing | url (valid URL) |
Account
GET /account returns {"code": 0, "balance": {"indexer": N, "checker": N}}. Because IndexChex runs one credit pool, both numbers are the same.
Create
The body holds a urls array and an optional title (up to 255 characters). For indexer tasks, instantIndex: true selects instant mode (60 credits per URL, up to 1,000 URLs), otherwise standard mode applies (1 credit per URL, up to 10,000 URLs). The checker field takes 0 to 5; values from 1 upward schedule an automatic index re-check that many days later. Checker tasks cost 1 credit per URL and accept up to 10,000 URLs.
A successful call returns {"code": 0, "task_id": "123", "type": "google/indexer"}. Task IDs are strings, as in the original schema.
List
GET /task/google/checker/list/0 returns code, page, last_page and a result array. Each entry has id, size, processed_count, indexed_count, type, title, is_completed and created_at. Pages hold 1,000 tasks and are numbered from 0.
Status
Send {"task_id": "123"} for a single object or {"task_ids": ["123", "124"]} for an array. Each result has the same fields as a list entry. For checker tasks indexed_count holds the number of URLs found in Google; for indexer tasks it is null, and is_completed stays false until any scheduled re-check attached to the task has finished.
Report
The report contains id, size, processed_count, indexed_links, unindexed_links, failed_links, failed_count, type, title and created_at. It is only served once is_completed is true. An indexer report additionally requires a scheduled re-check that has completed, so an indexer task created with checker: 0 answers "Report not available for this task." To see which submitted URLs Google holds, run a checker task on the same list.
Single URL
POST /google/url with {"url": "https://example.com/page"} creates a one-URL standard submission and returns {"code": 0}. It is the lightest call for a CMS hook that fires on publish.
Response codes
Every v2 response carries a numeric code alongside the HTTP status.
code | HTTP | Meaning |
|---|---|---|
| 0 | 200 | Success |
| 1 | 402 | Insufficient credits |
| 2 | 429 or 500 | Rate limit hit, or the server could not complete the request |
| 3 | 422 | Invalid payload, unsupported engine or type, report not ready or not available |
| 404 | 404 | Task not found for this account |
Validation failures include an errors object keyed by field, for example when urls exceeds the per-mode maximum.
Rate limiting
Both versions allow 120 requests per minute per user. Over the limit, v2 returns HTTP 429 with {"code": 2, "message": "Too many requests. Please retry shortly."}. Clients written for bursty polling should add a pause between status calls.
Differences from SpeedyIndex worth checking
A drop-in client will run, but results come from IndexChex's own process:
- Only the
googleengine exists. - Instant mode and the
checkerre-check field are IndexChex options; clients that never send them get standard submission without a re-check. - Indexer reports depend on a scheduled re-check, because IndexChex treats a report as meaningful only after the URLs have been looked up in live Google results. That lookup uses the four query forms described on the index checker page.
- Drip feed is not exposed through either API version.
IndexChex guarantees that Googlebot crawls submitted URLs; Google decides whether to index them. Google's overview of its crawlers and fetchers describes how Googlebot fetches pages, which is the step a submission influences. The weekly figures IndexChex publishes for each mode are explained on the methodology page. The date v2 gained scheduled-check reporting and the report gate is recorded in the changelog.
FAQ
What do I change to move a SpeedyIndex integration to IndexChex?
Replace the SpeedyIndex base URL with https://indexchex.com/api/v2 and send an IndexChex API key in the Authorization header. Paths, payload fields and response codes follow the same schema.
Which search engines does v2 support?
Only google. Any other value in the {engine} path segment returns code 3 with the message Unsupported search engine.
Why does the account endpoint show the same balance twice?
IndexChex has one credit balance for checking and submitting, so the indexer and checker fields of the balance object carry the same number.
When is a task report available?
Only after the task is complete. Before that the report endpoint returns code 3 with Report not ready, matching how SpeedyIndex gates reports behind is_completed.
Terms used on this page
Sources
Cite this entry
IndexChex. (2026, October 8). IndexChex API v2 (SpeedyIndex-compatible). backlinkindexersoftware.com. https://backlinkindexersoftware.com/api-v2-speedyindex-compatibility/
Entity: IndexChex (https://indexchex.com/) is the publisher of this site. IndexChex is a backlink indexer and bulk Google index checker that submits URLs for Googlebot crawling and verifies indexation in one credit system.