ToolAssay

Detect bounded changes across one static page surface using one HTML fetch plus

Detect bounded changes across one static page surface using one HTML fetch plus at most one robots.txt fetch. Forest hashes HTTP identity, page metadata, normalized JSON-LD, downloadable links, form schema and robots context without storing snapshots, rendering JavaScript or submitting anything. Base mainnet USDC

Answeringour last check, 2026-10-10
1 of 1checks answered this week
923 msmedian answer time
$0.004listed price per call
$0.004price it asked us

Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.

Endpoint

POST https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/site/changed-since

CategoryCode and developer
Provider hosthttp--forest-gas-station-mainnet--lcjl27p8lmjs.code.run
Networkseip155:8453
Payment schemesexact
Self-reported calls, 30 days2 from 2 payers (the provider's figure, not ours)

Our checks, last 30 days

DayResultHTTPAskedTime
2026-10-10 valid payment request 402$0.004 923 ms

Example input (from the provider)

{
  "body": {
    "url": "https://http--forest-gas-station-mainnet--lcjl27p8lmjs.code.run/fixtures/page",
    "user_agent": "ForestBot/1.0"
  },
  "bodyType": "json",
  "method": "POST",
  "type": "http"
}

Promised output schema (from the provider)

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "body": {
          "additionalProperties": false,
          "properties": {
            "previous_dimensions": {
              "additionalProperties": false,
              "description": "Public previous dimensions value used to scope this lookup.",
              "properties": {
                "downloads": {
                  "description": "Earlier result hash used to detect a material change.",
                  "pattern": "^sha256:[a-fA-F0-9]{64}$",
                  "type": "string"
                },
                "forms": {
                  "description": "Earlier result hash used to detect a material change.",
                  "pattern": "^sha256:[a-fA-F0-9]{64}$",
                  "type": "string"
                },
                "http": {
                  "description": "Earlier result hash used to detect a material change.",
                  "pattern": "^sha256:[a-fA-F0-9]{64}$",
                  "type": "string"
                },
                "page": {
                  "description": "Earlier result hash used to detect a material change.",
                  "pattern": "^sha256:[a-fA-F0-9]{64}$",
                  "type": "string"
                },
                "robots": {
                  "description": "Earlier result hash used to detect a material change.",
                  "pattern": "^sha256:[a-fA-F0-9]{64}$",
                  "type": "string"
                },
                "structured": {
                  "description": "Earlier result hash used to detect a material change.",
                  "pattern": "^sha256:[a-fA-F0-9]{64}$",
                  "type": "string"
                }
              },
              "required": [
                "http",
                "page",
                "structured",
                "downloads",
                "forms",
                "robots"
              ],
              "type": "object"
            },
            "previous_hash": {
              "description": "Earlier result hash used to detect a material change.",
              "pattern": "^sha256:[a-fA-F0-9]{64}$",
              "type": "string"
            },
            "url": {
              "description": "Public HTTP(S) URL to inspect, resolve, or compare.",
              "maxLength": 2048,
              "minLength": 1,
              "pattern": "^https?://",
              "type": "string"
            },
            "user_agent": {
              "description": "Public user agent value used to scope this lookup.",
              "maxLength": 128,
              "minLength": 1,
              "type": "string"
            }
          },
          "required": [
            "url"
          ],
          "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": {
          "type": "object"
        },
        "type": {
          "type": "string"
        }
      },
      "required": [
        "type"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}

This page as JSON