---
title: "Bulk index checker · gscdump"
canonical_url: "https://gscdump.com/tools/index-checker"
last_updated: "2026-10-03T04:31:36.367Z"
meta:
  description: "Index verdict, coverage state, last crawl, and Google canonical for up to 50 URLs at once, from the URL Inspection API. Free with a Google sign-in."
  "og:description": "Index verdict, coverage state, last crawl, and Google canonical for up to 50 URLs at once, from the URL Inspection API. Free with a Google sign-in."
  "og:title": "Bulk index checker · gscdump"
---

Which of these URLs has Google actually indexed?

# Bulk index checker

Index verdict, coverage state, and last crawl for up to 50 URLs at once, read from Google's URL Inspection API for a site you own.

## What it returns

Real rows, no sign-in

Each URL goes to Google's URL Inspection API, which returns the verdict, coverage state, and last crawl date.

[nuxtseo.com](https://nuxtseo.com) · 2026-08-22 to 2026-09-18, 6 of 375 rows · captured 2026-09-22

Example Bulk index checker rows from nuxtseo.com

| URL | Verdict | Coverage | Last crawl |
| --- | --- | --- | --- |
| |
| https://nuxtseo.com/tools/keyword-research | NEUTRAL | Excluded by ‘noindex’ tag | 2026-09-22 |
| https://nuxtseo.com/tools/site-audit | NEUTRAL | Discovered - currently not indexed | 2026-09-22 |
| https://nuxtseo.com/docs/og-image/renderers | NEUTRAL | Discovered - currently not indexed | 2026-09-22 |
| https://nuxtseo.com/docs/og-image/integrations/color-mode | NEUTRAL | Crawled - currently not indexed | 2026-09-22 |
| https://nuxtseo.com/docs/og-image/guides/resolve-og-images | NEUTRAL | Discovered - currently not indexed | 2026-09-22 |
| https://nuxtseo.com/docs/og-image/guides/route-rules | NEUTRAL | Crawled - currently not indexed | 2026-09-22 |

These are nuxtseo.com's own rows, read from its Search Console record. Connect a Site below to run the same query over yours.

## Run it on your own record

[**Continue with Google **](https://gscdump.com/auth/google)

HostedRead-only Search Console scope. Free during beta.

or

```
gscdump inspect --site sc-domain:example.com --file urls.txt
```

$ LocalMIT licensed, on npm.

Over MCP: `inspect-url { siteUrl: "<site>", url: "<url>" }`

[Connect with MCP](https://gscdump.com/mcp) to reach it from ChatGPT, Claude, Cursor, or Copilot.

The MCP tool inspects one URL per call. For a list, the CLI reads a file or a sitemap.

## **What the check reads**

Search Console's URL Inspection panel answers for one URL at a time. The same API behind it answers for a list. This page sends each URL you paste, up to 50 per run, and lays the responses out in one table.

Each response carries the verdict, the coverage state Google assigns, the last crawl time, and the canonical URL Google selected. The verdict and coverage state are Google's own values, not a `site:` search.

## **Coverage states**

<dl>

<dt>Indexed</dt>
<dd>Submitted and indexed. The URL can appear in results.</dd>

<dt>Discovered, not indexed</dt>
<dd>Google knows the URL and has not crawled it. Internal links from indexed pages move it up the queue.</dd>

<dt>Crawled, not indexed</dt>
<dd>Google fetched the page and left it out of the index. Thin or duplicate content is the usual reason.</dd>

<dt>Excluded by noindex</dt>
<dd>A noindex directive on the page or in its headers. Remove it if the exclusion is unintended.</dd>

<dt>Blocked by robots.txt</dt>
<dd>A robots.txt rule stops the crawl. Change the rule if the page belongs in the index.</dd></dl>

## **When to run it**

- **1-2 weeks after publishing.** Long enough for Google to have crawled the new URLs. A "discovered, not indexed" row after that is worth a look.
- **After a drop in clicks.** A page that fell out of the index shows up here before it shows up anywhere else. Check the pages the content decay query lists.
- **After a migration.** Paste the old URLs and the new ones. Old rows should show a redirect; new rows should reach indexed within a few weeks.
- **On a schedule for key pages.** A monthly run over the pages that earn the clicks catches a silent drop from the index.

## **Rate limits**

**2,000 requests per site per day.**

Google's cap on the URL Inspection API, shared by every client inspecting the same site. On a large site, spend it on new pages, pages that lost clicks, pages you changed, and the pages that earn the most.

## Common questions

Google's URL Inspection API, the same source as the URL Inspection panel in Search Console. Each URL is one request, and the response carries the verdict, coverage state, last crawl time, and the canonical Google chose.

Indexed (PASS): the URL is in Google's index. Not indexed (FAIL or NEUTRAL): Google has not indexed it. Partial: indexed with issues. Unknown: the API returned no verdict for that URL.

Google allows 2,000 URL Inspection requests per site per day. Every URL you check here counts against that number, alongside any other client using the API for the same site.

The coverage state names the reason Google gives: blocked by robots.txt, excluded by noindex, discovered but not crawled, crawled but not indexed, a redirect, or a server error.

No. The API only answers for sites you have verified in Search Console, and every URL must belong to the site you pick.

## **See also**

<dl>

<dt><a href="https://gscdump.com/tools/content-decay">Content decay</a></dt>
<dd>Pages whose clicks fell 20% or more against the previous 28 days, with the clicks lost.</dd>

<dt><a href="https://gscdump.com/tools/striking-distance">Striking distance keywords</a></dt>
<dd>Queries ranking 4-20 by impressions, with CTR and clicks for each.</dd>

<dt><a href="https://gscdump.com/tools/cannibalization">Keyword cannibalization</a></dt>
<dd>Queries where 2 or more of your pages each receive impressions, with the click split.</dd></dl>

Every day you're not syncing is data Google will delete.

Eligible Sites backfill available Search Console history. Data sources depend on the tool and account. Free during beta.

[**Join the waitlist **](https://gscdump.com/#get-access) [**Connect with MCP **](https://gscdump.com/mcp)

## Sitemap

See the full [sitemap](/sitemap.md) for all pages.
