Api Endpoint

ScrapeCheck

Redirect tier (deterministic, no LLM): verifies where a public URL actually leads: final URL (byte-exact), first response status, and hop count of the HTTP chain, walked twice with per-hop SSRF checks. Use it to confirm a link or a moved page points where it claims. Loops and unstable chains return unverifiable, never a guess. First 100 checks per client are free: resend with header X-Use-Free-Allowance: yes and no payment to use them.

Open interactive test console

Offering

Provider
scrapecheck.fly.dev
Method
POST
Offering type
Api Endpoint
Transport type
http
Category
Security
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://scrapecheck.fly.dev/verify-redirect
MIME type
Not provided
First seen
2026-10-16T01:51:51.176Z
Last seen
Tags
Verification, Redirects, Links, Web

Payment pricing

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

Payment option 1
0.002 USDC
Atomic price: 2000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Payment option 2
0.002 USDC
Atomic price: 2000 · Network: eip155:137 · Asset: USDC · Scheme: exact
Payment option 3
0.002 USDC
Atomic price: 2000 · Network: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "2000",
    "payTo": "0x455F20eC147477CAFcd6D77C1604529f3c4Ff665"
  },
  {
    "scheme": "exact",
    "network": "eip155:137",
    "asset": "0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359",
    "amount": "2000",
    "payTo": "0x455F20eC147477CAFcd6D77C1604529f3c4Ff665"
  },
  {
    "scheme": "exact",
    "network": "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
    "asset": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    "amount": "2000",
    "payTo": "4HuSbgqgKkeUM5jEzAzLGpxtivCGda9eEtYc2Sp1fLpM"
  }
]

Observed health

Status
Healthy
Latest latency
16 ms
Average latency
225 ms
HTTP status
204
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": {
      "properties": {
        "claim": {
          "description": "see the route description; there is no asked field - this tier adjudicates exactly what it accepts",
          "type": "object"
        },
        "url": {
          "description": "public HTTPS URL",
          "type": "string"
        }
      },
      "required": [
        "url",
        "claim"
      ]
    },
    "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

{
  "properties": {
    "example": {
      "properties": {
        "check_type": {
          "description": "The check contract used, e.g. web_field_v1.",
          "type": "string"
        },
        "confidence": {
          "description": "The engine's confidence in the verdict, 0 to 1.",
          "type": "number"
        },
        "engine": {
          "description": "Engine name and version digest that produced the verdict.",
          "type": "string"
        },
        "evidence": {
          "description": "What the re-fetch observed.",
          "properties": {
            "lens_votes": {
              "description": "Boolean votes is_real, is_current, does_answer from the judging lenses.",
              "properties": {
                "does_answer": {
                  "type": "boolean"
                },
                "is_current": {
                  "type": "boolean"
                },
                "is_real": {
                  "type": "boolean"
                }
              },
              "type": "object"
            },
            "refetch_excerpt": {
              "description": "Excerpt of the re-fetched page content the verdict was judged against.",
              "type": "string"
            },
            "refetched_at": {
              "description": "UTC timestamp of the engine's own fetch of the page.",
              "type": "string"
            }
          },
          "type": "object"
        },
        "key_id": {
          "description": "Identifier of the signing key; resolve against GET /pubkey.",
          "type": "string"
        },
        "reasons": {
          "description": "The stated reasons for the verdict.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "signature": {
          "description": "ed25519 signature over canonical sorted-key JSON of every field except signature.",
          "type": "string"
        },
        "source_hash": {
          "description": "sha256 of the normalized page text the verdict judged; null when no anchor text was obtained.",
          "type": [
            "string",
            "null"
          ]
        },
        "verdict": {
          "description": "One of pass, fail, unverifiable.",
          "enum": [
            "pass",
            "fail",
            "unverifiable"
          ],
          "type": "string"
        },
        "verdict_id": {
          "description": "Unique identifier for this verdict; its issuance is confirmable at GET /verdicts/{verdict_id}.",
          "type": "string"
        },
        "verifier_url": {
          "description": "The issuing service's URL; display only, never a trust root.",
          "type": "string"
        }
      },
      "required": [
        "verdict_id",
        "verdict",
        "confidence",
        "reasons",
        "evidence",
        "check_type",
        "engine",
        "key_id",
        "verifier_url",
        "source_hash",
        "signature"
      ],
      "type": "object"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "type"
  ],
  "type": "object"
}