Web & Metadata · x402 V2

Sitemap Extract

Use this service when you need this capability: parses bounded XML sitemap urlsets and indexes without entity expansion or recursive fetching.

Price and endpoint

LivePOSTBase USDC

0.01 USDC per call

x402 V2 exact payment on Base mainnet (eip155:8453) using USDC. The HTTP 402 challenge confirms the exact requirements before an authorized payment.

POST https://signalharness.ai/api/agent/services/sitemap_extract/invoke

Purpose

Parses bounded XML sitemap urlsets and indexes without entity expansion or recursive fetching.

Documented public-source retrieval is bounded by the URL, byte, redirect, and timeout limits below. Source availability can affect execution; review the input schema and returned source metadata.

Inputs

Request fields and validation limits
FieldTypeRequiredLimits
urlstringOptionalPattern: ^https://; Minimum length 9; Maximum length 2048
xmlstringOptionalMinimum length 1; Maximum length 65536

Example request body

{
  "xml": "<?xml version=\"1.0\"?><urlset><url><loc>https://example.com/</loc></url></urlset>"
}
View complete input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "additionalProperties": false,
  "minProperties": 1,
  "maxProperties": 1,
  "required": [],
  "properties": {
    "url": {
      "type": "string",
      "pattern": "^https://",
      "minLength": 9,
      "maxLength": 2048
    },
    "xml": {
      "type": "string",
      "minLength": 1,
      "maxLength": 65536
    }
  }
}

Realistic output shape

Illustrative output from the canonical adapter fixture and schema. It is not a completed paid execution or a current live observation.

{
  "kind": "urlset",
  "urls": [
    {
      "url": "https://example.com/resource",
      "lastmod": "example",
      "changefreq": "example",
      "priority": "example",
      "alternates": [
        {
          "language": "example",
          "href": "example00"
        }
      ]
    }
  ],
  "childSitemaps": [
    {
      "url": "https://example.com/resource",
      "lastmod": "example"
    }
  ],
  "counts": {
    "urls": 0,
    "childSitemaps": 0,
    "malformed": 0
  },
  "warnings": [
    "Verify the caller-supplied data before relying on this result."
  ]
}
View complete output schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "additionalProperties": false,
  "minProperties": 5,
  "maxProperties": 5,
  "required": [
    "kind",
    "urls",
    "childSitemaps",
    "counts",
    "warnings"
  ],
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "urlset",
        "sitemapindex"
      ],
      "minLength": 6,
      "maxLength": 12
    },
    "urls": {
      "type": "array",
      "minItems": 0,
      "maxItems": 256,
      "items": {
        "type": "object",
        "additionalProperties": false,
        "minProperties": 5,
        "maxProperties": 5,
        "required": [
          "url",
          "lastmod",
          "changefreq",
          "priority",
          "alternates"
        ],
        "properties": {
          "url": {
            "type": "string",
            "minLength": 9,
            "maxLength": 2048
          },
          "lastmod": {
            "type": [
              "string",
              "null"
            ]
          },
          "changefreq": {
            "type": [
              "string",
              "null"
            ]
          },
          "priority": {
            "type": [
              "string",
              "null"
            ]
          },
          "alternates": {
            "type": "array",
            "minItems": 0,
            "maxItems": 64,
            "items": {
              "type": "object",
              "additionalProperties": false,
              "minProperties": 2,
              "maxProperties": 2,
              "required": [
                "language",
                "href"
              ],
              "properties": {
                "language": {
                  "type": "string",
                  "minLength": 0,
                  "maxLength": 64
                },
                "href": {
                  "type": "string",
                  "minLength": 9,
                  "maxLength": 2048
                }
              }
            }
          }
        }
      }
    },
    "childSitemaps": {
      "type": "array",
      "minItems": 0,
      "maxItems": 256,
      "items": {
        "type": "object",
        "additionalProperties": false,
        "minProperties": 2,
        "maxProperties": 2,
        "required": [
          "url",
          "lastmod"
        ],
        "properties": {
          "url": {
            "type": "string",
            "minLength": 9,
            "maxLength": 2048
          },
          "lastmod": {
            "type": [
              "string",
              "null"
            ]
          }
        }
      }
    },
    "counts": {
      "type": "object",
      "additionalProperties": false,
      "minProperties": 3,
      "maxProperties": 3,
      "required": [
        "urls",
        "childSitemaps",
        "malformed"
      ],
      "properties": {
        "urls": {
          "type": "integer",
          "minimum": 0,
          "maximum": 10000
        },
        "childSitemaps": {
          "type": "integer",
          "minimum": 0,
          "maximum": 256
        },
        "malformed": {
          "type": "integer",
          "minimum": 0,
          "maximum": 10000
        }
      }
    },
    "warnings": {
      "type": "array",
      "minItems": 0,
      "maxItems": 32,
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 1024
      }
    }
  }
}

Execution limits

  • MaxInputBytes: 131072
  • MaxOutputBytes: 1048576
  • MaxConcurrentExecutions: 2
  • MaxArtifacts: 0
  • MaxArtifactBytes: 0
  • RateLimitPerMinute: 20
  • MaxFetchBytes: 2097152
  • MaxDecodedBytes: 2097152
  • FetchTimeoutMs: 15000
  • MaxRedirects: 3
  • MaxUrls: 10000
  • MaxChildSitemaps: 256
  • MaxNesting: 64

Timeout: 30000 ms. Full schemas are in OpenAPI.

Copyable unpaid request

This schema-valid request returns the canonical HTTP 402 challenge without executing the service. A payment-capable client validates the challenge, signs only with prior authority and budget, and retries the identical body.

curl -i -X POST https://signalharness.ai/api/agent/services/sitemap_extract/invoke \
  -H "Content-Type: application/json" \
  --data '{"xml":"<?xml version=\"1.0\"?><urlset><url><loc>https://example.com/</loc></url></urlset>"}'

Continue with the paid-call walkthrough →