Free tool

Bulk Search Console URL inspection

Bulk URL inspection means querying the Google Search Console URL Inspection API for many URLs at once, so you get index status, last crawl date and the reason a page is not indexed for a whole site section instead of one page at a time. Search Console’s own interface inspects a single URL per lookup. Connect a property you have verified and this inspects up to 500 per run, free, using Google’s own record rather than a guess.

Read-only access. No SearchOptimo account. Your Google token and your results are never stored.

Read-only access to your Search Console properties, nothing else. We never store your Google token, and your results are never written to our database.

What you get back for every URL

Five fields per URL, all of them Google’s own values from the URL Inspection API. Most bulk checkers report a single indexed or not indexed flag, which tells you a page is missing without telling you why. The reason is the part you can act on.

Google’s status

The coverageState string Google stores for the URL, such as "Crawled - currently not indexed". This is the same wording Search Console shows you, so it maps directly onto everything written about fixing it.

Last crawled

The date Googlebot last fetched the page. A page last crawled eight months ago is a crawl-priority problem, not a content problem, and the fix is different.

Canonical

The URL Google actually selected, compared against the canonical you declared. When these disagree, Google is indexing a different page in place of this one, which is the single most commonly missed reason a page looks missing.

Blockers

The robots.txt state, indexing state and page fetch state Google recorded. This separates "Google could not reach the page" from "Google reached it and decided against it".

CSV export

Every field for every URL, downloadable. Search Console has no bulk export of inspection data at all, so this is the part most people are trying to reconstruct by hand.

Problems-only filter

One checkbox to hide the URLs that are fine. On a 500-URL run the useful answer is usually the 20 rows with something wrong.

What each Search Console status actually means

The tool prints Google’s status strings verbatim rather than translating them, because the exact wording is what every fix guide is written against. Here is what each one is telling you.

Google’s statusIndexed?What it means
Submitted and indexedIndexedThe page is in Google and it was found through a sitemap you submitted. Nothing to do.
Indexed, not submitted in sitemapIndexedIn Google, but Google found it by crawling rather than from your sitemap. Worth adding to the sitemap so changes are picked up faster.
Crawled - currently not indexedNot indexedGoogle fetched the page and chose not to index it. This is a quality or duplication judgement, not a technical block, so re-submitting rarely helps.
Discovered - currently not indexedNot indexedGoogle knows the URL exists but has not fetched it yet. Usually crawl budget or a slow server, common on large sites.
URL is unknown to GoogleNot indexedGoogle has no record of this URL at all. Check it is linked internally and present in your sitemap.
Duplicate, Google chose different canonical than userNot indexed as this URLGoogle is indexing another URL in place of this one. The Canonical column names the URL it picked.
Duplicate without user-selected canonicalNot indexed as this URLGoogle found near-identical pages and picked one. You declared no canonical, so it decided for you.
Excluded by noindex tagNot indexedA meta robots or X-Robots-Tag noindex is on the page. Intentional on a thank-you page, a bug on a money page.
Blocked by robots.txtNot indexedGooglebot is disallowed from fetching the URL, so it cannot assess the page at all.
Page with redirectNot indexedThe URL redirects, so Google indexes the destination instead. Expected after a migration, a problem if it was not planned.
Not found (404)Not indexedThe URL returns 404. If it used to rank, this is the one to fix first.
Soft 404Not indexedThe page returns 200 but looks empty or like an error page to Google. Common on out-of-stock and no-results pages.

If a run comes back with a lot of pages in one state, the state tells you which tool to reach for next: a canonical checker for duplicate verdicts, a noindex checker for exclusions, or the robots.txt tester for blocks.

Indexed version or live test: they answer different questions

This trips people up constantly, and it is the one thing worth understanding before you act on a result. Search Console’s URL Inspection screen shows you two things that look like the same thing.

The indexed version (what this returns)

Google’s stored record: what it currently believes about the page, based on the last time it crawled. This is the right answer when you are auditing, because it reflects what is actually live in the index and therefore what users can find today.

Test live URL (Search Console only)

A fresh fetch, right now, bypassing the stored record. This is the right answer after you ship a fix and want to confirm Googlebot can see it. Google’s API does not support live testing at all, so no bulk tool anywhere can offer it.

The practical consequence: if you removed a noindex an hour ago, this tool will still report the page as excluded until Google re-crawls it. That is not a stale result on our side, it is Google’s record being genuinely out of date. Use bulk inspection to find the problems, then the live test inside Search Console on the handful you just fixed.

This only works on sites you have verified

Google returns inspection data only for properties you own, and there is no way around that, here or in any other tool. If you need index status for URLs you do not control, such as backlinks, guest posts, citations, client sites you have no access to, or competitor pages, no authoritative option exists at all. The best available evidence is a live public search check, which is a different tool with different accuracy and no ownership requirement.

This toolFree bulk index checker
Data sourceGoogle’s own index recordGoogle’s live public results
Works on sites you do not ownNoYes, any domain
Needs sign-inYes, read-only Google OAuthNo, anonymous
Tells you why a page is not indexedYes, Google’s own reasonNo, presence only
Volume500 per run, 2,000 per property per day5 per run, 20 per day free
AccuracyAuthoritativeA visibility signal, not proof

Most real work needs both, which is why we run both. Use the free bulk index checker for any URL on any domain, or the backlink index checker when the URLs are links pointing at you.

Using the Google Search Console URL Inspection tool itself

The single-URL version lives in Search Console, in the search bar labelled “Inspect any URL in...” at the top of every screen for the selected property. It gives you three things this bulk view deliberately does not: the live test, the rendered HTML and screenshot, and the Request Indexing button.

  1. 1Run a bulk inspection here to find which of your URLs have a problem and what Google says the problem is.
  2. 2Filter to problems only, then export the CSV so you have the list outside the browser.
  3. 3Group the failures by status. Twelve pages with the same coverageState almost always share one root cause.
  4. 4Fix the cause, then open Search Console and use Test live URL on two or three of them to confirm Googlebot now sees the change.
  5. 5Leave the rest alone. Re-requesting indexing on every URL does not speed anything up and the daily limit is small.

If you would rather call the API yourself, the quota, endpoint and response shape are covered in our write-up of the Search Console URL Inspection API, and the separate, much smaller limit on requesting indexing is in this piece on the request indexing limit.

Other ways to inspect URLs in bulk

Every option here, ours included, calls the same Google API and gets the same data back. What differs is how you drive it and what else it is attached to. Pick on that, not on accuracy.

A desktop crawler such as Screaming Frog or Sitebulb

Connect your Search Console account and inspection data is attached to each URL alongside everything else the crawl found. The right answer when you are already crawling the site and want index status in the same table as titles, status codes and internal links. Heavier to set up, and these are desktop applications rather than something you open in a tab.

A free single-purpose web tool

searchVIU’s bulk inspect tool advertises 100 URLs per check, and valentin.app runs a similar check in the browser. Fastest possible path for a short list. The ceilings are lower and there is generally no monitoring attached, so they answer today’s question and nothing after that.

A script or Google Sheets template

Calling the index.inspect endpoint yourself gives you the full response and lets you run the whole 2,000 daily quota unattended. This is the right choice for a recurring internal report, and the wrong one if nobody on the team wants to own a script. We wrote up the endpoint and its quota separately.

This tool

Nothing to install, no account with us, 500 URLs per run, and the four fields that actually explain a missing page rather than just flagging it. The reason to choose it is if you want the answer inside two minutes and want the failures grouped and exportable.

What none of them do, ours included, is tell you when the answer changes. Every tool on this list produces a snapshot you have to remember to re-take.

Frequently asked questions

What is bulk URL inspection?
Bulk URL inspection is querying the Google Search Console URL Inspection API for many URLs at once, so you see the index status, last crawl date, Google-selected canonical and non-indexation reason for a whole site section instead of one page at a time. It returns exactly what Search Console’s URL Inspection tool returns, because it is the same data source, just not limited to a single URL per lookup.
Can Google Search Console inspect URLs in bulk?
No. The URL Inspection tool in the Search Console interface takes one URL at a time and there is no built-in way to submit a list. The Page Indexing report is site-wide but caps exports at 1,000 rows and groups pages by status rather than answering for the specific URLs you care about. Bulk inspection is only possible through the URL Inspection API, which is what this tool calls on your behalf.
Where is the URL Inspection tool in Search Console?
Open Search Console, select the property, and use the search bar labelled "Inspect any URL in..." across the top of every screen. You can also click any row in the Pages or Performance reports and choose Inspect URL. It only accepts URLs inside the property you are currently viewing.
Do I have to own the site to inspect its URLs?
Yes. Google only returns inspection data for properties you have verified in Search Console, and this tool can only read properties where your Google account is an owner or full user. There is no way, here or anywhere else, to get Google’s internal index record for a site you do not control. For URLs you do not own, such as backlinks or competitor pages, a public search check is the only available evidence.
Is there a free online URL inspection tool that works without Search Console?
Not for Google’s own index data, because that requires verified ownership. What does work without Search Console is a live public search check, which infers whether a URL is visible in Google’s results. It works on any domain including pages you do not own, and it is a visibility signal rather than Google’s internal verdict. Our free bulk index checker does that with no signup.
How many URLs can I inspect per day?
Google allows 2,000 URL inspections per property per day and 600 per minute, and this tool inspects up to 500 per run so a single batch finishes in a couple of minutes. The quota belongs to your property rather than to us, which is why there is no charge and no account needed on our side. Run it again to work through the rest of your 2,000.
Does this run a live test of the URL?
No, and the distinction matters. The API returns Google’s stored record for the indexed version of the page, which is what you want when auditing what Google currently believes. The "Test live URL" button inside Search Console fetches the page fresh right now, which is what you want after shipping a fix. Google’s API does not support live testing, so a change you deployed this morning may not show here yet.
Can I bulk request indexing with this tool?
No. Requesting indexing is a separate action with its own much smaller daily limit, and Google deliberately provides no bulk endpoint for it. Submitting an updated XML sitemap is the supported way to tell Google about many URLs at once. Inspecting a URL does not queue it for crawling.
Why does a page show as indexed here but not in a Google search?
Indexed means Google has stored the page, not that it ranks for anything or that it appears in a site: search. Google states the site: operator is not exhaustive, so a page can be genuinely indexed and still not show up in one. The inspection record is the authoritative answer for pages you own.
What about Bing?
Bing Webmaster Tools has its own URL Inspection feature with the same ownership requirement, and its own separate API. This tool covers Google only. If a page is missing from both, the cause is usually on the page rather than at one search engine.
Do you store my Google account or my results?
No. The access token Google returns stays in your browser for the session and is sent to our API with each batch so we can call Google on your behalf. It is never written to our database, never logged, and gone when you close the tab. Inspection results are not stored either, which is also why the CSV export exists.

An inspection is a snapshot. De-indexing is not.

Everything above needs you to be sitting here to run it, and it is only true for the moment you ran it. SearchOptimo re-checks the same URLs on a schedule and emails you the exact page that dropped out, so the next change finds you instead of you finding it weeks later.

Start monitoring these URLs

Free plan covers 100 URLs with daily checks. No card needed.