iVoque NeuralIndexer

API documentation

Build NeuralIndexer indexation into any system. JSON over HTTPS, Bearer-token auth, v2 endpoints with auto-split and idempotency.

Authentication

Every request needs a personal API token. v2 endpoints accept the standard Authorization: Bearer <token>; legacy v1 endpoints also accept the token in the JSON body via api_key or token.

All POST endpoints accept Content-Type: application/json. GET endpoints accept the token in the query string as ?api_key=….

Base URL for all endpoints: https://ivoque.de/api/

Header (recommended for v2)

curl -X POST https://ivoque.de/api/v2/submissions \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"links":["https://example.com/page-1"],"queue":"slow"}'

JSON body field (legacy)

curl -X POST https://ivoque.de/api/link-submit.php \
  -H "Content-Type: application/json" \
  -d '{"api_key":"YOUR_API_TOKEN","links":["https://example.com/page-1"]}'

Query string (GET only)

curl "https://ivoque.de/api/balance.php?api_key=YOUR_API_TOKEN"

Get an API token

There is no public token — every account has its own. Sign up and issue a token from the cabinet or via the Telegram bot (bonus $0.38 on first sign-up via the bot).

⚠️ Generating a new token immediately invalidates the previous one.

🆕 Authoritative API v2 — overview

New in v2 — server-side authoritative storage

Submit any number of URLs in a single request — the server splits large batches into chunks of 5,000. Read submissions, parts, checks and balance history straight from our DB. Subscribe to webhooks instead of polling. Legacy v1 endpoints below remain available.

Base URL

https://ivoque.de/api/v2/

Endpoints summary

POST /api/v2/submissionscreate submission (auto-split)

GET /api/v2/submissionslist with filters

GET /api/v2/submissions/{id}detail + URLs + linked checks/balance

GET /api/v2/submissions/{id}/partslist of parts

GET /api/v2/submissions/{id}/linkspaginated URL list (1–1000 per page)

GET /api/v2/checkslist of indexation checks

GET /api/v2/checks/{id}detail + per-URL results

GET /api/v2/balance/historybalance ledger (debits & credits)

POST /api/v2/webhookscreate webhook subscription

GET /api/v2/webhookslist subscriptions

PATCH /api/v2/webhooks/{id}update url/events/active

DELETE /api/v2/webhooks/{id}remove subscription

GET /api/v2/webhooks/{id}/deliveriesdelivery log (30 days)

POST /api/v2/webhooks/{id}/testsend a test event

Limits

• Per token: 10 req/sec, 100 req/min

• Auto-split chunk size: 5 000 links

• Submission size: practically unlimited (15,000 links = 3 server-side parts)

• Webhook deliveries: 10 retries with exponential backoff (0, 1, 2, 4, 8, 16, 32, 60, 60, 60 min)

V2: POST /api/v2/submissions

POST /api/v2/submissions

Creates a new submission. Accepts either JSON with a links, array, or multipart/form-data with a file field. There is no per-request URL limit — large batches are split server-side into chunks of 5,000. Balance is checked upfront for the entire submission.

Body parameters

links array | string required

Array of URLs or a string separated by \n / comma. The urls field is also accepted.

file multipart

(multipart only) one .txt file with one URL per line. Replaces links.

external_id string

Idempotency key. Repeating the same value returns the existing submission without re-charging.

client_batch_id string

Alternative client-side identifier (e.g. an export filename).

queue string

"slow" (default), "fast" (priority, $0.50/URL) or "yandex".

label string

Free-form label, ≤255 chars.

Example request

curl -X POST https://ivoque.de/api/v2/submissions \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "links": ["https://example.com/p1", "https://example.com/p2"],
    "queue": "slow",
    "client_batch_id": "weekly-2026-04-28",
    "external_id": "client-job-12345",
    "label": "April promo"
  }'

Multipart variant (large .txt)

curl -X POST https://ivoque.de/api/v2/submissions \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -F "file=@./urls.txt" \
  -F "external_id=client-job-12345" \
  -F "queue=slow"

Success response 202

{
  "status": "ok",
  "submission_id": 4567,
  "parts_total": 1,
  "total_links_received": 2,
  "total_links_accepted": 2,
  "charged_amount": 0.0168,
  "balance_usd": 9.9832,
  "was_cached": false,
  "external_id": "client-job-12345",
  "client_batch_id": "weekly-2026-04-28"
}

V2: GET /api/v2/submissions

GET /api/v2/submissions

Paginated list of the account submissions. Filters: status, queue, engine, label, external_id, client_batch_id, date_from/date_to.

curl -s "https://ivoque.de/api/v2/submissions?status=done&date_from=2026-04-01&page=1&per_page=50" \
  -H "Authorization: Bearer YOUR_API_TOKEN"

V2: GET /api/v2/submissions/{id}

GET /api/v2/submissions/{id}

Detailed view of a submission: counters, processing log, linked checks and balance ops, sample URLs. URL pagination: urls_limit (1–50,000), urls_offset.

curl -s https://ivoque.de/api/v2/submissions/4567 \
  -H "Authorization: Bearer YOUR_API_TOKEN"

V2: Google indexation checks

Pricing: $0.0024 / URL (default; accounts may have a custom rate). Minimum balance to start: $1.00. Check ID is prefixed: a123 (auto post-submission, free) or m456 (manual paid).

Schedule a check

curl -X POST https://ivoque.de/api/check-index-task.php \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "YOUR_API_TOKEN",
    "links": ["https://example.com/p1"],
    "batch_id": "audit-2026-04-28"
  }'

List & detail (v2)

curl -s "https://ivoque.de/api/v2/checks?status=completed&per_page=20" \
  -H "Authorization: Bearer YOUR_API_TOKEN"

curl -s "https://ivoque.de/api/v2/checks/m2931?results_per_page=100" \
  -H "Authorization: Bearer YOUR_API_TOKEN"

V2: GET /api/v2/balance/history

GET /api/v2/balance/history

Balance ledger (debits & credits) linked to submission_id / upload_id. Filters: direction (credit/debit), type, submission_id, date_from/date_to.

curl -s "https://ivoque.de/api/v2/balance/history?date_from=2026-04-01&direction=debit&page=1&per_page=50" \
  -H "Authorization: Bearer YOUR_API_TOKEN"

V2: Webhooks

Subscribe to events instead of polling. Each delivery is signed with HMAC-SHA256 over the raw body. After 10 failed attempts (delays 0, 1, 2, 4, 8, 16, 32, 60, 60, 60 min) the delivery is marked dead.

submission.created submission.updated submission.completed check.completed balance.changed * (wildcard)

Create a subscription

curl -X POST https://ivoque.de/api/v2/webhooks \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://hooks.example.com/ivoque",
    "events": ["submission.completed", "check.completed"],
    "description": "Ops alerts"
  }'

Response 201

{
  "status": "ok",
  "id": 12,
  "url": "https://hooks.example.com/ivoque",
  "events": ["submission.completed", "check.completed"],
  "is_active": true,
  "secret": "save-me-now-not-shown-again"
}

Each delivery POST carries an X-Ivoque-Signature: sha256=<hex> header computed over the raw body using your subscription secret. Verify the signature before trusting the payload.

Legacy v1: link-submit.php

POST /api/link-submit.php $0.0122 / URL

Slow Google + Bing pool. Up to 5,000 URLs per request. No auto-split, no idempotency. New integrations should prefer POST /api/v2/submissions.

curl -X POST https://ivoque.de/api/link-submit.php \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "YOUR_API_TOKEN",
    "links": ["https://example.com/p1"]
  }'

Legacy v1: link-submit-yandex.php

POST /api/link-submit-yandex.php $0.0122 / URL

Yandex only. Up to 5,000 URLs per request.

curl -X POST https://ivoque.de/api/link-submit-yandex.php \
  -H "Content-Type: application/json" \
  -d '{"api_key":"YOUR_API_TOKEN","links":["https://example.com/p1"]}'

Legacy v1: link-submit-fast.php

POST /api/link-submit-fast.php $0.50 / URL

Priority indexation via the Google Indexing API — results within minutes. Make sure your balance has enough funds before using it.

curl -X POST https://ivoque.de/api/link-submit-fast.php \
  -H "Content-Type: application/json" \
  -d '{"api_key":"YOUR_API_TOKEN","links":["https://example.com/important-page"]}'

Legacy v1: balance.php

GET /api/balance.php free

Current balance, price per link, available link count.

curl -s "https://ivoque.de/api/balance.php?api_key=YOUR_API_TOKEN"

Legacy v1: check-and-reindex.php

POST /api/check-and-reindex.php $0.0024 + $0.0122 / URL

Google index check + automatic re-submission of non-indexed URLs back into the regular pool. For new integrations use v2: /api/v2/submissions with a submission.completed webhook + manual re-submission.

Pricing & limits

Service Price per URL Endpoint
Slow (Google + Bing) $0.0122 /api/v2/submissions, queue=slow
Yandex $0.0122 /api/v2/submissions, queue=yandex
Fast (Google API) $0.50 /api/v2/submissions, queue=fast
Indexation check $0.0024 /api/check-index-task.php
HTTP status check $0.0016 /api/check-status-task.php

High-volume accounts can request a custom rate from @Inderixing.

Error codes

HTTP statuses

HTTP Meaning Action
200Success
202Accepted (v2 submit)Background processing
400Invalid requestCheck JSON / fields
401invalid_api_keyRe-issue the token
402insufficientTop up balance
403forbidden_scopeOperation disabled
429Rate-limitedBack off ≥ 1 s
500-504Server / upstreamRetry with backoff

Stable error codes

missing_api_key invalid_api_key invalid_json too_many_links missing_links insufficient_balance fast_index_disabled google_check_min_balance processing_failed invalid_event

MCP integration for AI agents

The same REST API is also exposed through Model Context Protocol — plug NeuralIndexer straight into Claude Desktop, Cursor, Windsurf or ChatGPT and let the AI agent submit URLs and check indexation from chat without writing code.

Hosted endpoint — zero install

Just paste the URL https://ivoque.de/mcp-rpc and your token into your client config — no npm packages, no Node.js, no servers to spin up.

Details on the MCP page →