{
  "x402Version": 2,
  "lastUpdated": "2026-08-20T10:10:25.915Z",
  "name": "Agent Extract",
  "description": "Pay-per-call web page extraction for AI agents: returns title, description, headings, clean main text, markdown, links and images for any public URL.",
  "category": "WEB_SEARCH_RESEARCH",
  "provider": {
    "name": "Agent Extract",
    "url": "https://fetchweb.net"
  },
  "billing": {
    "modes": [
      "per-call",
      "prepaid"
    ],
    "perCall": {
      "description": "Sign an x402 X-PAYMENT header on every call. No account needed."
    },
    "prepaid": {
      "description": "Deposit USDC once, receive an API key, then send `Authorization: Bearer <key>` and each call draws $0.01 from the balance — no on-chain settlement per request.",
      "topUp": "https://fetchweb.net/api/public/topup",
      "balance": "https://fetchweb.net/api/public/balance",
      "packs": [
        {
          "id": "1",
          "usd": 1,
          "atomic": 1000000,
          "calls": 100
        },
        {
          "id": "5",
          "usd": 5,
          "atomic": 5000000,
          "calls": 500
        },
        {
          "id": "20",
          "usd": 20,
          "atomic": 20000000,
          "calls": 2000
        }
      ]
    }
  },
  "items": [
    {
      "resource": "https://fetchweb.net/api/public/extract",
      "type": "http",
      "x402Version": 2,
      "lastUpdated": "2026-08-20T10:10:25.915Z",
      "accepts": [
        {
          "scheme": "exact",
          "network": "eip155:84532",
          "asset": "0x036CbD53842c5426634e7929541eC2318f3dCF7e",
          "amount": "10000",
          "resource": "https://fetchweb.net/api/public/extract",
          "description": "Structured extraction of one web page (title, text, headings, links).",
          "mimeType": "application/json",
          "payTo": "0x399676fbA6adb69634270b745E8097348cca6Af2",
          "extra": {
            "name": "USD Coin",
            "version": "2"
          }
        }
      ],
      "metadata": {
        "provider": {
          "name": "Agent Extract",
          "url": "https://fetchweb.net"
        },
        "path": "/api/public/extract",
        "method": "POST",
        "description": "Pay-per-call web page extraction: returns title, description, headings, clean main text, markdown, links and images for any public URL.",
        "mimeType": "application/json",
        "input": {
          "type": "object",
          "required": [
            "url"
          ],
          "properties": {
            "url": {
              "type": "string",
              "description": "Public http(s) URL of the page to extract."
            },
            "format": {
              "type": "string",
              "enum": [
                "json",
                "text",
                "markdown"
              ],
              "default": "json",
              "description": "Shape of the returned body."
            }
          }
        },
        "output": {
          "type": "object",
          "properties": {
            "url": {
              "type": "string"
            },
            "finalUrl": {
              "type": "string"
            },
            "title": {
              "type": "string"
            },
            "description": {
              "type": "string"
            },
            "siteName": {
              "type": "string"
            },
            "author": {
              "type": [
                "string",
                "null"
              ]
            },
            "publishedAt": {
              "type": [
                "string",
                "null"
              ]
            },
            "lang": {
              "type": [
                "string",
                "null"
              ]
            },
            "wordCount": {
              "type": "number"
            },
            "readingTimeMinutes": {
              "type": "number"
            },
            "quality": {
              "type": "object",
              "properties": {
                "score": {
                  "type": "number",
                  "description": "0-100 extraction confidence."
                },
                "extractor": {
                  "type": "string"
                },
                "truncated": {
                  "type": "boolean"
                }
              }
            },
            "text": {
              "type": "string"
            },
            "markdown": {
              "type": "string"
            },
            "headings": {
              "type": "array"
            },
            "links": {
              "type": "array"
            },
            "images": {
              "type": "array"
            },
            "cache": {
              "type": "object"
            }
          }
        },
        "siwx": false,
        "supportsVanillax402": true,
        "supportsCircleGateway": false
      },
      "errors": [
        "invalid_url",
        "access_denied",
        "not_found",
        "rate_limited",
        "upstream_error",
        "unsupported_content_type",
        "too_large",
        "timeout",
        "fetch_failed"
      ],
      "cache": {
        "ttlSeconds": 900,
        "freeOnHit": false
      }
    }
  ]
}