gsc-indexer FAQ
Abhay khant
Jan 1, 1970 • 3 min read
Short answers to the questions people ask most. For deeper detail, follow the links.
Does it force Google to index a page instantly?
No. It requests a re-crawl. Google decides whether and when to index, usually within hours to days. See what "submit for indexing" means.
Why does www vs non-www (or http vs https) matter?
They're different GSC properties. If your property is
https://www.toolsura.com/, inspecting https://toolsura.com/ (no www) gives
a 403. Match the property prefix exactly. See
property setup.
API key or service account. which do I use?
Service account (-creds / GSC_CREDENTIALS). The GSC URL Inspection API
requires OAuth; an API key returns 401. See
troubleshooting 401.
Can I use multiple properties?
One property per run, set with -site (defaults to
https://www.toolsura.com/). All URLs in a run must belong to that property.
The service account needs Full access on each property you target.
My big run stalled / errored partway. Why?
Google rate-limits sustained inspect volume. Raise -delay
(e.g. -delay 10s) and use -q for a clean progress line. See
throttling.
Is my sa.json safe?
It's a credential. anyone with it can inspect (and read stats about) your property. Keep it private, don't commit it to git, and store it as a secret in CI. Rotate it from Google Cloud if it ever leaks.
"NOT INDEXED" showed up. did the run fail?
No. The inspection succeeded; Google just doesn't have the page indexed. Only network/HTTP/parse errors count as failures (and trigger a non-zero exit code). See understanding results.
How many URLs can I process?
As many as you like. Sitemap expansion is capped at 50,000 URLs as a safety
limit. For very large sites, use a polite -delay so Google doesn't throttle
you.
Can I schedule it?
Yes. cron, GitHub Actions, or any CI. Use -json for parseable output and
rely on the exit code for pass/fail. See
automating in CI.
Why do I get 403 even though I own the site?
Almost always the service account isn't added to the property, or was
added as Restricted instead of Full. Add its client_email as a Full
user. This is the #1 issue. full fix in
service-account setup.
Where's the source code?
In the GitHub repository. The README there links back to these guides.
Sources
- Google Search Console
- URL Inspection API documentation
- Google Search APIs overview
- Service account OAuth (Google Identity)
- About service accounts (Google Cloud IAM)
- Verify site ownership
- Property types: URL-prefix vs Domain
- URL Inspection tool help
- Indexing API (JobPosting/BroadcastEvent only)
- Request indexing / inspect a URL