A simple, lightweight CLI tool to submit URLs to Google Indexing API and run Search Console inspections — with excellent resume support.
Perfect for site owners, bloggers, and SEO folks who want direct control without relying on slow auto-indexing.
Built with openssl JWT (no heavy SDKs). Supports sqlite / json / mysql history backends.
- Recursive parsing of
sitemap.xml(including sitemap index files) - One-by-one submissions to the Google Indexing API
- Full URL Inspection via Search Console API
- Multiple persistent history backends for bulletproof resume:
sqlite(default – zero extra dependencies)json(simple files)mysql(for shared databases or teams)
- Daily quota awareness with auto-stop
- Useful commands:
--status,--export-failed,--retry-errors,--dry-run - Fully generic and configurable
pip install git+https://github.com/cleven12/google-indexer-cli.gitOr from source:
git clone https://github.com/cleven12/google-indexer-cli.git
cd google-indexer-cli
pip install .After install, both google-indexer and google-indexer-cli commands are available.
google-indexer \
--site https://example.com \
--submit --inspect --resumemacOS / Linux
# With pipx (recommended for CLI tools)
pipx install git+https://github.com/cleven12/google-indexer-cli.git
google-indexer --statusWindows (PowerShell)
pip install git+https://github.com/cleven12/google-indexer-cli.git
google-indexer --submit --inspect --resumeDocker
docker run --rm -v $(pwd):/work -w /work python:3.11 \
sh -c "pip install git+https://github.com/cleven12/google-indexer-cli.git && \
google-indexer --site https://example.com --submit --inspect"GitHub Actions (example for static sites)
- name: Index new pages
run: |
pip install git+https://github.com/cleven12/google-indexer-cli.git
google-indexer --site https://example.com --submit --inspect --resume --limit 50This tool shines when combined with AI for content + indexing workflows:
- Use Claude (Anthropic) or Google Gemini to generate new pages/posts and update your sitemap.
- Run the indexer on the new URLs so Google discovers them faster.
Example flow:
# 1. Generate content with Claude / Gemini (your own script)
# 2. Rebuild sitemap
# 3. Index immediately
google-indexer --site https://example.com --submit --inspect --resumeThis combination (AI content generation + direct Google Indexing) helps get fresh content indexed quickly.
google-indexer --submit --inspect --resume --limit 150
google-indexer --status
google-indexer --retry-errors --submit
google-indexer --export-failed failed.txt
google-indexer --history-backend mysql --submit --inspect --resumeAll options via CLI flags (recommended) or environment variables.
Key flags:
--site— Your site URL--sitemap— Sitemap URL (defaults to site/sitemap.xml)--history-backend— sqlite (default) | json | mysql--limit— Max URLs this run (good for quotas)
- Python ≥ 3.9
requestsopenssl(for JWT)- Optional:
pymysqlfor MySQL backend
- Create Service Account in Google Cloud
- Enable Indexing API
- Download JSON key
- Add the service account as Owner in Search Console
Simple, reliable control over Google indexing. Great when you publish via AI (Claude, Gemini, etc.) and want new pages discovered fast.
MIT — see LICENSE.
Contributions welcome! 2. (Optional) mysqldump + restore to prod. 3. Run indexer from your laptop:
./run.sh --submit --inspect --resume --limit 120- Check status anytime:
./run.sh --status
python seo_indexer.py --submit --inspect --resume --history-backend sqlite --limit 100
python seo_indexer.py --status
python seo_indexer.py --export-failed failed.txt
python seo_indexer.py --retry-errors --submit
pip install requests
# Optional
pip install pymysqlopenssl required for JWT (same as xenohuru).
- Google Cloud → Service Account + JSON key
- Enable Indexing API
- Add the service account as Owner in Google Search Console property
- One-by-one + persistent state = bulletproof resume even after days
- Lightweight, no heavy google libs
- Optional MySQL exactly for the history fallback case
- Works perfectly after bulk JSON imports on the Visit Kili site
Created as the official external indexer for Visit Kili v2.