Tools / Submit Sitemap
Submit Sitemap icon

Submit Sitemap

Submit sitemaps to search engines

Submit sitemaps and URLs to Google Search Console, IndexNow (Bing, Yandex, Naver, Seznam), and Brave Search. Parse sitemap.xml and submit in one call, request indexing for specific pages, check indexing status, or push URLs to Brave via browser automation.

4 skillsv0.01
Submit Sitemap

Fetches your /sitemap.xml, parses all URLs (handles sitemap indexes and Next.js dynamic sitemaps), and submits to Google Search Console + IndexNow (Bing, Yandex, Naver, Seznam). For Brave, use submit_brave separately.

Returns: Per-engine submission results with success/skip/error status and URL counts
Parameters
sitemap_url *stringFull URL of the sitemap XML (e.g. https://example.com/sitemap.xml). The tool server CAN fetch any public URL — always pass it.
google_site_urlstringGoogle Search Console site URL (e.g. "sc-domain:example.com" or "https://example.com/"). Required for Google submission.
indexnow_keystringIndexNow verification key. Generate one (e.g. openssl rand -hex 16) and host it at https://{domain}/{key}.txt.
indexnow_hoststringDomain for IndexNow submission. Auto-derived from sitemap URL if not provided.
enginesarrayWhich engines to submit to. Defaults to all: ["google", "indexnow"].
Example
Submit sitemap to all engines
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{
  "tool": "submit-sitemap",
  "skill": "submit_sitemap",
  "input": {
    "sitemap_url": "https://example.com/sitemap.xml",
    "google_site_url": "sc-domain:example.com",
    "indexnow_key": "abc123def456"
  }
}' \
  https://api.toolrouter.com/v1/tools/call
Submit URLs

Submit individual URLs for indexing via Google Indexing API (URL_UPDATED notification, 200/day quota) and IndexNow (batch up to 10K URLs per request to Bing, Yandex, Naver, Seznam). Use for new or recently updated pages that need immediate indexing.

Returns: Per-URL submission results for each engine with success/error status
Parameters
urls *arrayArray of page URLs to submit for indexing
google_site_urlstringGoogle Search Console site URL. Required for Google Indexing API.
indexnow_keystringIndexNow verification key. Must be hosted at https://{domain}/{key}.txt.
indexnow_hoststringDomain for IndexNow submission. Auto-derived from first URL if not provided.
enginesarrayWhich engines to submit to. Defaults to ["google", "indexnow"].
Example
Submit specific URLs to all engines
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{
  "tool": "submit-sitemap",
  "skill": "submit_urls",
  "input": {
    "urls": [
      "https://example.com/new-page",
      "https://example.com/updated-page"
    ],
    "google_site_url": "sc-domain:example.com",
    "indexnow_key": "abc123def456"
  }
}' \
  https://api.toolrouter.com/v1/tools/call
Check Indexing Status

Check URL indexing status via Google URL Inspection API (2000/day quota). Returns verdict (PASS/FAIL), coverage state, last crawl time, and crawl details for each URL.

Returns: Per-URL indexing status with verdict, coverage state, last crawl time, and crawl details
Parameters
urls *arrayArray of URLs to check indexing status for
google_site_url *stringGoogle Search Console site URL (e.g. "sc-domain:example.com" or "https://example.com/")
Example
Check indexing status for pages
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{
  "tool": "submit-sitemap",
  "skill": "check_indexing",
  "input": {
    "urls": [
      "https://example.com/page1",
      "https://example.com/page2"
    ],
    "google_site_url": "sc-domain:example.com"
  }
}' \
  https://api.toolrouter.com/v1/tools/call
Submit to Brave Search

Submit URLs to Brave Search via browser automation. Brave has no API — this skill opens a real browser, navigates to the Brave Search submit form, enters each URL, and clicks submit. No credentials needed. Runs on Steel Browser in production.

Returns: Per-URL submission results with success/error status
Parameters
urls *arrayArray of URLs to submit to Brave Search
Example
Submit URLs to Brave Search
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{
  "tool": "submit-sitemap",
  "skill": "submit_brave",
  "input": {
    "urls": [
      "https://example.com/",
      "https://example.com/about"
    ]
  }
}' \
  https://api.toolrouter.com/v1/tools/call
Loading reviews...
Loading activity...
v0.012026-03-24
  • Initial release — submit_sitemap, submit_urls, check_indexing, submit_brave
  • IndexNow fans out to Bing, Yandex, Naver, Seznam individually
  • Brave submission via browser automation (Steel Browser in production)
  • Auto-detects Next.js dynamic sitemaps (/sitemap/0.xml, /sitemap/1.xml, ...)

Quick Start

MCP (Claude Code)
claude mcp add --transport stdio \
  --env TOOLROUTER_API_KEY=YOUR_API_KEY \
  toolrouter -- npx -y toolrouter-mcp
REST API
curl -H "Authorization: Bearer $TOOLROUTER_API_KEY" \
  -d '{"tool":"submit-sitemap","skill":"submit_sitemap","input":{}}' \
  https://api.toolrouter.com/v1/tools/call

Frequently Asked Questions

What happens when I submit a sitemap?

`submit_sitemap` fetches your `/sitemap.xml`, parses the URLs, and submits them to Google Search Console and IndexNow.

Do I need a separate call for new or updated pages?

Use `submit_urls` when you want immediate indexing for specific pages instead of the whole sitemap.

How do I check whether Google indexed a page?

`check_indexing` uses Google URL Inspection results to show the current verdict, coverage state, and crawl timing.

What do I need set up first?

Google requires a `google_search_console` credential. IndexNow needs an `indexnow_key` hosted at `https://domain/{key}.txt`. `submit_brave` handles Brave Search in a browser.