Open Source · TypeScript · Event-Driven

Index 2,000+ URLs Per Day — Not Just 200

Open-source bulk URL submission for Google Indexing API & IndexNow. Multi-key rotation, quota tracking, and smart retry — all in one CLI tool.

$ git clone https://github.com/uditgoenka/indexer.git
$ cd indexer && npm install
$ iii -c iii-config.yaml

→ How It Works

Three steps. Zero complexity.

01

Configure Your Keys

Add GCP service account JSON files. Each project gives you 200 requests/day.

02

Submit URLs

POST to the API or use the Next.js dashboard. URLs fan out to both Google and IndexNow.

03

Auto-Rotate & Retry

Keys rotate automatically. Failed requests retry with exponential backoff. Overflow queues drain at midnight.

→ Features

Everything you need to index at scale.

Multi-Key Rotation

Distribute requests across 10+ GCP service accounts. Picks the least-used key to balance load.

Dual Submission

Every URL goes to both Google Indexing API and IndexNow simultaneously.

Quota Tracking

Real-time per-key usage monitoring with automatic overflow queuing.

Smart Retry

Exponential backoff with jitter. Max 3 attempts for transient 429/5xx failures.

Daily Reset

Cron job at midnight UTC resets all quotas and drains the pending queue.

Next.js Dashboard

Submit URLs, view quota usage with visual progress bars, browse submission history.

→ Architecture

Event-driven. Type-safe. Built on Motia.

POST/api/submit-urlssubmit-urlsHTTP Stepurl-dispatcherQueue Stepgoogle-indexerIndexing APIindexnow-submitterIndexNowretry-handler429/5xx backoff🕒quota-reset-cronMidnight UTC

→ Quick Start

Up and running in 5 minutes.

1. Clone & Install

git clone https://github.com/uditgoenka/indexer.git
cd indexer && npm install

2. Configure Environment

cp .env.example .env
# Set INDEXNOW_API_KEY, GOOGLE_APPLICATION_CREDENTIALS path

3. Add GCP Service Account Keys

# Drop JSON key files into /keys directory
# Each file = one GCP project = 200 requests/day
ls keys/
  project-a.json
  project-b.json
  project-c.json

4. Run

# Start the backend
iii -c iii-config.yaml

# Start the dashboard (separate terminal)
cd frontend && npm run dev

→ FAQ

Common questions about Indexer.

Start Indexing at Scale

Free. Open source. No limits.

Let's Build Something Together

Whether you're looking for an angel investor, a growth advisor, or just want to connect — I'm always open to great ideas.

Get in Touch