Google Indexing API Submission
Sends a URL_UPDATED notification per URL and queues overflow for the next UTC window.
Product
SearchAnalysis.io sends every URL you publish to Google and Bing from one queue, in batches of up to 10,000. The SearchAnalysis.io platform confirms each page with the Search Console URL Inspection API and calls it Indexed only when Google does. This index monitoring software rechecks every indexed page every 7 days, so you know which pages dropped out.
| URL | Indexing API | Search Console | IndexNow |
|---|---|---|---|
| example.com/pricing | Processing | Indexed | Processing |
| example.com/guides/canonical-tags | Processing | Processing | Processing |
| example.com/blog/spring-release | Sending | Queued | Sending |
| example.com/docs/webhooks | Processing | Not indexed | Processing |
| example.com/jobs/senior-editor | Processing | Indexed | Processing |
| example.com/old-landing | Processing | Failed | Processing |
Glossary
SearchAnalysis.io is URL indexing software that submits pages to Google and Bing, confirms indexing with the Search Console URL Inspection API and rechecks indexed pages every 7 days. These terms match the labels in the product and the API.
sc-domain:) or URL-prefix.verdict PASS or an indexed coverage state. Green means verified and nothing else.verdict is Google's URL Inspection result: PASS, PARTIAL, FAIL or NEUTRAL. coverageState is Google's description of the page's index coverage. Both are stored with every check.https://searchanalysis.io/mcp too, with its six tools.Find a feature
Pick a job to see the matching SearchAnalysis.io feature.
Start here
Google Index Verification
Each URL is inspected with the Search Console URL Inspection API and marked Indexed only on a PASS verdict or an indexed coverage state.
Start here
Google Indexing API Submission
Each URL gets a URL_UPDATED notification, within 200 publish requests a day per Cloud project.
Start here
IndexNow Submission to Bing
After verifying your key file, the product sends IndexNow notifications, up to 10,000 URLs a day per property.
IndexNow submission to BingStart here
Deindex Monitoring
Indexed URLs are inspected every 7 days, and a page that falls out turns amber Not indexed.
Deindex monitoringStart here
Sitemap Monitoring
Scans run every 6 hours and keep a page inventory with first seen and last seen dates.
Sitemap monitoringStart here
REST API and MCP Server
Create batches from CI with REST API v1, or let an AI agent call six MCP tools.
SearchAnalysis.io REST API and MCP serverProduct areas
SearchAnalysis.io has six shipped areas across submission, verification and monitoring, plus two labeled PLANNED.
Sends a URL_UPDATED notification per URL and queues overflow for the next UTC window.
Notifies Bing through IndexNow after verifying the key file on your site.
IndexNow submission to BingConfirms each page with URL Inspection on a ladder that starts about 10 minutes after submission.
Google index verificationRechecks every Indexed URL every 7 days and turns a dropped page amber Not indexed.
Scans your sitemaps every 6 hours and records each URL in a page inventory.
Sitemap monitoringExposes batches, properties and quota through REST API v1 and six MCP tools.
REST API and MCP serverEmail and Slack alerts will report pages the deindex watch finds dropped, with weekly digest reports.
Deindex alerts by email and SlackConnecting Google Merchant Center will let you fix flagged product titles and track each product until approved.
Merchant Center title fixesWorkflow
SearchAnalysis.io runs six steps. You do the first three once per site; the last three repeat with every batch.
Add a Site
Enter the website you want to track. Quotas, the page inventory and the Google index card are organized by site.
Connect Google and Pick the Property
Sign in with Google through OAuth and choose the matching Search Console property, domain or URL-prefix.
Verify the IndexNow Key
Host the generated 32-character hex key at https://yourdomain/{key}.txt. The product checks the file before any IndexNow notification goes out.
Submit URLs
Paste URLs, upload a CSV, import a sitemap, or call the REST API or MCP server. Each submission becomes a batch.
Read the Verdicts
The first URL Inspection runs about 10 minutes after submission, then at +15 minutes, +1 hour, +6 hours and every 24 hours. PASS or an indexed coverage state turns the URL Indexed.
Watch for Drops
Indexed URLs are inspected every 7 days while the site is connected. A recheck that finds a page gone turns it amber.
Advantages
SearchAnalysis.io advantages are one submission across three channels, a green status only URL Inspection can grant, and a 7-day recheck that shows when a page drops out.
One batch sends a Google Indexing API notification and an IndexNow notification per URL and schedules URL Inspection. URLs over Google's daily quota wait for the next UTC window.
IndexNow submission to BingAn accepted ping stays Processing. Only a PASS verdict or an indexed coverage state marks a URL Indexed, so green means Google confirmed it.
Every Indexed URL is inspected again every 7 days. A page that drops shows amber Not indexed, and the check history records when.
Deindex monitoringYour build can POST up to 10,000 URLs to REST API v1, and an AI agent can call submit_urls with the same API key.
Before you join, the free indexability checker tests one public URL for load, redirects, robots.txt, directives, canonical and thin content. Whether the page is in Google needs URL Inspection on a verified property.
Picture pasting a few hundred new pages once, then watching the Search Console column turn green page by page over the next 3 days, with a 7-day recheck on each one after that.
Reference
Every shipped SearchAnalysis.io feature, one panel per area, with the exact labels, limits and schedules the product uses. Items not shipped yet sit together in the last panel and carry the PLANNED badge.
(Select a feature to read more)
SearchAnalysis.io accepts URLs six ways, and every route ends in the same place: a batch with its own page. Pick the route that fits how your pages get published.
/api/v1/submissions from your own code or CI job.submit_urls on the remote MCP server.Each submission becomes a batch. A batch holds up to 10,000 URLs, takes an optional name and records its source: web, API, MCP or scheduled scan. Batch pages list 100 URLs per page, so a large batch stays readable. Scheduled scan batches come from sitemap monitoring when auto-submit is turned on for a site.
You set a priority per URL: High, Normal or Low. Priority sets the order of work within your own queue, so the pages you care about most go first when a quota is tight.
Before anything is sent, a 30-day dedup check runs. A URL already actively tracked on your account inside the last 30 days is skipped and reported in the batch instead of being resent. That keeps a repeated paste or a script that runs twice from spending quota on the same page again.
SearchAnalysis.io tracks every submitted URL on three separate channels, and each channel gets its own status row. The rows move independently, because each one talks to a different service with a different job.
| Channel | What it sends | Best status it can reach | Daily limit |
|---|---|---|---|
| GOOGLE_INDEXING | A URL_UPDATED notification to the Google Indexing API | Processing (ping accepted) | 200 publish requests per Google Cloud project, up to 100 URLs per batch request |
| GOOGLE_SEARCH_CONSOLE | A request to the URL Inspection API | Indexed | 2,000 inspections a day and 600 a minute per property |
| BING | An IndexNow notification | Processing (accepted) | 10,000 URLs a day per property, the budget SearchAnalysis.io sets |
The Google Indexing API and IndexNow are fire-and-forget. An HTTP 2xx from Google means the notification arrived, and the product shows that as Processing with the note ping accepted. A notification does not confirm indexing, so these two rows never show Indexed. The Search Console row carries the confirmation and is the only row that turns green. The Google index checker page walks through that method in full.
Google's Indexing API quota is shared across your whole Google Cloud project. URLs over the day's quota wait for the next UTC window and keep their place in line, and the Google Indexing API submission page shows how that queue behaves.
IndexNow engines share the URLs they receive with the other engines in the protocol: Bing, Yandex, Seznam, Naver, Yep, Internet Archive and AmazonBot. Google is not on that list, which is why Google gets its own two channels.
SearchAnalysis.io confirms indexing on a fixed schedule called the ladder. Each step waits longer than the one before it, and the ladder stops early the moment a URL is confirmed Indexed. Every rung is one URL Inspection request against your verified property, and each result lands in the URL's check history.
When the ladder runs out and the URL is still unconfirmed, a daily fallback keeps inspecting it. Once a URL is Indexed it leaves the ladder and enters the deindex watch: one inspection every 7 days for as long as the site stays connected. The deindex monitoring page shows what a drop looks like.
Transient errors (HTTP 429, 5xx responses and network failures) retry after 30 minutes. Repeated failures back off exponentially, starting at 6 hours and capped at 7 days. Every inspection counts against the 2,000 a day and 600 a minute that Google allows per property, and the schedule respects those limits without trying to get around them. The check history labels each row with its source: inspection, daily check or monitor recheck.
SearchAnalysis.io puts every URL you track on one screen, the Monitor, with each channel's status side by side. It answers the daily question for a site: which pages are confirmed, which are waiting and which need you.
Open any URL to see its per-channel status, its full inspection history and the latest verdict fields from Google. Each inspection stores Google's health snapshot: verdict, coverageState, robotsTxtState, the indexing state, the Google-selected canonical and the last crawl time. Field names follow Google's own, so you can look any of them up in Google's URL Inspection documentation.
| Field | What it records |
|---|---|
| Time | When the inspection ran |
| State | INDEXED, NOT_INDEXED or ERROR |
| Coverage state | Google's coverageState text for the URL at that moment |
| Source | Inspection, daily check or monitor recheck |
Every inspection adds one row, so you can see when a page first turned green and when a recheck found it gone. If the coverage state reads Crawled, currently not indexed, the guide to Crawled, currently not indexed explains what Google means by it.
SearchAnalysis.io gives each site a Google index card, a summary of what its inspections have verified.
| Metric | Meaning |
|---|---|
| Verified indexed | Count of pages URL Inspection confirmed as indexed |
| Change | Movement in that count over 24 hours and over 7 days |
| Trend | A 30-day line of verified indexed pages |
| Not indexed | Count of tracked pages not in the index |
| Awaiting check | Count of pages still waiting on an inspection |
| Coverage | Verified indexed ÷ tracked, always printed with its denominator |
| Appearing in search | Pages with impressions in Search Console Search Analytics over the last 7 days |
Coverage counts only what URL Inspection verified, divided by the pages you track. The card always prints the denominator next to it, so you see how many pages the figure covers. Because coverage divides by tracked pages, a large new batch lowers it until inspections catch up, and the awaiting-check count shows how many pages are still pending.
Appearing in search comes from a separate source. Search Console Search Analytics reports which pages earned impressions over the last 7 days across the whole site, whether or not you submitted them. Coverage tells you which tracked pages Google confirmed. Appearing in search tells you which pages searchers are seeing.
Queries, clicks, positions and rank tracking are PLANNED and will arrive later. The Google index checker page explains how each inspection feeds this card.
SearchAnalysis.io reads the HTML of each submitted page and looks for JobPosting or BroadcastEvent structured data. Those are the two types Google names in its Indexing API documentation: "The Indexing API can only be used to crawl pages with either JobPosting or BroadcastEvent embedded in a VideoObject."
| Badge | What it means |
|---|---|
| Eligible | JobPosting or BroadcastEvent structured data was found on the page |
| Best-effort | Neither type was found; submission proceeds best-effort |
| Unknown | The product could not determine eligibility |
A Best-effort badge is normal for most content sites. The Indexing API notification still goes out, and confirmation still comes from the Search Console channel, which inspects every submitted URL whatever badge it carries. A blog post with Best-effort can reach Indexed the same way a job listing does: through a PASS verdict or an indexed coverage state.
Google's default is 200 publish requests a day for the whole Google Cloud project, and Google writes that "The quota may increase or decrease based on the document quality." SearchAnalysis.io queues anything over the day's quota for the next UTC window. The Google Indexing API submission page covers the queue in detail.
To test one public page before you sign up, run it through the free indexability checker. It checks page load, redirects, robots.txt, indexing directives, canonical and thin content.
SearchAnalysis.io watches the sitemaps you add to each site and keeps a page inventory of every URL it finds in them. Scans run on a schedule, and Scan now runs one right away when you have just published.
Each inventory row moves Discovered → Submitted → Indexed, or ends at Removed when it disappears from the sitemap. Indexed here means what it means everywhere in the product: URL Inspection confirmed it.
Turn on auto-submit for a site and newly discovered URLs are submitted on their own, as a batch with the source scheduled scan. Those batches go through the same three channels and the same inspection ladder as anything you submit by hand.
Google announced in June 2023 that its sitemap ping endpoint was going away. Sitemaps reach Google through Search Console, the Search Console API or a reference in robots.txt. A single sitemap is limited to 50MB uncompressed or 50,000 URLs, and Google uses <lastmod> when it is consistently and verifiably accurate. The sitemap monitoring page covers scans in more depth.
SearchAnalysis.io organizes everything by site. A site is one website matched to one Search Console property, and setup takes four steps.
sc-domain:) or a URL-prefix property.https://yourdomain/{key}.txtGoogle OAuth tokens are encrypted at rest with AES-256-GCM. They are decrypted only in memory, at the moment a call to Google needs them, and never sit decrypted in storage. The deindex watch runs only while a site is connected, so disconnecting a site stops its weekly rechecks.
Two budgets are counted per property: 2,000 URL Inspection requests a day and 600 a minute from Google, and the 10,000 IndexNow URLs a day that SearchAnalysis.io sets for each property.
The IndexNow protocol accepts keys of 8 to 128 characters, so the 32-character hex key sits well inside that range. The IndexNow submission page explains the key file and every response code, and the SearchAnalysis.io privacy policy covers how account data is handled.
SearchAnalysis.io separates errors that clear on their own from errors that need you, and it emails you about the second kind.
Transient problems retry without your help. HTTP 429, 5xx and network errors try again after 30 minutes, and repeated failures back off exponentially from 6 hours up to a 7-day cap. Once you fix the cause, filter the Monitor to Failed and one site, then retry the whole list with bulk retry.
| When it arrives | |
|---|---|
| Welcome | When your account is set up |
Indexed: <url> | When URL Inspection confirms a URL |
Submission failed: <url> | When a submission fails, with the error included |
All three are transactional. A failure email names the URL and carries the same error text the URL detail page shows. Deindex alerts by email and Slack, along with weekly digest reports, are PLANNED. Until they ship, a dropped page appears as amber Not indexed in the Monitor, which the deindex monitoring page describes.
SearchAnalysis.io exposes submission and status through REST API v1 and a remote MCP server, so scripts, CI jobs and AI agents work with the same account you use in the browser. Create a bearer API key in Settings; every endpoint and every MCP tool authenticates with it.
| Endpoint | What it does |
|---|---|
POST /api/v1/submissions | Creates a batch of up to 10,000 URLs, with optional name and priority |
GET /api/v1/submissions | Lists your batches |
GET /api/v1/submissions/{batchId} | Returns one batch with per-URL, per-channel state |
GET /api/v1/properties | Lists your properties |
GET /api/v1/quota | Returns remaining engine quota |
Send an Idempotency-Key header with each POST. If your job retries after a network error, the API returns the original batch instead of creating a duplicate. The OpenAPI 3.1 document is public. A job can call GET /api/v1/quota first to see how much engine quota remains before it sends a large batch.
The remote MCP server at https://searchanalysis.io/mcp offers six tools: list_properties, submit_urls, list_submissions, check_submission, check_url_index_status and get_quota. Install it in Claude Code with one command and your bearer API key:
claude mcp add --transport http searchanalysis https://searchanalysis.io/mcpAI agents find the public pages and machine endpoints in llms.txt for AI agents, and the SearchAnalysis.io developer documentation covers each request and response.
SearchAnalysis.io labels every item in this panel PLANNED. None of them is available today, and each one is written here as future work. Shipped features carry a SHIPPED badge in the panels above; this panel holds only items that do not exist in the product yet.
Product titles already have a free fix in the browser. Case Changer Pro is a free tool from SearchAnalysis.io, and its Product Title Fixer corrects product titles in a Shopify product CSV, first 50 products free. The Merchant Center waitlist is open, and its members get a say in the fix rules.
FAQ
SearchAnalysis.io submits URLs to Google and Bing, confirms indexing through the Search Console URL Inspection API and rechecks indexed pages every 7 days. Each URL gets three status rows, and only the Search Console row can turn green.
SearchAnalysis.io cannot guarantee Google indexing, and nobody can, because Google decides what it crawls and indexes. The product sends notifications, respects quotas and reports what URL Inspection says.
SearchAnalysis.io confirms a page is indexed with the Search Console URL Inspection API on your verified property. Inspections start about 10 minutes after submission, and a PASS verdict or an indexed coverage state marks the URL Indexed.
SearchAnalysis.io submits URLs to Bing through IndexNow after it verifies the key file you host. An accepted notification shows as Processing, because IndexNow does not confirm indexing.
SearchAnalysis.io pricing is not set yet, and launch pricing is announced at launch. Waitlist members get launch pricing locked and an extended free trial, with the trial length announced at launch.
You get access to SearchAnalysis.io through an invite, because the product is invite-only today. Join the waitlist with your email, and invites go out from the waitlist.
You need a Google Search Console property for SearchAnalysis.io to verify indexing, because URL Inspection runs on a verified property. You connect Google with OAuth and pick the matching domain or URL-prefix property for each site.
SearchAnalysis.io has a REST API v1 with bearer API keys from Settings, plus a remote MCP server with six tools. The OpenAPI 3.1 document is public at /openapi.json.
Early access
SearchAnalysis.io is invite-only today. Join the waitlist with your email, and invites go out from the list.
Picture opening the Monitor in the morning and seeing which pages Google confirmed overnight, each one green because URL Inspection said so.
An Invite Before Public Launch
Waitlist members get an invite before SearchAnalysis.io opens to the public.
Launch Pricing Locked
Your launch price stays locked for as long as you stay subscribed. The price is announced at launch.
An Extended Free Trial
Waitlist members get an extended free trial, with the length announced at launch.
Three Channels per URL
Google Indexing API, URL Inspection and IndexNow on every URL.
Verification and Deindex Watch
A confirmation ladder after submission and a recheck every 7 days once Indexed.
REST API and MCP Server
Bearer API keys, a public OpenAPI 3.1 document and six MCP tools.