Step 3: Install, build, and run your first inspection
Posted on July 19, 2026 by Abhay khant
Key Takeaways
Install Go, build gsc-indexer, and run your first URL inspection against Google Search Console in under five minutes.
You've got sa.json from the service-account setup.
Now let's build the tool and get your first INDEXED result.
Prerequisites
Go 1.25 or newer installed. Check with:
go versionIf that's missing, install Go 1.25 or newer from go.dev/dl.
Your
sa.jsonfile from the previous step.
Install
The fastest way is go install — it builds the tool and drops the
gsc-indexer binary into $GOBIN (default ~/go/bin):
go install -v github.com/toolsura/gsc-indexer@latest
Make sure $GOBIN is on your PATH. If it isn't, add this to your shell
profile:
export PATH="$PATH:$(go env GOPATH)/bin"
Once that's set you can run gsc-indexer from any directory.
Build from source (alternative)
Prefer to compile from a clone?
git clone https://github.com/toolsura/gsc-indexer.git
cd gsc-indexer
go build -o gsc-indexer .
That produces an executable named gsc-indexer in the folder. There's no
separate installer.
Tell it your credentials
Pass the key file directly:
gsc-indexer -creds /path/to/sa.json "https://www.toolsura.com/"
Or use the environment variable (set it once per terminal session):
export GSC_CREDENTIALS=/path/to/sa.json
gsc-indexer "https://www.toolsura.com/"
Read the output
A successful first run looks like:
[1/1] • https://www.toolsura.com/ [INDEXED]
coverage: Submitted and indexed | fetch: SUCCESSFUL | robots: | last crawl: 2026-07-18T07:05:51Z
→ inspection submitted for all URLs; Google will re-crawl on next pass.
[1/1]. position in this run.[INDEXED]. Google already has the page.- The coverage/fetch/robots lines are GSC's inspection details.
- The last line means the re-crawl request was submitted.
If you see [NOT INDEXED] or an error instead, don't panic. that's covered
in understanding your results and the
troubleshooting guide.
Next steps
- Decode the verdict: understanding results.
- Have many URLs? Batch files, stdin, and sitemaps.
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
What are the build requirements?
You need Go 1.25 or newer. The quickest path is 'go install -v github.com/toolsura/gsc-indexer@latest', which builds the binary into your GOPATH bin directory so you can run it from anywhere. Or clone the repo and run 'go build -o gsc-indexer .' from the project directory; the binary appears in the current folder, ready to run. There are no extra dependencies to fetch at build time.
How do I point the tool at my credentials?
Pass the service account key with -creds sa.json, or export GSC_CREDENTIALS to the file path. The flag takes precedence over the environment variable. Without a valid key the tool cannot authenticate, and you will see a 401 or a clear 'no credentials' style error before any request is sent.
What does a successful first run look like?
Run 'gsc-indexer -creds sa.json "https://www.toolsura.com/"' (or './gsc-indexer' if you built from source). After a moment it prints the URL, an INDEXED or NOT INDEXED state, and coverage details. The inspection itself already submitted the URL for re-crawl; that confirmation prints once at the end, not per URL.
Can I preview the run before it touches Google?
Yes. Add -dry-run and the tool expands and lists every URL it would inspect, then exits without calling the API and without needing credentials. Use it to sanity-check a sitemap or batch file before a long, throttled run so you do not discover a bad URL set halfway through.
Why does it say NOT INDEXED on my first run?
That means Google has not indexed the page, not that the run failed. Inspection succeeded; the page simply is not in the index yet, or was just submitted for re-crawl. Only network, HTTP, or parse errors count as failures, and those return a non-zero exit code.