Skip to main content
Glama

Website Change Monitor & Deterministic Diff

industrial_platform/web-change-intelligence

industrial_platform--web-change-intelligence
Destructive

This tool calls the Actor "industrial_platform/web-change-intelligence" and retrieves its output results. Actor description: Website change detector and deterministic diff API for AI agents. Monitor pricing, availability, documentation, policies, and competitor pages. $0.001 per successful comparison.

This tool requires an x402 payment. Include a valid x402 payment signature in the request metadata (_meta["x402/payment"]). Your MCP client must support the x402 payment protocol.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYes**REQUIRED** Public http:// or https:// URL to inspect. Example values: "https://example.com/"
selectorNoOptional CSS selector that restricts monitoring to a specific part of an HTML page, such as main, #pricing, or .inventory.
waitSecsNoMax seconds (0–45, default 30) to cap the wait for the Actor run to reach terminal state. For long-running Actors the response returns at the cap with the current run status; follow `nextStep` to poll via get-actor-run. Set to 0 to fire-and-forget.
previous_hashNoOptional current_hash from a previous run. Use this for compact changed/unchanged checks when a detailed diff is not required.
previous_textNoOptional current_text returned by a previous run. When provided, the Actor returns deterministic added/removed excerpts and change metrics.
max_diff_charsNoMaximum length returned for each added/removed excerpt. Example values: 12000
max_text_charsNoMaximum characters retained before hashing and comparison. Keep this value consistent across repeated checks. Example values: 100000
timeout_secondsNoMaximum time allowed for the target request. Example values: 30
ignore_selectorsNoOptional HTML selectors to remove before comparison, useful for clocks, rotating banners, ads, or other volatile regions.
include_current_textNoReturn current_text so a later run can perform a detailed text comparison. Example values: true

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "actorId": {
      -        "description": "Stable Apify Actor ID from the run record",
      -        "type": "string"
      -      },
      -      "actorName": {
      -        "description": "\"username/actor-name\"",
      -        "type": "string"
      -      },
      -      "apifyConsoleUrl": {
      -        "description": "Personalized Apify Console link to the run; present only for Console sessions",
      -        "type": "string"
      -      },
      -      "exitCode": {
      -        "description": "Actor process exit code; populated for terminal states (especially FAILED)",
      -        "type": "number"
      -      },
      -      "finishedAt": {
      -        "description": "ISO timestamp when the run finished (terminal states only)",
      -        "type": "string"
      -      },
      -      "nextStep": {
      -        "description": "One primary follow-up action with identifiers interpolated",
      -        "type": "string"
      -      },
      -      "runId": {
      -        "description": "Actor run ID",
      -        "type": "string"
      -      },
      -      "startedAt": {
      -        "description": "ISO timestamp when the run started",
      -        "type": "string"
      -      },
      -      "stats": {
      -        "description": "Run statistics",
      -        "properties": {
      -          "computeUnits": {
      -            "type": "number"
      -          },
      -          "memMaxBytes": {
      -            "type": "number"
      -          },
      -          "runTimeSecs": {
      -            "type": "number"
      -          }
      -        },
      -        "type": "object"
      -      },
      -      "status": {
      -        "description": "Run status: READY | RUNNING | TIMING-OUT | TIMED-OUT | ABORTING | ABORTED | SUCCEEDED | FAILED",
      -        "type": "string"
      -      },
      -      "statusMessage": {
      -        "description": "Pass-through from Apify run.statusMessage",
      -        "type": "string"
      -      },
      -      "storages": {
      -        "description": "Dataset and key-value store metadata, keyed by alias. \"default\" is always the primary entry.",
      -        "properties": {
      -          "datasets": {
      -            "additionalProperties": {
      -              "properties": {
      -                "apifyConsoleUrl": {
      -                  "description": "Personalized Apify Console link to the dataset; present only for Console sessions",
      -                  "type": "string"
      -                },
      -                "fields": {
      -                  "description": "Dataset field paths in dot notation (e.g. [\"metadata.url\"])",
      -                  "items": {
      -                    "type": "string"
      -                  },
      -                  "type": "array"
      -                },
      -                "id": {
      -                  "description": "Dataset ID",
      -                  "type": "string"
      -                },
      -                "inflatedBytes": {
      -                  "description": "Approximate uncompressed byte size of the dataset. Use with itemCount to pick limit/fields before fetching.",
      -                  "type": "number"
      -                },
      -                "itemCount": {
      -                  "type": "number"
      -                },
      -                "name": {
      -                  "type": "string"
      -                },
      -                "title": {
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "id"
      -              ],
      -              "type": "object"
      -            },
      -            "description": "Map of dataset alias → metadata. Key \"default\" is always the run's primary dataset.",
      -            "properties": {
      -              "default": {
      -                "properties": {
      -                  "apifyConsoleUrl": {
      -                    "description": "Personalized Apify Console link to the dataset; present only for Console sessions",
      -                    "type": "string"
      -                  },
      -                  "fields": {
      -                    "description": "Dataset field paths in dot notation (e.g. [\"metadata.url\"])",
      -                    "items": {
      -                      "type": "string"
      -                    },
      -                    "type": "array"
      -                  },
      -                  "id": {
      -                    "description": "Dataset ID",
      -                    "type": "string"
      -                  },
      -                  "inflatedBytes": {
      -                    "description": "Approximate uncompressed byte size of the dataset. Use with itemCount to pick limit/fields before fetching.",
      -                    "type": "number"
      -                  },
      -                  "itemCount": {
      -                    "type": "number"
      -                  },
      -                  "itemsSchema": {
      -                    "description": "JSON Schema for rows in the dataset at `storages.datasets.default.id` — describes row shape only; the rows themselves are NOT returned inline in this response. Inferred from this Actor's historical successful runs. To fetch actual rows, call `get-dataset-items` with the dataset id and a `fields` projection drawn from this schema.",
      -                    "properties": {
      -                      "checked_at": {
      -                        "type": "string"
      -                      },
      -                      "comparison_mode": {
      -                        "type": "string"
      -                      },
      -                      "comparison_status": {
      -                        "type": "string"
      -                      },
      -                      "content_type": {
      -                        "type": "string"
      -                      },
      -                      "current_hash": {
      -                        "type": "string"
      -                      },
      -                      "current_text": {
      -                        "type": "string"
      -                      },
      -                      "fetch": {
      -                        "properties": {
      -                          "bytes_received": {
      -                            "type": "number"
      -                          },
      -                          "duration_ms": {
      -                            "type": "number"
      -                          }
      -                        },
      -                        "type": "object"
      -                      },
      -                      "final_url": {
      -                        "type": "string"
      -                      },
      -                      "http_status": {
      -                        "type": "number"
      -                      },
      -                      "original_text_length": {
      -                        "type": "number"
      -                      },
      -                      "status": {
      -                        "type": "string"
      -                      },
      -                      "text_length": {
      -                        "type": "number"
      -                      },
      -                      "text_truncated": {
      -                        "type": "boolean"
      -                      },
      -                      "title": {
      -                        "type": "string"
      -                      },
      -                      "url": {
      -                        "type": "string"
      -                      }
      -                    },
      -                    "type": "object"
      -                  },
      -                  "name": {
      -                    "type": "string"
      -                  },
      -                  "title": {
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "id"
      -                ],
      -                "type": "object"
      -              }
      -            },
      -            "required": [
      -              "default"
      -            ],
      -            "type": "object"
      -          },
      -          "keyValueStores": {
      -            "additionalProperties": {
      -              "properties": {
      -                "apifyConsoleUrl": {
      -                  "description": "Personalized Apify Console link to the store; present only for Console sessions",
      -                  "type": "string"
      -                },
      -                "id": {
      -                  "description": "Key-value store ID",
      -                  "type": "string"
      -                },
      -                "keyCount": {
      -                  "description": "Total number of keys (omitted when truncated)",
      -                  "type": "number"
      -                },
      -                "keys": {
      -                  "description": "Up to 50 key names",
      -                  "items": {
      -                    "type": "string"
      -                  },
      -                  "type": "array"
      -                },
      -                "name": {
      -                  "type": "string"
      -                },
      -                "title": {
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "id"
      -              ],
      -              "type": "object"
      -            },
      -            "description": "Map of key-value store alias → metadata. Key \"default\" is always the run's primary store.",
      -            "properties": {
      -              "default": {
      -                "properties": {
      -                  "apifyConsoleUrl": {
      -                    "description": "Personalized Apify Console link to the store; present only for Console sessions",
      -                    "type": "string"
      -                  },
      -                  "id": {
      -                    "description": "Key-value store ID",
      -                    "type": "string"
      -                  },
      -                  "keyCount": {
      -                    "description": "Total number of keys (omitted when truncated)",
      -                    "type": "number"
      -                  },
      -                  "keys": {
      -                    "description": "Up to 50 key names",
      -                    "items": {
      -                      "type": "string"
      -                    },
      -                    "type": "array"
      -                  },
      -                  "name": {
      -                    "type": "string"
      -                  },
      -                  "title": {
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "id"
      -                ],
      -                "type": "object"
      -              }
      -            },
      -            "required": [
      -              "default"
      -            ],
      -            "type": "object"
      -          }
      -        },
      -        "type": "object"
      -      },
      -      "summary": {
      -        "description": "Past-tense summary of the run state",
      -        "type": "string"
      -      },
      -      "tip": {
      -        "description": "Advisory guidance RAG Web Browser wrote to its key-value store under the reserved \"TIP\" key",
      -        "properties": {
      -          "level": {
      -            "description": "Omitted when the Actor wrote an unrecognized level",
      -            "enum": [
      -              "info",
      -              "warning"
      -            ],
      -            "type": "string"
      -          },
      -          "message": {
      -            "description": "Truncated to 300 characters, with a trailing ellipsis if the Actor's message was longer",
      -            "type": "string"
      -          },
      -          "recommendedActorId": {
      -            "description": "Apify Actor ID the tip recommends running next, when it names one — pass directly as `actor` to call-actor or fetch-actor-details",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "message"
      -        ],
      -        "type": "object"
      -      }
      -    },
      -    "required": [
      -      "runId",
      -      "actorId",
      -      "status",
      -      "storages",
      -      "summary",
      -      "nextStep"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "properties": {
      -      "accepts": {
      -        "items": {
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "error": {
      -        "type": "string"
      -      },
      -      "resource": {
      -        "type": "object"
      -      },
      -      "x402Version": {
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "x402Version",
      -      "accepts"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "actorId": {
      +        "description": "Stable Apify Actor ID from the run record",
      +        "type": "string"
      +      },
      +      "actorName": {
      +        "description": "\"username/actor-name\"",
      +        "type": "string"
      +      },
      +      "apifyConsoleUrl": {
      +        "description": "Personalized Apify Console link to the run; present only for Console sessions",
      +        "type": "string"
      +      },
      +      "exitCode": {
      +        "description": "Actor process exit code; populated for terminal states (especially FAILED)",
      +        "type": "number"
      +      },
      +      "finishedAt": {
      +        "description": "ISO timestamp when the run finished (terminal states only)",
      +        "type": "string"
      +      },
      +      "nextStep": {
      +        "description": "One primary follow-up action with identifiers interpolated",
      +        "type": "string"
      +      },
      +      "runId": {
      +        "description": "Actor run ID",
      +        "type": "string"
      +      },
      +      "startedAt": {
      +        "description": "ISO timestamp when the run started",
      +        "type": "string"
      +      },
      +      "stats": {
      +        "description": "Run statistics",
      +        "properties": {
      +          "computeUnits": {
      +            "type": "number"
      +          },
      +          "memMaxBytes": {
      +            "type": "number"
      +          },
      +          "runTimeSecs": {
      +            "type": "number"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "status": {
      +        "description": "Run status: READY | RUNNING | TIMING-OUT | TIMED-OUT | ABORTING | ABORTED | SUCCEEDED | FAILED",
      +        "type": "string"
      +      },
      +      "statusMessage": {
      +        "description": "Pass-through from Apify run.statusMessage",
      +        "type": "string"
      +      },
      +      "storages": {
      +        "description": "Dataset and key-value store metadata, keyed by alias. \"default\" is always the primary entry.",
      +        "properties": {
      +          "datasets": {
      +            "additionalProperties": {
      +              "properties": {
      +                "apifyConsoleUrl": {
      +                  "description": "Personalized Apify Console link to the dataset; present only for Console sessions",
      +                  "type": "string"
      +                },
      +                "fields": {
      +                  "description": "Dataset field paths in dot notation (e.g. [\"metadata.url\"])",
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "type": "array"
      +                },
      +                "id": {
      +                  "description": "Dataset ID",
      +                  "type": "string"
      +                },
      +                "inflatedBytes": {
      +                  "description": "Approximate uncompressed byte size of the dataset. Use with itemCount to pick limit/fields before fetching.",
      +                  "type": "number"
      +                },
      +                "itemCount": {
      +                  "type": "number"
      +                },
      +                "name": {
      +                  "type": "string"
      +                },
      +                "title": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "id"
      +              ],
      +              "type": "object"
      +            },
      +            "description": "Map of dataset alias → metadata. Key \"default\" is always the run's primary dataset.",
      +            "properties": {
      +              "default": {
      +                "properties": {
      +                  "apifyConsoleUrl": {
      +                    "description": "Personalized Apify Console link to the dataset; present only for Console sessions",
      +                    "type": "string"
      +                  },
      +                  "fields": {
      +                    "description": "Dataset field paths in dot notation (e.g. [\"metadata.url\"])",
      +                    "items": {
      +                      "type": "string"
      +                    },
      +                    "type": "array"
      +                  },
      +                  "id": {
      +                    "description": "Dataset ID",
      +                    "type": "string"
      +                  },
      +                  "inflatedBytes": {
      +                    "description": "Approximate uncompressed byte size of the dataset. Use with itemCount to pick limit/fields before fetching.",
      +                    "type": "number"
      +                  },
      +                  "itemCount": {
      +                    "type": "number"
      +                  },
      +                  "itemsSchema": {
      +                    "description": "JSON Schema for rows in the dataset at `storages.datasets.default.id` — describes row shape only; the rows themselves are NOT returned inline in this response. Inferred from this Actor's historical successful runs. To fetch actual rows, call `get-dataset-items` with the dataset id and a `fields` projection drawn from this schema.",
      +                    "properties": {
      +                      "checked_at": {
      +                        "type": "string"
      +                      },
      +                      "comparison_mode": {
      +                        "type": "string"
      +                      },
      +                      "comparison_status": {
      +                        "type": "string"
      +                      },
      +                      "content_type": {
      +                        "type": "string"
      +                      },
      +                      "current_hash": {
      +                        "type": "string"
      +                      },
      +                      "current_text": {
      +                        "type": "string"
      +                      },
      +                      "fetch": {
      +                        "properties": {
      +                          "bytes_received": {
      +                            "type": "number"
      +                          },
      +                          "duration_ms": {
      +                            "type": "number"
      +                          }
      +                        },
      +                        "type": "object"
      +                      },
      +                      "final_url": {
      +                        "type": "string"
      +                      },
      +                      "http_status": {
      +                        "type": "number"
      +                      },
      +                      "original_text_length": {
      +                        "type": "number"
      +                      },
      +                      "status": {
      +                        "type": "string"
      +                      },
      +                      "text_length": {
      +                        "type": "number"
      +                      },
      +                      "text_truncated": {
      +                        "type": "boolean"
      +                      },
      +                      "title": {
      +                        "type": "string"
      +                      },
      +                      "url": {
      +                        "type": "string"
      +                      }
      +                    },
      +                    "type": "object"
      +                  },
      +                  "name": {
      +                    "type": "string"
      +                  },
      +                  "title": {
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "id"
      +                ],
      +                "type": "object"
      +              }
      +            },
      +            "required": [
      +              "default"
      +            ],
      +            "type": "object"
      +          },
      +          "keyValueStores": {
      +            "additionalProperties": {
      +              "properties": {
      +                "apifyConsoleUrl": {
      +                  "description": "Personalized Apify Console link to the store; present only for Console sessions",
      +                  "type": "string"
      +                },
      +                "id": {
      +                  "description": "Key-value store ID",
      +                  "type": "string"
      +                },
      +                "keyCount": {
      +                  "description": "Total number of keys (omitted when truncated)",
      +                  "type": "number"
      +                },
      +                "keys": {
      +                  "description": "Up to 50 key names",
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "type": "array"
      +                },
      +                "name": {
      +                  "type": "string"
      +                },
      +                "title": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "id"
      +              ],
      +              "type": "object"
      +            },
      +            "description": "Map of key-value store alias → metadata. Key \"default\" is always the run's primary store.",
      +            "properties": {
      +              "default": {
      +                "properties": {
      +                  "apifyConsoleUrl": {
      +                    "description": "Personalized Apify Console link to the store; present only for Console sessions",
      +                    "type": "string"
      +                  },
      +                  "id": {
      +                    "description": "Key-value store ID",
      +                    "type": "string"
      +                  },
      +                  "keyCount": {
      +                    "description": "Total number of keys (omitted when truncated)",
      +                    "type": "number"
      +                  },
      +                  "keys": {
      +                    "description": "Up to 50 key names",
      +                    "items": {
      +                      "type": "string"
      +                    },
      +                    "type": "array"
      +                  },
      +                  "name": {
      +                    "type": "string"
      +                  },
      +                  "title": {
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "id"
      +                ],
      +                "type": "object"
      +              }
      +            },
      +            "required": [
      +              "default"
      +            ],
      +            "type": "object"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "summary": {
      +        "description": "Past-tense summary of the run state",
      +        "type": "string"
      +      },
      +      "tip": {
      +        "description": "Advisory guidance RAG Web Browser wrote to its key-value store under the reserved \"TIP\" key",
      +        "properties": {
      +          "caveat": {
      +            "description": "Present when this session cannot run the Actor the tip recommends",
      +            "type": "string"
      +          },
      +          "level": {
      +            "description": "Omitted when the Actor wrote an unrecognized level",
      +            "enum": [
      +              "info",
      +              "warning"
      +            ],
      +            "type": "string"
      +          },
      +          "message": {
      +            "description": "Truncated to 300 characters, with a trailing ellipsis if the Actor's message was longer",
      +            "type": "string"
      +          },
      +          "recommendedActorId": {
      +            "description": "Apify Actor ID the tip recommends, when it names one",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "message"
      +        ],
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "runId",
      +      "actorId",
      +      "status",
      +      "storages",
      +      "summary",
      +      "nextStep"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "accepts": {
      +        "items": {
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "error": {
      +        "type": "string"
      +      },
      +      "resource": {
      +        "type": "object"
      +      },
      +      "x402Version": {
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "x402Version",
      +      "accepts"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. Changed1 schema field changed
    • changedOutput schema / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "actorId": {
      -        "description": "Stable Apify Actor ID from the run record",
      -        "type": "string"
      -      },
      -      "actorName": {
      -        "description": "\"username/actor-name\"",
      -        "type": "string"
      -      },
      -      "apifyConsoleUrl": {
      -        "description": "Personalized Apify Console link to the run; present only for Console sessions",
      -        "type": "string"
      -      },
      -      "exitCode": {
      -        "description": "Actor process exit code; populated for terminal states (especially FAILED)",
      -        "type": "number"
      -      },
      -      "finishedAt": {
      -        "description": "ISO timestamp when the run finished (terminal states only)",
      -        "type": "string"
      -      },
      -      "nextStep": {
      -        "description": "One primary follow-up action with identifiers interpolated",
      -        "type": "string"
      -      },
      -      "runId": {
      -        "description": "Actor run ID",
      -        "type": "string"
      -      },
      -      "startedAt": {
      -        "description": "ISO timestamp when the run started",
      -        "type": "string"
      -      },
      -      "stats": {
      -        "description": "Run statistics",
      -        "properties": {
      -          "computeUnits": {
      -            "type": "number"
      -          },
      -          "memMaxBytes": {
      -            "type": "number"
      -          },
      -          "runTimeSecs": {
      -            "type": "number"
      -          }
      -        },
      -        "type": "object"
      -      },
      -      "status": {
      -        "description": "Run status: READY | RUNNING | TIMING-OUT | TIMED-OUT | ABORTING | ABORTED | SUCCEEDED | FAILED",
      -        "type": "string"
      -      },
      -      "statusMessage": {
      -        "description": "Pass-through from Apify run.statusMessage",
      -        "type": "string"
      -      },
      -      "storages": {
      -        "description": "Dataset and key-value store metadata, keyed by alias. \"default\" is always the primary entry.",
      -        "properties": {
      -          "datasets": {
      -            "additionalProperties": {
      -              "properties": {
      -                "apifyConsoleUrl": {
      -                  "description": "Personalized Apify Console link to the dataset; present only for Console sessions",
      -                  "type": "string"
      -                },
      -                "fields": {
      -                  "description": "Dataset field paths in dot notation (e.g. [\"metadata.url\"])",
      -                  "items": {
      -                    "type": "string"
      -                  },
      -                  "type": "array"
      -                },
      -                "id": {
      -                  "description": "Dataset ID",
      -                  "type": "string"
      -                },
      -                "inflatedBytes": {
      -                  "description": "Approximate uncompressed byte size of the dataset. Use with itemCount to pick limit/fields before fetching.",
      -                  "type": "number"
      -                },
      -                "itemCount": {
      -                  "type": "number"
      -                },
      -                "name": {
      -                  "type": "string"
      -                },
      -                "title": {
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "id"
      -              ],
      -              "type": "object"
      -            },
      -            "description": "Map of dataset alias → metadata. Key \"default\" is always the run's primary dataset.",
      -            "properties": {
      -              "default": {
      -                "properties": {
      -                  "apifyConsoleUrl": {
      -                    "description": "Personalized Apify Console link to the dataset; present only for Console sessions",
      -                    "type": "string"
      -                  },
      -                  "fields": {
      -                    "description": "Dataset field paths in dot notation (e.g. [\"metadata.url\"])",
      -                    "items": {
      -                      "type": "string"
      -                    },
      -                    "type": "array"
      -                  },
      -                  "id": {
      -                    "description": "Dataset ID",
      -                    "type": "string"
      -                  },
      -                  "inflatedBytes": {
      -                    "description": "Approximate uncompressed byte size of the dataset. Use with itemCount to pick limit/fields before fetching.",
      -                    "type": "number"
      -                  },
      -                  "itemCount": {
      -                    "type": "number"
      -                  },
      -                  "itemsSchema": {
      -                    "description": "JSON Schema for rows in the dataset at `storages.datasets.default.id` — describes row shape only; the rows themselves are NOT returned inline in this response. Inferred from this Actor's historical successful runs. To fetch actual rows, call `get-dataset-items` with the dataset id and a `fields` projection drawn from this schema.",
      -                    "properties": {
      -                      "checked_at": {
      -                        "type": "string"
      -                      },
      -                      "comparison_mode": {
      -                        "type": "string"
      -                      },
      -                      "comparison_status": {
      -                        "type": "string"
      -                      },
      -                      "content_type": {
      -                        "type": "string"
      -                      },
      -                      "current_hash": {
      -                        "type": "string"
      -                      },
      -                      "current_text": {
      -                        "type": "string"
      -                      },
      -                      "fetch": {
      -                        "properties": {
      -                          "bytes_received": {
      -                            "type": "number"
      -                          },
      -                          "duration_ms": {
      -                            "type": "number"
      -                          }
      -                        },
      -                        "type": "object"
      -                      },
      -                      "final_url": {
      -                        "type": "string"
      -                      },
      -                      "http_status": {
      -                        "type": "number"
      -                      },
      -                      "original_text_length": {
      -                        "type": "number"
      -                      },
      -                      "status": {
      -                        "type": "string"
      -                      },
      -                      "text_length": {
      -                        "type": "number"
      -                      },
      -                      "text_truncated": {
      -                        "type": "boolean"
      -                      },
      -                      "title": {
      -                        "type": "string"
      -                      },
      -                      "url": {
      -                        "type": "string"
      -                      }
      -                    },
      -                    "type": "object"
      -                  },
      -                  "name": {
      -                    "type": "string"
      -                  },
      -                  "title": {
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "id"
      -                ],
      -                "type": "object"
      -              }
      -            },
      -            "required": [
      -              "default"
      -            ],
      -            "type": "object"
      -          },
      -          "keyValueStores": {
      -            "additionalProperties": {
      -              "properties": {
      -                "apifyConsoleUrl": {
      -                  "description": "Personalized Apify Console link to the store; present only for Console sessions",
      -                  "type": "string"
      -                },
      -                "id": {
      -                  "description": "Key-value store ID",
      -                  "type": "string"
      -                },
      -                "keyCount": {
      -                  "description": "Total number of keys (omitted when truncated)",
      -                  "type": "number"
      -                },
      -                "keys": {
      -                  "description": "Up to 50 key names",
      -                  "items": {
      -                    "type": "string"
      -                  },
      -                  "type": "array"
      -                },
      -                "name": {
      -                  "type": "string"
      -                },
      -                "title": {
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "id"
      -              ],
      -              "type": "object"
      -            },
      -            "description": "Map of key-value store alias → metadata. Key \"default\" is always the run's primary store.",
      -            "properties": {
      -              "default": {
      -                "properties": {
      -                  "apifyConsoleUrl": {
      -                    "description": "Personalized Apify Console link to the store; present only for Console sessions",
      -                    "type": "string"
      -                  },
      -                  "id": {
      -                    "description": "Key-value store ID",
      -                    "type": "string"
      -                  },
      -                  "keyCount": {
      -                    "description": "Total number of keys (omitted when truncated)",
      -                    "type": "number"
      -                  },
      -                  "keys": {
      -                    "description": "Up to 50 key names",
      -                    "items": {
      -                      "type": "string"
      -                    },
      -                    "type": "array"
      -                  },
      -                  "name": {
      -                    "type": "string"
      -                  },
      -                  "title": {
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "id"
      -                ],
      -                "type": "object"
      -              }
      -            },
      -            "required": [
      -              "default"
      -            ],
      -            "type": "object"
      -          }
      -        },
      -        "type": "object"
      -      },
      -      "summary": {
      -        "description": "Past-tense summary of the run state",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "runId",
      -      "actorId",
      -      "status",
      -      "storages",
      -      "summary",
      -      "nextStep"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "properties": {
      -      "accepts": {
      -        "items": {
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "error": {
      -        "type": "string"
      -      },
      -      "resource": {
      -        "type": "object"
      -      },
      -      "x402Version": {
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "x402Version",
      -      "accepts"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "actorId": {
      +        "description": "Stable Apify Actor ID from the run record",
      +        "type": "string"
      +      },
      +      "actorName": {
      +        "description": "\"username/actor-name\"",
      +        "type": "string"
      +      },
      +      "apifyConsoleUrl": {
      +        "description": "Personalized Apify Console link to the run; present only for Console sessions",
      +        "type": "string"
      +      },
      +      "exitCode": {
      +        "description": "Actor process exit code; populated for terminal states (especially FAILED)",
      +        "type": "number"
      +      },
      +      "finishedAt": {
      +        "description": "ISO timestamp when the run finished (terminal states only)",
      +        "type": "string"
      +      },
      +      "nextStep": {
      +        "description": "One primary follow-up action with identifiers interpolated",
      +        "type": "string"
      +      },
      +      "runId": {
      +        "description": "Actor run ID",
      +        "type": "string"
      +      },
      +      "startedAt": {
      +        "description": "ISO timestamp when the run started",
      +        "type": "string"
      +      },
      +      "stats": {
      +        "description": "Run statistics",
      +        "properties": {
      +          "computeUnits": {
      +            "type": "number"
      +          },
      +          "memMaxBytes": {
      +            "type": "number"
      +          },
      +          "runTimeSecs": {
      +            "type": "number"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "status": {
      +        "description": "Run status: READY | RUNNING | TIMING-OUT | TIMED-OUT | ABORTING | ABORTED | SUCCEEDED | FAILED",
      +        "type": "string"
      +      },
      +      "statusMessage": {
      +        "description": "Pass-through from Apify run.statusMessage",
      +        "type": "string"
      +      },
      +      "storages": {
      +        "description": "Dataset and key-value store metadata, keyed by alias. \"default\" is always the primary entry.",
      +        "properties": {
      +          "datasets": {
      +            "additionalProperties": {
      +              "properties": {
      +                "apifyConsoleUrl": {
      +                  "description": "Personalized Apify Console link to the dataset; present only for Console sessions",
      +                  "type": "string"
      +                },
      +                "fields": {
      +                  "description": "Dataset field paths in dot notation (e.g. [\"metadata.url\"])",
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "type": "array"
      +                },
      +                "id": {
      +                  "description": "Dataset ID",
      +                  "type": "string"
      +                },
      +                "inflatedBytes": {
      +                  "description": "Approximate uncompressed byte size of the dataset. Use with itemCount to pick limit/fields before fetching.",
      +                  "type": "number"
      +                },
      +                "itemCount": {
      +                  "type": "number"
      +                },
      +                "name": {
      +                  "type": "string"
      +                },
      +                "title": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "id"
      +              ],
      +              "type": "object"
      +            },
      +            "description": "Map of dataset alias → metadata. Key \"default\" is always the run's primary dataset.",
      +            "properties": {
      +              "default": {
      +                "properties": {
      +                  "apifyConsoleUrl": {
      +                    "description": "Personalized Apify Console link to the dataset; present only for Console sessions",
      +                    "type": "string"
      +                  },
      +                  "fields": {
      +                    "description": "Dataset field paths in dot notation (e.g. [\"metadata.url\"])",
      +                    "items": {
      +                      "type": "string"
      +                    },
      +                    "type": "array"
      +                  },
      +                  "id": {
      +                    "description": "Dataset ID",
      +                    "type": "string"
      +                  },
      +                  "inflatedBytes": {
      +                    "description": "Approximate uncompressed byte size of the dataset. Use with itemCount to pick limit/fields before fetching.",
      +                    "type": "number"
      +                  },
      +                  "itemCount": {
      +                    "type": "number"
      +                  },
      +                  "itemsSchema": {
      +                    "description": "JSON Schema for rows in the dataset at `storages.datasets.default.id` — describes row shape only; the rows themselves are NOT returned inline in this response. Inferred from this Actor's historical successful runs. To fetch actual rows, call `get-dataset-items` with the dataset id and a `fields` projection drawn from this schema.",
      +                    "properties": {
      +                      "checked_at": {
      +                        "type": "string"
      +                      },
      +                      "comparison_mode": {
      +                        "type": "string"
      +                      },
      +                      "comparison_status": {
      +                        "type": "string"
      +                      },
      +                      "content_type": {
      +                        "type": "string"
      +                      },
      +                      "current_hash": {
      +                        "type": "string"
      +                      },
      +                      "current_text": {
      +                        "type": "string"
      +                      },
      +                      "fetch": {
      +                        "properties": {
      +                          "bytes_received": {
      +                            "type": "number"
      +                          },
      +                          "duration_ms": {
      +                            "type": "number"
      +                          }
      +                        },
      +                        "type": "object"
      +                      },
      +                      "final_url": {
      +                        "type": "string"
      +                      },
      +                      "http_status": {
      +                        "type": "number"
      +                      },
      +                      "original_text_length": {
      +                        "type": "number"
      +                      },
      +                      "status": {
      +                        "type": "string"
      +                      },
      +                      "text_length": {
      +                        "type": "number"
      +                      },
      +                      "text_truncated": {
      +                        "type": "boolean"
      +                      },
      +                      "title": {
      +                        "type": "string"
      +                      },
      +                      "url": {
      +                        "type": "string"
      +                      }
      +                    },
      +                    "type": "object"
      +                  },
      +                  "name": {
      +                    "type": "string"
      +                  },
      +                  "title": {
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "id"
      +                ],
      +                "type": "object"
      +              }
      +            },
      +            "required": [
      +              "default"
      +            ],
      +            "type": "object"
      +          },
      +          "keyValueStores": {
      +            "additionalProperties": {
      +              "properties": {
      +                "apifyConsoleUrl": {
      +                  "description": "Personalized Apify Console link to the store; present only for Console sessions",
      +                  "type": "string"
      +                },
      +                "id": {
      +                  "description": "Key-value store ID",
      +                  "type": "string"
      +                },
      +                "keyCount": {
      +                  "description": "Total number of keys (omitted when truncated)",
      +                  "type": "number"
      +                },
      +                "keys": {
      +                  "description": "Up to 50 key names",
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "type": "array"
      +                },
      +                "name": {
      +                  "type": "string"
      +                },
      +                "title": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "id"
      +              ],
      +              "type": "object"
      +            },
      +            "description": "Map of key-value store alias → metadata. Key \"default\" is always the run's primary store.",
      +            "properties": {
      +              "default": {
      +                "properties": {
      +                  "apifyConsoleUrl": {
      +                    "description": "Personalized Apify Console link to the store; present only for Console sessions",
      +                    "type": "string"
      +                  },
      +                  "id": {
      +                    "description": "Key-value store ID",
      +                    "type": "string"
      +                  },
      +                  "keyCount": {
      +                    "description": "Total number of keys (omitted when truncated)",
      +                    "type": "number"
      +                  },
      +                  "keys": {
      +                    "description": "Up to 50 key names",
      +                    "items": {
      +                      "type": "string"
      +                    },
      +                    "type": "array"
      +                  },
      +                  "name": {
      +                    "type": "string"
      +                  },
      +                  "title": {
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "id"
      +                ],
      +                "type": "object"
      +              }
      +            },
      +            "required": [
      +              "default"
      +            ],
      +            "type": "object"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "summary": {
      +        "description": "Past-tense summary of the run state",
      +        "type": "string"
      +      },
      +      "tip": {
      +        "description": "Advisory guidance RAG Web Browser wrote to its key-value store under the reserved \"TIP\" key",
      +        "properties": {
      +          "level": {
      +            "description": "Omitted when the Actor wrote an unrecognized level",
      +            "enum": [
      +              "info",
      +              "warning"
      +            ],
      +            "type": "string"
      +          },
      +          "message": {
      +            "description": "Truncated to 300 characters, with a trailing ellipsis if the Actor's message was longer",
      +            "type": "string"
      +          },
      +          "recommendedActorId": {
      +            "description": "Apify Actor ID the tip recommends running next, when it names one — pass directly as `actor` to call-actor or fetch-actor-details",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "message"
      +        ],
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "runId",
      +      "actorId",
      +      "status",
      +      "storages",
      +      "summary",
      +      "nextStep"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "accepts": {
      +        "items": {
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "error": {
      +        "type": "string"
      +      },
      +      "resource": {
      +        "type": "object"
      +      },
      +      "x402Version": {
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "x402Version",
      +      "accepts"
      +    ],
      +    "type": "object"
      +  }
      +]
  3. Changed1 schema field changed
    • changedOutput schema / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "actorId": {
      -        "description": "Stable Apify Actor ID from the run record",
      -        "type": "string"
      -      },
      -      "actorName": {
      -        "description": "\"username/actor-name\"",
      -        "type": "string"
      -      },
      -      "apifyConsoleUrl": {
      -        "description": "Personalized Apify Console link to the run; present only for Console sessions",
      -        "type": "string"
      -      },
      -      "exitCode": {
      -        "description": "Actor process exit code; populated for terminal states (especially FAILED)",
      -        "type": "number"
      -      },
      -      "finishedAt": {
      -        "description": "ISO timestamp when the run finished (terminal states only)",
      -        "type": "string"
      -      },
      -      "nextStep": {
      -        "description": "One primary follow-up action with identifiers interpolated",
      -        "type": "string"
      -      },
      -      "runId": {
      -        "description": "Actor run ID",
      -        "type": "string"
      -      },
      -      "startedAt": {
      -        "description": "ISO timestamp when the run started",
      -        "type": "string"
      -      },
      -      "stats": {
      -        "description": "Run statistics",
      -        "properties": {
      -          "computeUnits": {
      -            "type": "number"
      -          },
      -          "memMaxBytes": {
      -            "type": "number"
      -          },
      -          "runTimeSecs": {
      -            "type": "number"
      -          }
      -        },
      -        "type": "object"
      -      },
      -      "status": {
      -        "description": "Run status: READY | RUNNING | TIMING-OUT | TIMED-OUT | ABORTING | ABORTED | SUCCEEDED | FAILED",
      -        "type": "string"
      -      },
      -      "statusMessage": {
      -        "description": "Pass-through from Apify run.statusMessage",
      -        "type": "string"
      -      },
      -      "storages": {
      -        "description": "Dataset and key-value store metadata, keyed by alias. \"default\" is always the primary entry.",
      -        "properties": {
      -          "datasets": {
      -            "additionalProperties": {
      -              "properties": {
      -                "apifyConsoleUrl": {
      -                  "description": "Personalized Apify Console link to the dataset; present only for Console sessions",
      -                  "type": "string"
      -                },
      -                "fields": {
      -                  "description": "Dataset field paths in dot notation (e.g. [\"metadata.url\"])",
      -                  "items": {
      -                    "type": "string"
      -                  },
      -                  "type": "array"
      -                },
      -                "id": {
      -                  "description": "Dataset ID",
      -                  "type": "string"
      -                },
      -                "inflatedBytes": {
      -                  "description": "Approximate uncompressed byte size of the dataset. Use with itemCount to pick limit/fields before fetching.",
      -                  "type": "number"
      -                },
      -                "itemCount": {
      -                  "type": "number"
      -                },
      -                "name": {
      -                  "type": "string"
      -                },
      -                "title": {
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "id"
      -              ],
      -              "type": "object"
      -            },
      -            "description": "Map of dataset alias → metadata. Key \"default\" is always the run's primary dataset.",
      -            "properties": {
      -              "default": {
      -                "properties": {
      -                  "apifyConsoleUrl": {
      -                    "description": "Personalized Apify Console link to the dataset; present only for Console sessions",
      -                    "type": "string"
      -                  },
      -                  "fields": {
      -                    "description": "Dataset field paths in dot notation (e.g. [\"metadata.url\"])",
      -                    "items": {
      -                      "type": "string"
      -                    },
      -                    "type": "array"
      -                  },
      -                  "id": {
      -                    "description": "Dataset ID",
      -                    "type": "string"
      -                  },
      -                  "inflatedBytes": {
      -                    "description": "Approximate uncompressed byte size of the dataset. Use with itemCount to pick limit/fields before fetching.",
      -                    "type": "number"
      -                  },
      -                  "itemCount": {
      -                    "type": "number"
      -                  },
      -                  "itemsSchema": {
      -                    "description": "JSON Schema for rows in the dataset at `storages.datasets.default.id` — describes row shape only; the rows themselves are NOT returned inline in this response. Inferred from this Actor's historical successful runs. To fetch actual rows, call `get-dataset-items` with the dataset id and a `fields` projection drawn from this schema.",
      -                    "properties": {
      -                      "checked_at": {
      -                        "type": "string"
      -                      },
      -                      "comparison_mode": {
      -                        "type": "string"
      -                      },
      -                      "comparison_status": {
      -                        "type": "string"
      -                      },
      -                      "content_type": {
      -                        "type": "string"
      -                      },
      -                      "current_hash": {
      -                        "type": "string"
      -                      },
      -                      "fetch": {
      -                        "properties": {
      -                          "bytes_received": {
      -                            "type": "number"
      -                          },
      -                          "duration_ms": {
      -                            "type": "number"
      -                          }
      -                        },
      -                        "type": "object"
      -                      },
      -                      "final_url": {
      -                        "type": "string"
      -                      },
      -                      "http_status": {
      -                        "type": "number"
      -                      },
      -                      "original_text_length": {
      -                        "type": "number"
      -                      },
      -                      "status": {
      -                        "type": "string"
      -                      },
      -                      "text_length": {
      -                        "type": "number"
      -                      },
      -                      "text_truncated": {
      -                        "type": "boolean"
      -                      },
      -                      "title": {
      -                        "type": "string"
      -                      },
      -                      "url": {
      -                        "type": "string"
      -                      }
      -                    },
      -                    "type": "object"
      -                  },
      -                  "name": {
      -                    "type": "string"
      -                  },
      -                  "title": {
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "id"
      -                ],
      -                "type": "object"
      -              }
      -            },
      -            "required": [
      -              "default"
      -            ],
      -            "type": "object"
      -          },
      -          "keyValueStores": {
      -            "additionalProperties": {
      -              "properties": {
      -                "apifyConsoleUrl": {
      -                  "description": "Personalized Apify Console link to the store; present only for Console sessions",
      -                  "type": "string"
      -                },
      -                "id": {
      -                  "description": "Key-value store ID",
      -                  "type": "string"
      -                },
      -                "keyCount": {
      -                  "description": "Total number of keys (omitted when truncated)",
      -                  "type": "number"
      -                },
      -                "keys": {
      -                  "description": "Up to 50 key names",
      -                  "items": {
      -                    "type": "string"
      -                  },
      -                  "type": "array"
      -                },
      -                "name": {
      -                  "type": "string"
      -                },
      -                "title": {
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "id"
      -              ],
      -              "type": "object"
      -            },
      -            "description": "Map of key-value store alias → metadata. Key \"default\" is always the run's primary store.",
      -            "properties": {
      -              "default": {
      -                "properties": {
      -                  "apifyConsoleUrl": {
      -                    "description": "Personalized Apify Console link to the store; present only for Console sessions",
      -                    "type": "string"
      -                  },
      -                  "id": {
      -                    "description": "Key-value store ID",
      -                    "type": "string"
      -                  },
      -                  "keyCount": {
      -                    "description": "Total number of keys (omitted when truncated)",
      -                    "type": "number"
      -                  },
      -                  "keys": {
      -                    "description": "Up to 50 key names",
      -                    "items": {
      -                      "type": "string"
      -                    },
      -                    "type": "array"
      -                  },
      -                  "name": {
      -                    "type": "string"
      -                  },
      -                  "title": {
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "id"
      -                ],
      -                "type": "object"
      -              }
      -            },
      -            "required": [
      -              "default"
      -            ],
      -            "type": "object"
      -          }
      -        },
      -        "type": "object"
      -      },
      -      "summary": {
      -        "description": "Past-tense summary of the run state",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "runId",
      -      "actorId",
      -      "status",
      -      "storages",
      -      "summary",
      -      "nextStep"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "properties": {
      -      "accepts": {
      -        "items": {
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "error": {
      -        "type": "string"
      -      },
      -      "resource": {
      -        "type": "object"
      -      },
      -      "x402Version": {
      -        "type": "number"
      -      }
      -    },
      -    "required": [
      -      "x402Version",
      -      "accepts"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "actorId": {
      +        "description": "Stable Apify Actor ID from the run record",
      +        "type": "string"
      +      },
      +      "actorName": {
      +        "description": "\"username/actor-name\"",
      +        "type": "string"
      +      },
      +      "apifyConsoleUrl": {
      +        "description": "Personalized Apify Console link to the run; present only for Console sessions",
      +        "type": "string"
      +      },
      +      "exitCode": {
      +        "description": "Actor process exit code; populated for terminal states (especially FAILED)",
      +        "type": "number"
      +      },
      +      "finishedAt": {
      +        "description": "ISO timestamp when the run finished (terminal states only)",
      +        "type": "string"
      +      },
      +      "nextStep": {
      +        "description": "One primary follow-up action with identifiers interpolated",
      +        "type": "string"
      +      },
      +      "runId": {
      +        "description": "Actor run ID",
      +        "type": "string"
      +      },
      +      "startedAt": {
      +        "description": "ISO timestamp when the run started",
      +        "type": "string"
      +      },
      +      "stats": {
      +        "description": "Run statistics",
      +        "properties": {
      +          "computeUnits": {
      +            "type": "number"
      +          },
      +          "memMaxBytes": {
      +            "type": "number"
      +          },
      +          "runTimeSecs": {
      +            "type": "number"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "status": {
      +        "description": "Run status: READY | RUNNING | TIMING-OUT | TIMED-OUT | ABORTING | ABORTED | SUCCEEDED | FAILED",
      +        "type": "string"
      +      },
      +      "statusMessage": {
      +        "description": "Pass-through from Apify run.statusMessage",
      +        "type": "string"
      +      },
      +      "storages": {
      +        "description": "Dataset and key-value store metadata, keyed by alias. \"default\" is always the primary entry.",
      +        "properties": {
      +          "datasets": {
      +            "additionalProperties": {
      +              "properties": {
      +                "apifyConsoleUrl": {
      +                  "description": "Personalized Apify Console link to the dataset; present only for Console sessions",
      +                  "type": "string"
      +                },
      +                "fields": {
      +                  "description": "Dataset field paths in dot notation (e.g. [\"metadata.url\"])",
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "type": "array"
      +                },
      +                "id": {
      +                  "description": "Dataset ID",
      +                  "type": "string"
      +                },
      +                "inflatedBytes": {
      +                  "description": "Approximate uncompressed byte size of the dataset. Use with itemCount to pick limit/fields before fetching.",
      +                  "type": "number"
      +                },
      +                "itemCount": {
      +                  "type": "number"
      +                },
      +                "name": {
      +                  "type": "string"
      +                },
      +                "title": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "id"
      +              ],
      +              "type": "object"
      +            },
      +            "description": "Map of dataset alias → metadata. Key \"default\" is always the run's primary dataset.",
      +            "properties": {
      +              "default": {
      +                "properties": {
      +                  "apifyConsoleUrl": {
      +                    "description": "Personalized Apify Console link to the dataset; present only for Console sessions",
      +                    "type": "string"
      +                  },
      +                  "fields": {
      +                    "description": "Dataset field paths in dot notation (e.g. [\"metadata.url\"])",
      +                    "items": {
      +                      "type": "string"
      +                    },
      +                    "type": "array"
      +                  },
      +                  "id": {
      +                    "description": "Dataset ID",
      +                    "type": "string"
      +                  },
      +                  "inflatedBytes": {
      +                    "description": "Approximate uncompressed byte size of the dataset. Use with itemCount to pick limit/fields before fetching.",
      +                    "type": "number"
      +                  },
      +                  "itemCount": {
      +                    "type": "number"
      +                  },
      +                  "itemsSchema": {
      +                    "description": "JSON Schema for rows in the dataset at `storages.datasets.default.id` — describes row shape only; the rows themselves are NOT returned inline in this response. Inferred from this Actor's historical successful runs. To fetch actual rows, call `get-dataset-items` with the dataset id and a `fields` projection drawn from this schema.",
      +                    "properties": {
      +                      "checked_at": {
      +                        "type": "string"
      +                      },
      +                      "comparison_mode": {
      +                        "type": "string"
      +                      },
      +                      "comparison_status": {
      +                        "type": "string"
      +                      },
      +                      "content_type": {
      +                        "type": "string"
      +                      },
      +                      "current_hash": {
      +                        "type": "string"
      +                      },
      +                      "current_text": {
      +                        "type": "string"
      +                      },
      +                      "fetch": {
      +                        "properties": {
      +                          "bytes_received": {
      +                            "type": "number"
      +                          },
      +                          "duration_ms": {
      +                            "type": "number"
      +                          }
      +                        },
      +                        "type": "object"
      +                      },
      +                      "final_url": {
      +                        "type": "string"
      +                      },
      +                      "http_status": {
      +                        "type": "number"
      +                      },
      +                      "original_text_length": {
      +                        "type": "number"
      +                      },
      +                      "status": {
      +                        "type": "string"
      +                      },
      +                      "text_length": {
      +                        "type": "number"
      +                      },
      +                      "text_truncated": {
      +                        "type": "boolean"
      +                      },
      +                      "title": {
      +                        "type": "string"
      +                      },
      +                      "url": {
      +                        "type": "string"
      +                      }
      +                    },
      +                    "type": "object"
      +                  },
      +                  "name": {
      +                    "type": "string"
      +                  },
      +                  "title": {
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "id"
      +                ],
      +                "type": "object"
      +              }
      +            },
      +            "required": [
      +              "default"
      +            ],
      +            "type": "object"
      +          },
      +          "keyValueStores": {
      +            "additionalProperties": {
      +              "properties": {
      +                "apifyConsoleUrl": {
      +                  "description": "Personalized Apify Console link to the store; present only for Console sessions",
      +                  "type": "string"
      +                },
      +                "id": {
      +                  "description": "Key-value store ID",
      +                  "type": "string"
      +                },
      +                "keyCount": {
      +                  "description": "Total number of keys (omitted when truncated)",
      +                  "type": "number"
      +                },
      +                "keys": {
      +                  "description": "Up to 50 key names",
      +                  "items": {
      +                    "type": "string"
      +                  },
      +                  "type": "array"
      +                },
      +                "name": {
      +                  "type": "string"
      +                },
      +                "title": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "id"
      +              ],
      +              "type": "object"
      +            },
      +            "description": "Map of key-value store alias → metadata. Key \"default\" is always the run's primary store.",
      +            "properties": {
      +              "default": {
      +                "properties": {
      +                  "apifyConsoleUrl": {
      +                    "description": "Personalized Apify Console link to the store; present only for Console sessions",
      +                    "type": "string"
      +                  },
      +                  "id": {
      +                    "description": "Key-value store ID",
      +                    "type": "string"
      +                  },
      +                  "keyCount": {
      +                    "description": "Total number of keys (omitted when truncated)",
      +                    "type": "number"
      +                  },
      +                  "keys": {
      +                    "description": "Up to 50 key names",
      +                    "items": {
      +                      "type": "string"
      +                    },
      +                    "type": "array"
      +                  },
      +                  "name": {
      +                    "type": "string"
      +                  },
      +                  "title": {
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "id"
      +                ],
      +                "type": "object"
      +              }
      +            },
      +            "required": [
      +              "default"
      +            ],
      +            "type": "object"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "summary": {
      +        "description": "Past-tense summary of the run state",
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "runId",
      +      "actorId",
      +      "status",
      +      "storages",
      +      "summary",
      +      "nextStep"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "accepts": {
      +        "items": {
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "error": {
      +        "type": "string"
      +      },
      +      "resource": {
      +        "type": "object"
      +      },
      +      "x402Version": {
      +        "type": "number"
      +      }
      +    },
      +    "required": [
      +      "x402Version",
      +      "accepts"
      +    ],
      +    "type": "object"
      +  }
      +]
  4. First observed

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations declare readOnlyHint=false, destructiveHint=true, openWorldHint=true, so the agent already knows this is a non-read-only, potentially destructive, open-world operation. The description adds valuable context: x402 payment is required via _meta["x402/payment"] and the client must support the protocol. It does not explain what 'destructive' means here or what side effects (writes, cost) occur beyond pricing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is short but mixes three things: tool mechanics, Actor marketing blurb with a price, and the x402 protocol requirement. The pricing sentence ('$0.001 per successful comparison') is somewhat promotional. The payment prerequisite is front-loadable but appears after the Actor marketing line.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value explanation is not required. However, the tool is a wrapping Actor call with a required payment protocol and destructiveHint=true, and the description does not clarify the relationship to sibling run/dataset tools, nor the cost model implications. It is minimally complete but leaves gaps for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 10 parameters thoroughly, including url, selector, waitSecs, previous_hash, previous_text, and diff/text char limits. The description adds no parameter-level detail beyond naming the x402 meta key. Baseline 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource: it calls the Actor 'industrial_platform/web-change-intelligence' and retrieves its output. The Actor description adds a concrete capability — 'Website change detector and deterministic diff API' for monitoring pricing, availability, docs, and competitor pages. That distinguishes it well from generic run tools, though it's framed as an Actor-invocation rather than stating the underlying task directly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage (detecting website changes, monitoring pages) but does not explicitly say when to use this versus siblings like get-actor-run or get-dataset-items. The x402 payment note gives a prerequisite, but conditional routing guidance ('use this when you need a diff, not just a fetch') is absent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.