Skip to main content
POST
Indexing

Overview

The Indexing APIs let you:
  • Index Check: Check whether URLs are currently indexed in Google Search (via a dedicated Apify actor).
  • Index Submit: Notify Bing, Yandex, Seznam and Naver about new or updated URLs using the IndexNow protocol.
Each URL consumes 1 credit whether you are checking or submitting.
Index Submit does not notify Google. Google has never participated in IndexNow, and its own Indexing API officially covers only JobPosting and BroadcastEvent structured data — not general web pages. Use Index Check to monitor Google coverage, and Index Submit for the four IndexNow engines.

Setting up Index Submit

IndexNow has no accounts or OAuth. You prove you own a domain by hosting a key file at its root, and each submission quotes that key. This is a one-time setup per domain.
1

Register the domain

The response contains a generated key and the exact key_location to upload it to.
2

Upload the key file

Create a file named <key>.txt containing exactly <key> and upload it to your site root, so it is reachable at https://example.com/<key>.txt.
3

Verify

We fetch the file and confirm it matches. Only verified domains can be submitted.
Re-registering a domain rotates its key and clears verification, so upload the new file before submitting again. GET /indexing/indexnow/keys lists your domains and their verification state; DELETE /indexing/indexnow/keys/{id} removes one.
The key file must be hosted on the domain it authorizes. A key_location pointing at a different host is rejected.
All endpoints live under the main API base URL:
You will need your GistMag API key from the Dashboard.

Create an indexing job

Use POST /indexing/jobs to create a new job with up to 10,000 URLs per request.

Request

  • api_key (string, required): Your GistMag API key.
  • type (string, required): "check" or "submit".
    • "check" – checks whether each URL appears in Google Search results.
    • "submit" – notifies Bing, Yandex, Seznam and Naver via IndexNow.
  • urls (string[], required): List of full URLs. 1–10,000 items per job. For "submit", the 10,000 limit applies per domain, and every domain must be verified first.
  • source (string, optional): Source identifier ("web", "api", "extension", "wordpress", "shopify", "batch", "tts"). Defaults to "web" when omitted.

Response — check

Index Check runs in the background. Use the job_id to poll for results.

Response — submit

IndexNow is fast and synchronous, so a submit job finishes inside the request and returns its results immediately:
A job spanning several domains is split into one IndexNow request per domain, each listed separately in results. If some domains succeed and others fail the job is still complete — check failed_count and the per-host message. Submitting a URL on an unverified domain returns 400 with the offending hosts, before any credits are charged:

List your indexing jobs

Response


Get a single job

Returns the same IndexJob shape as in the list endpoint.

List URLs and results in a job

Response (Index Check jobs)

  • status:
    • "pending" / "processing" – not finished yet.
    • "done" – we have a definitive answer.
    • "failed" – something went wrong (for checks this is often rate limiting).
  • is_indexed:
    • true – Google SERP contained a clear match for the URL.
    • false – SERP loaded but no match found.
    • null – unknown (e.g. rate-limited).
  • raw_result.reason:
    • "indexed" – clear match found.
    • "not_indexed" – no match found on SERP.
    • "rate_limited" – Google blocked the check (429 / CAPTCHA / “unusual traffic”).
    • "error" – other error.
In the GistMag dashboard, URLs with reason = “rate_limited” are shown as Rate limited so you can distinguish them from true “not indexed” results. You can re-run those URLs in a smaller batch later.

Export job as CSV

Returns a text/csv file with columns:
  • url
  • status
  • is_indexed
  • reason
  • google_status
  • created_at
  • updated_at
You can trigger this from the Dashboard or call the endpoint directly to download the CSV into your own tooling.