gsc-indexer FAQ
Posted on July 19, 2026 by Abhay khant
Key Takeaways
gsc-indexer FAQ: does it index instantly, why www vs non-www matters, API key vs service account, 403 causes, and how many URLs you can process.
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
Frequently Asked Questions
Does gsc-indexer force Google to index a page instantly?
No. It requests a re-crawl; Google decides whether and when to index, usually within hours to a few days. Inspection confirms the request was accepted, not that the page is live in search. Think of it as a prompt, not a guarantee of immediate inclusion.
Why do www and non-www (or http and https) matter so much?
They are different Search Console properties. Inspecting https://toolsura.com/ when your property is https://www.toolsura.com/ returns 403 because the URL is not part of that property. Match the prefix exactly, including the protocol and the www, or the request is rejected.
Should I use an API key or a service account?
A service account, always. The URL Inspection API requires OAuth, so an API key returns 401. Create the account, download its JSON key, and grant it Full access to the property. The 401 versus 403 distinction is the fastest way to tell which mistake you made.
My big run stalled. Why, and how do I avoid it?
Google rate-limits sustained inspect volume, so a fast run hits 429 or 5xx. Raise -delay (10s is a good start) and use -q for a clean progress line. Preview with -dry-run before a long sitemap run so you confirm the URL set first.
How many URLs can gsc-indexer process?
As many as you like. Sitemap expansion is capped at 50,000 URLs as a safety limit, and there is no cap on batch or stdin input. For large sites, use a polite -delay so Google does not throttle the burst of requests the tool sends for you.