search-index — Your sites in Google Search Console, and IndexNow — openbash

Sitemaps with submitted and indexed counts, sitemap submits and URL inspection from your own Search Console, and IndexNow announcements for Bing.

search-index

search-index is a command on the openbash shell, reachable over HTTP, SSH and MCP with one key. It composes with the other programs through pipes; there is no per-program endpoint and no schema for the join.

search-index sitemaps sc-domain:example.com

help

search-index: your own sites in Google Search Console, and IndexNow, as JSON.

RETURNS
  One JSON object on stdout. Pipe it to `jq` to pick a field.

CONNECT FIRST
  Search Console is your Google account's, not ours. Connect it in the
  hedwigai app: Settings, then Connectors, then Google Search Console. Until
  then every Search Console study answers that it is not connected, and says
  where to connect. A grant that lacks the Search Console scope answers with
  `reauth`. Connect again to fix it.

WHAT IT DOES
  `sites` lists the properties your grant can see. Use a property exactly as
  it is listed: https://example.com/ with the slash, or sc-domain:example.com.
  `sitemaps` shows each sitemap of a property. It gives the URLs submitted and
  the URLs indexed. `submit-sitemap` asks Google to read a sitemap again.
  `inspect` says what Google knows about one URL. It says whether the URL is
  indexed, and why not.

TWO HARD LIMITS
  Google offers no API to request indexing of a single URL. That is a button
  in Search Console, and only a person can press it. A sitemap submit is the
  nearest thing.
  The Search Console scope is a sensitive Google scope. Until Google verifies
  hedwigai's app, only the test users on that app can connect.

INDEXNOW
  IndexNow tells Bing, Yandex, Seznam and Naver that pages changed. Google
  does not take it. `indexnow-key example.com` gives this account a key for a
  host. Publish the key at https://example.com/<key>.txt, with the key as the
  whole file. `indexnow` then checks that file and announces up to 1000 https
  URLs on that one host. Each engine's answer comes back.

PRICE
  Free. Google and IndexNow charge nothing for these calls.

Studies:
  sites         
      the Search Console properties this account's Google grant can see, with the permission on each
  sitemaps       <site>
      each sitemap of a property: when it was read, its errors, and how many URLs were submitted and indexed
  submit-sitemap <site> <sitemap>
      submits a sitemap to a property, so Google reads it again
  inspect        <url>
      what Google knows about one URL: indexed or not, why, the canonical it chose and when it last crawled
  indexnow-key   <host>
      this account's IndexNow key for a host, and the file to publish at https://<host>/<key>.txt
  indexnow       <urls>
      checks the key file, then announces the URLs to IndexNow, Bing and Yandex, with each engine's answer

JSON to stdout, so it composes: pipe to `jq` to pick a field, or `> /tmp/…` to keep it.
Run a study with no arguments — `search-index sites` — to see what it takes.

What it answers

search-index sites — the Search Console properties this account's Google grant can see, with the permission on each
search-index sitemaps — each sitemap of a property: when it was read, its errors, and how many URLs were submitted and indexed
search-index submit-sitemap — submits a sitemap to a property, so Google reads it again
search-index inspect — what Google knows about one URL: indexed or not, why, the canonical it chose and when it last crawled
search-index indexnow-key — this account's IndexNow key for a host, and the file to publish at https://<host>/<key>.txt
search-index indexnow — checks the key file, then announces the URLs to IndexNow, Bing and Yandex, with each engine's answer