Api Endpoint

Signal Forge Fetch

Public HTML URL to bounded Markdown, source URL, retrieval time and content hash. No JavaScript, login, PDF or CAPTCHA bypass. Unsupported or oversized content fails before settlement. Reuse request_key and the original payment proof to recover a completed response for 24 hours without another charge.

Open interactive test console

Offering

Provider
signalforgestudios.com
Method
POST
Offering type
Api Endpoint
Transport type
http
Category
Web Search Research
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://signalforgestudios.com/x402/fetch
MIME type
Not provided
First seen
2026-10-16T01:50:32.458Z
Last seen
Tags
Web, fetch, markdown

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
0.005 USDC
Atomic price: 5000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "5000",
    "payTo": "0x7e4d786057930b66cb45e2017a587425ebade587"
  }
]

Observed health

Status
Healthy
Latest latency
82 ms
Average latency
190 ms
HTTP status
200
Last checked
Reachability
100% over 14 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

{
  "additionalProperties": false,
  "properties": {
    "body": {
      "additionalProperties": false,
      "properties": {
        "max_chars": {
          "default": 12000,
          "maximum": 24000,
          "minimum": 1000,
          "type": "integer"
        },
        "request_key": {
          "maxLength": 128,
          "minLength": 16,
          "pattern": "^[A-Za-z0-9_.:-]+$",
          "type": "string"
        },
        "section_id": {
          "description": "Optional literal HTML section or heading ID inside main/article. Returns only that section, never clips. Not a CSS selector.",
          "maxLength": 160,
          "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,159}$",
          "type": "string"
        },
        "url": {
          "maxLength": 2048,
          "pattern": "^https?://",
          "type": "string"
        }
      },
      "required": [
        "url",
        "request_key"
      ],
      "type": "object"
    },
    "bodyType": {
      "enum": [
        "json",
        "form-data",
        "text"
      ],
      "type": "string"
    },
    "method": {
      "enum": [
        "POST"
      ],
      "type": "string"
    },
    "type": {
      "const": "http",
      "type": "string"
    }
  },
  "required": [
    "type",
    "method",
    "bodyType",
    "body"
  ],
  "type": "object"
}

Output schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "body": {
          "additionalProperties": false,
          "properties": {
            "max_chars": {
              "default": 12000,
              "maximum": 24000,
              "minimum": 1000,
              "type": "integer"
            },
            "request_key": {
              "maxLength": 128,
              "minLength": 16,
              "pattern": "^[A-Za-z0-9_.:-]+$",
              "type": "string"
            },
            "section_id": {
              "description": "Optional literal HTML section or heading ID inside main/article. Returns only that section, never clips. Not a CSS selector.",
              "maxLength": 160,
              "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,159}$",
              "type": "string"
            },
            "url": {
              "maxLength": 2048,
              "pattern": "^https?://",
              "type": "string"
            }
          },
          "required": [
            "url",
            "request_key"
          ],
          "type": "object"
        },
        "bodyType": {
          "enum": [
            "json",
            "form-data",
            "text"
          ],
          "type": "string"
        },
        "method": {
          "enum": [
            "POST"
          ],
          "type": "string"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method",
        "bodyType",
        "body"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {
          "additionalProperties": false,
          "properties": {
            "content_chars": {
              "maximum": 24000,
              "minimum": 80,
              "type": "integer"
            },
            "content_sha256": {
              "pattern": "^[0-9a-f]{64}$",
              "type": "string"
            },
            "final_url": {
              "maxLength": 2048,
              "type": "string"
            },
            "markdown": {
              "maxLength": 24000,
              "minLength": 80,
              "type": "string"
            },
            "published_at": {
              "type": "null"
            },
            "quality": {
              "additionalProperties": false,
              "properties": {
                "method": {
                  "enum": [
                    "readability",
                    "document"
                  ]
                },
                "section": {
                  "additionalProperties": false,
                  "properties": {
                    "id": {
                      "maxLength": 160,
                      "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]{0,159}$",
                      "type": "string"
                    },
                    "title": {
                      "maxLength": 500,
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "title"
                  ],
                  "type": "object"
                },
                "status": {
                  "const": "usable"
                },
                "warnings": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                }
              },
              "required": [
                "status",
                "method",
                "warnings"
              ],
              "type": "object"
            },
            "replay": {
              "type": "boolean"
            },
            "request_id": {
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            },
            "retrieved_at": {
              "maxLength": 40,
              "minLength": 20,
              "type": "string"
            },
            "schema_version": {
              "const": "1.0"
            },
            "source_status": {
              "maximum": 299,
              "minimum": 200,
              "type": "integer"
            },
            "source_url": {
              "maxLength": 2048,
              "type": "string"
            },
            "timing": {
              "additionalProperties": false,
              "properties": {
                "extraction_ms": {
                  "minimum": 0,
                  "type": "integer"
                },
                "source_fetch_ms": {
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "required": [
                "source_fetch_ms",
                "extraction_ms"
              ],
              "type": "object"
            },
            "title": {
              "maxLength": 500,
              "type": "string"
            },
            "truncated": {
              "const": false
            },
            "untrusted_content": {
              "const": true
            }
          },
          "required": [
            "schema_version",
            "request_id",
            "source_url",
            "final_url",
            "title",
            "markdown",
            "retrieved_at",
            "published_at",
            "content_sha256",
            "source_status",
            "content_chars",
            "truncated",
            "untrusted_content",
            "quality",
            "timing",
            "replay"
          ],
          "type": "object"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}