Menu

API reference · Indexing

Coverage

seo_indexation · coverage · 2 operations

POST/v1/seo/indexation/coverage/run

Run a coverage analysis of a Search Console property

seo_indexation.coverage.run

WriteSince 2026-11-01

Runs a new coverage analysis of a Search Console property connected to the organization and saves it: it reads the property's sitemaps and the pages with Search impressions in the last 90 days (up to 5,000) from Google, downloads the sitemaps themselves from the site (sitemap indexes followed, .xml, .xml.gz or .txt; up to 25 sitemaps and 50,000 URLs; only the property's own site) and crosses both lists. Returns the analysis: coverage_score (0–100; starts at 100 and loses up to 30 points for the share of orphan pages and up to 30 for the share of dead pages), total_sitemap_urls, sitemap_urls_read, total_pages_with_impressions, orphan_pages (pages with impressions that no sitemap lists, most impressions first, up to 100; orphan_count is the total) and dead_pages (URLs a sitemap lists with no impressions in 90 days, up to 100; dead_count is the total). estimated is true when a sitemap could not be read (sitemap_read_errors says which and why), a cap cut the list, or Search Analytics hit its 5,000 pages; when no sitemap could be read, method is folder_prefix: a page counts as listed when it starts with a sitemap's folder and there are no dead pages. One analysis per property every 5 minutes. To read the last one without spending Google quota, use seo_indexation.coverage.latest. Errors: 409 integration_not_connected (Search Console is not connected at all), 404 external_account_not_linked (connected, but that property is not assigned to the organization; Google is not called), 429 cooldown_active (with retry_after), 409 integration_not_connected, 409 integration_reconnect_required, 429 external_rate_limited, 503 external_unavailable. Requires edit access to Indexation.

Scope
seo_indexation:write
Permission
Edit in the module
MCP tool
seo_indexation_coverage_runOn the full surface; on the compact one, mb_execute_operation with id: "seo_indexation.coverage.run".

Declared cost: up to 5 reads and 1 writes per call (they count against the daily quota). Touches an external platform (google): it counts against the external operations quota.

Parameters

site_urlstringbodyrequired

The Search Console property, as seo_indexation.properties.list returns it: a URL-prefix property (https://www.example.com/) or a domain property (sc-domain:example.com). It must be connected to the organization in Data Sources; a trailing slash or the host's letter case may differ.

Response

idstring
site_urlstring
created_atnumber
created_by_idstring
coverage_scorenumber

0–100: starts at 100 and loses up to 30 points for the share of orphan pages and up to 30 for the share of dead pages. Read it with estimated.

total_sitemap_urlsnumber

URLs submitted across the property's sitemaps, as Search Console counts them.

total_indexed_urlsnumber

Indexed URLs as the sitemaps report them (deprecated by Google: usually 0).

total_pages_with_impressionsnumber

Pages with Search impressions in the last 90 days (up to 5,000).

orphan_pagesarray<object>

Pages with impressions that no sitemap lists, most impressions first (up to 100; orphan_count is the total).

dead_pagesarray<object>

URLs a sitemap lists with no impressions in 90 days (up to 100; dead_count is the total).

sitemap_errorsarray<object>

Reserved: always empty (the sitemaps that could not be read are in sitemap_read_errors).

methodenum

sitemap_urls: compared with the URLs read from the sitemaps themselves. folder_prefix: no sitemap could be read, so a page counts as listed when it starts with a sitemap's folder and there are no dead pages. Missing in analyses saved before 2026-10-14 (they were all folder_prefix: their dead pages were never found).

Values: sitemap_urls, folder_prefix

sitemap_urls_readnumber

URLs read from the sitemaps (sitemap indexes followed; up to 25 sitemaps and 50,000 URLs).

orphan_countnumber

Total orphan pages.

dead_countnumber

Total dead pages.

estimatedboolean

true when the result is an estimate: a sitemap could not be read, a cap cut the list, or Search Analytics hit its 5,000 pages (a listed URL without a row may still have impressions).

sitemap_read_errorsarray<object>

The sitemaps that could not be read, with the reason (up to 20).

Errors

Example

curl -X POST "https://api.mb-suite.com/v1/seo/indexation/coverage/run" \
  -H "Authorization: Bearer $MB_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "site_url": "SITE_URL"
}'

Try it with your test API key

With a test API key the request always goes to your practice organization: example data you can reset. In the practice organization this operation is not simulated (it reaches another platform): it answers 409 sandbox_external_unavailable.

GET/v1/seo/indexation/coverage/latest

Get the latest coverage analysis of a Search Console property

seo_indexation.coverage.latest

ReadIdempotentSince 2026-11-01

Returns the most recent saved coverage analysis of a Search Console property connected to the organization (site_url from seo_indexation.properties.list), with the same fields seo_indexation.coverage.run returns (coverage_score, totals, orphan_pages, dead_pages, estimated, method, created_at, created_by_id), or analysis: null when the property was never analyzed. Analyses saved before 2026-10-14 have no method: they compared folders, not the sitemaps' URLs, and never found dead pages (run a new one). Reads only MB Suite (Google is not called). Errors: 409 integration_not_connected, 404 external_account_not_linked. Requires view access to Indexation.

Scope
seo_indexation:read
Permission
View the module
MCP tool
seo_indexation_coverage_latestOn the full surface; on the compact one, mb_execute_operation with id: "seo_indexation.coverage.latest".

Declared cost: up to 1 reads and 0 writes per call (they count against the daily quota).

Parameters

site_urlstringqueryrequired

The Search Console property, as seo_indexation.properties.list returns it: a URL-prefix property (https://www.example.com/) or a domain property (sc-domain:example.com). It must be connected to the organization in Data Sources; a trailing slash or the host's letter case may differ.

Response

analysisobject | null

Errors

Example

curl "https://api.mb-suite.com/v1/seo/indexation/coverage/latest?site_url=SITE_URL" \
  -H "Authorization: Bearer $MB_API_KEY"

Try it with your test API key

With a test API key the request always goes to your practice organization: example data you can reset.

curl "https://api.mb-suite.com/v1/seo/indexation/coverage/latest?site_url=SITE_URL" \
  -H "Authorization: Bearer $MB_TEST_KEY"