goenning/google-indexing-script

TypeScriptseogets.com

Script to get your site indexed on Google in less than 48 hours

googleindexingseo
Star Growth
Stars
7.7k
Forks
547
Weekly Growth
+1
Issues
15
5k6k7k
Jan 2024Nov 2024Oct 2025Sep 2026
Artifactsnpm
README

Google Indexing Script

Use this script to get your entire site indexed on Google in less than 48 hours. No tricks, no hacks, just a simple script and a Google API.

[!IMPORTANT]

  1. This script uses Google Indexing API and it only works on pages with either JobPosting or BroadcastEvent structured data.
  2. Indexing != Ranking. This will not help your page rank on Google, it'll just let Google know about the existence of your pages.

Requirements

Preparation

  1. Follow this guide from Google. By the end of it, you should have a project on Google Cloud with the Indexing API enabled, a service account with the Owner permission on your sites.
  2. Make sure you enable both Google Search Console API and Web Search Indexing API on your Google Project ➤ API Services ➤ Enabled API & Services.
  3. Download the JSON file with the credentials of your service account and save it in the same folder as the script. The file should be named service_account.json

Installation

Using CLI

Install the cli globally on your machine.

npm i -g google-indexing-script

Using the repository

Clone the repository to your machine.

git clone https://github.com/goenning/google-indexing-script.git
cd google-indexing-script

Install and build the project.

npm install
npm run build
npm i -g .

[!NOTE] Ensure you are using an up-to-date Node.js version, with a preference for v20 or later. Check your current version with node -v.

Usage

With service_account.json (recommended)

Create a .gis directory in your home folder and move the service_account.json file there.

mkdir ~/.gis
mv service_account.json ~/.gis

Run the script with the domain or url you want to index.

gis <domain or url>
# example
gis seogets.com

Here are some other ways to run the script:

# custom path to service_account.json
gis seogets.com --path /path/to/service_account.json
# long version command
google-indexing-script seogets.com
# cloned repository
npm run index seogets.com
With environment variables

Open service_account.json and copy the client_email and private_key values.

Run the script with the domain or url you want to index.

GIS_CLIENT_EMAIL=your-client-email GIS_PRIVATE_KEY=your-private-key gis seogets.com
With arguments (not recommended)

Open service_account.json and copy the client_email and private_key values.

Once you have the values, run the script with the domain or url you want to index, the client email and the private key.

gis seogets.com --client-email your-client-email --private-key your-private-key
As a npm module

You can also use the script as a npm module in your own project.

npm i google-indexing-script
import { index } from "google-indexing-script";
import serviceAccount from "./service_account.json";

index("seogets.com", {
  client_email: serviceAccount.client_email,
  private_key: serviceAccount.private_key,
})
  .then(console.log)
  .catch(console.error);

Read the API documentation for more details.

Here's an example of what you should expect:

[!IMPORTANT]

  • Your site must have 1 or more sitemaps submitted to Google Search Console. Otherwise, the script will not be able to find the pages to index.
  • You can run the script as many times as you want. It will only index the pages that are not already indexed.
  • Sites with a large number of pages might take a while to index, be patient.

Quota

Depending on your account several quotas are configured for the API (see docs). By default the script exits as soon as the rate limit is exceeded. You can configure a retry mechanism for the read requests that apply on a per minute time frame.

With environment variables
export GIS_QUOTA_RPM_RETRY=true
As a npm module
import { index } from 'google-indexing-script'
import serviceAccount from './service_account.json'

index('seogets.com', {
  client_email: serviceAccount.client_email,
  private_key: serviceAccount.private_key
  quota: {
    rpmRetry: true
  }
})
  .then(console.log)
  .catch(console.error)

📄 License

MIT License

This project is sponsored by SEO Gets

Related repositories
asgeirtj/system_prompts_leaks

Extracted system prompts from Anthropic - Claude Fable 5.1, Opus 5, Claude Design, Claude Code. OpenAI - ChatGPT GPT-6-Astra, Codex. Google - Gemini 3.8 Flash, 3.1 Pro, Antigravity. xAI - Grok, Grok Bot, Cursor, Kimi and more! Updated regularly.

JavaScriptnpmCreative Commons Zero v1.0 Universalaianthropic
64.6k10.6k
elder-plinius/CL4R1T4S

LEAKED SYSTEM PROMPTS FOR CHATGPT, CLAUDE, GEMINI, GROK, PERPLEXITY, CURSOR, LOVABLE, REPLIT, AND MORE! - AI SYSTEMS TRANSPARENCY FOR ALL! 👐

GNU Affero General Public License v3.0aichatgpt
49.2k10.1k
danny-avila/LibreChat

Enhanced ChatGPT Clone: Features Agents, MCP, Skills, DeepSeek, Anthropic, AWS, OpenAI, Responses API, Azure, Groq, o1, GPT-5, Mistral, OpenRouter, Vertex AI, Gemini, Artifacts, AI model switching, message search, Code Interpreter, langchain, DALL-E-3, OpenAPI Actions, Functions, Secure Multi-User Auth, Presets, open-source for self-hosting. Active

TypeScriptnpmMIT Licenseaichatgpt
librechat.ai
43k8.9k
google-research/bert

TensorFlow code and pre-trained models for BERT

PythonPyPIApache License 2.0nlpgoogle
arxiv.org/abs/1810.04805
40k9.7k
searxng/searxng

SearXNG is a free internet metasearch engine which aggregates results from various search services and databases. Users are neither tracked nor profiled.

PythonPyPIGNU Affero General Public License v3.0metasearchsearch
docs.searxng.org
36.7k3.4k
google/comprehensive-rust

This is the Rust course used by the Android team at Google. It provides you the material to quickly teach Rust.

Rustcrates.iotutorialApache License 2.0rustcourse
google.github.io/comprehensive-rust/
33.3k2.1k
google/skills

Agent Skills for Google products and technologies

PythonPyPIskillApache License 2.0googlegooglecloud
19.7k1.6k
mxrch/GHunt

🕵️‍♂️ Offensive Google framework.

PythonPyPIcliOtherosintgoogle
19.5k1.7k
Pawdroid/Free-servers

🚀 免费订阅地址,🚀 免费节点,🚀 6小时更新一次,共享节点,节点质量高可用,完全免费。免费clash订阅地址,免费翻墙、免费科学上网、免费梯子、免费ss/v2ray/trojan节点、谷歌商店、翻墙梯子。🚀 Free subscription address, 🚀 Free node, 🚀 Updated every 6 hours, shared node, high-quality node availability, completely free. Free clash subscription address, free ss/v2ray/trojan node.

shadowrocketshadowsocks
v2cross.com
19k1.2k
GoogleCloudPlatform/generative-ai

Sample code and notebooks for Generative AI on Google Cloud, with Gemini Enterprise Agent Platform

Jupyter NotebookApache License 2.0generative-aillm
docs.cloud.google.com/gemini-enterprise-agent-platform/
17.7k4.4k
tisfeng/Easydict

一个简洁优雅的词典翻译 macOS App。开箱即用,支持离线 OCR 识别,支持有道词典,🍎 苹果系统词典,🍎 苹果系统翻译,OpenAI,Gemini,DeepL,Google,Bing,腾讯,百度,阿里,小牛,彩云和火山翻译。A concise and elegant Dictionary and Translator macOS App for looking up words and translating text.

SwiftappGNU General Public License v3.0dictionarytranslate
14.5k739
microg/GmsCore

Free implementation of Play Services

JavaMavenApache License 2.0javaandroid
microg.org
14.5k3.1k