AVAILABLE

Developer Tools

Sitemap XML Parse & Publication Guard

Inspect and parse Sitemap protocol XML, build URL sets and sitemap indexes, compare snapshots, and apply explicit host, HTTPS, lastmod, type, and entry-budget policy.

CONTRACT

Predictable for agents. Legible for reviewers.

REST
POST /v1/sitemaps/policy-check
MCP tool
check_sitemap_policy
Inputs
Caller-supplied URL-set or sitemap-index XML up to 5 MiB and 10,000 processed entries; parsing returns up to 2,000 entries, builders accept up to 5,000 entries, comparisons return up to 2,000 changes, and policy requires an explicit offset-aware evaluation time.
Returns
CLEAR, REVIEW_REQUIRED, or BLOCKED with protocol type, namespace, byte and entry counts, exact host and duplicate evidence, bounded parsed entries or diffs, stable findings, generated XML and SHA-256 where safe, and an agent-readable next action.
Latency
Synchronous
Usage unit
Sitemap operation

The suite also exposes /v1/sitemaps/inspect, /parse, /build-urlset, /build-index, and /compare plus /mcp/sitemap. It processes bounded caller-supplied content only and never fetches a URL, crawls a site, accesses Search Console or another search-engine account, submits or publishes a sitemap, guarantees indexing, or stores the payload. Its RapidAPI release is queued behind current marketplace publication capacity.

AGENT-READABLE EXCEPTIONS

SITEMAP_DTD_OR_ENTITY_REJECTEDSITEMAP_XML_INVALIDSITEMAP_ROOT_UNSUPPORTEDSITEMAP_NAMESPACE_INVALIDSITEMAP_LOCATION_MISSINGSITEMAP_LOCATION_NOT_ABSOLUTE_HTTPSITEMAP_LOCATION_CREDENTIALS_BLOCKEDSITEMAP_LASTMOD_INVALIDSITEMAP_MULTIPLE_HOSTSSITEMAP_ENTRY_LIMIT_EXCEEDEDSITEMAP_DOCUMENT_TYPE_CHANGEDSITEMAP_CHANGE_LIMIT_EXCEEDEDSITEMAP_HOST_NOT_ALLOWEDSITEMAP_HTTPS_REQUIREDSITEMAP_LASTMOD_IN_FUTURESITEMAP_INDEX_CROSS_HOST_BLOCKED
HTTP request
POST /v1/sitemaps/policy-check
Authorization: Bearer apc_...
Content-Type: application/json

{
  "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\"><url><loc>https://example.com/</loc><lastmod>2026-08-10</lastmod></url><url><loc>https://example.com/docs</loc><lastmod>2026-08-11T08:30:00Z</lastmod></url></urlset>",
  "required_document_type": "URLSET",
  "require_https": true,
  "require_single_host": true,
  "allowed_hosts": [
    "example.com"
  ],
  "require_lastmod": true,
  "reject_future_lastmod": true,
  "future_tolerance_days": 1,
  "evaluated_at": "2026-08-11T12:00:00Z",
  "maximum_entries": 10000
}
cURL (bash)
curl --request POST \
  --url 'https://api-production-9502.up.railway.app/v1/sitemaps/policy-check' \
  --header 'Authorization: Bearer ${AP_CONTROL_API_KEY}' \
  --header 'Content-Type: application/json' \
  --data '{
  "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?><urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\"><url><loc>https://example.com/</loc><lastmod>2026-08-10</lastmod></url><url><loc>https://example.com/docs</loc><lastmod>2026-08-11T08:30:00Z</lastmod></url></urlset>",
  "required_document_type": "URLSET",
  "require_https": true,
  "require_single_host": true,
  "allowed_hosts": [
    "example.com"
  ],
  "require_lastmod": true,
  "reject_future_lastmod": true,
  "future_tolerance_days": 1,
  "evaluated_at": "2026-08-11T12:00:00Z",
  "maximum_entries": 10000
}'
Representative response
{
  "status": "COMPLETED",
  "decision": "CLEAR",
  "document_type": "URLSET",
  "byte_count": 291,
  "entry_count": 2,
  "namespace": "http://www.sitemaps.org/schemas/sitemap/0.9",
  "hostnames": [
    "example.com"
  ],
  "duplicate_location_count": 0,
  "entries_with_lastmod": 2,
  "extension_names": [],
  "findings": [],
  "allowed_by_policy": true,
  "evaluated_policy": {
    "required_document_type": "URLSET",
    "require_https": true,
    "require_single_host": true,
    "allowed_hosts": [
      "example.com"
    ],
    "require_lastmod": true,
    "reject_future_lastmod": true,
    "future_tolerance_days": 1,
    "maximum_entries": 10000,
    "require_index_same_host": false
  },
  "ruleset_version": "SITEMAP_PROTOCOL_0_9_2026",
  "scope": "CALLER_SUPPLIED_SITEMAP_XML_ONLY",
  "network_accessed": false,
  "url_fetched": false,
  "search_console_accessed": false,
  "sitemap_published": false,
  "indexing_guaranteed": false,
  "payload_stored": false,
  "next_action": "Validate the deployed file and submit it only through the authorized search-engine workflow; indexing is never guaranteed."
}
Protocol structure, not generic XMLURL sets and sitemap indexes are checked for the required namespace, root and direct-child structure, core fields, URL syntax, lastmod forms, duplicates, hosts, and bounded extensions.
Bounded caller content onlyDTD and entity declarations are rejected; the service fetches no URL, resolves no external reference, accesses no search-engine account, and stores no payload.
No publication or indexing claimGenerated XML and CLEAR policy evidence still require deployment validation and authorized submission; search engines may ignore hints and never guarantee indexing.

Try Sitemap XML Parse & Publication Guard with your own workflow.

Start with the workspace, inspect the typed result, then integrate with REST or the focused MCP server.