{
  "openapi": "3.0.1",
  "info": {
    "title": "Wayback Page Change Tracker: Archived Versions & Timeline",
    "description": "See when any web page changed, from the Internet Archive Wayback Machine. One row per content version with date, days since the previous version, size change and archive links, or every archived URL of a domain. Summaries and new-only change alerts. No API key.",
    "version": "0.1",
    "x-build-id": "f1hdx3sO9gTTP3GvA"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/transparent_meteorite~wayback-page-change-tracker/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-transparent_meteorite-wayback-page-change-tracker",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/transparent_meteorite~wayback-page-change-tracker/runs": {
      "post": {
        "operationId": "runs-sync-transparent_meteorite-wayback-page-change-tracker",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/transparent_meteorite~wayback-page-change-tracker/run-sync": {
      "post": {
        "operationId": "run-sync-transparent_meteorite-wayback-page-change-tracker",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "urls"
        ],
        "properties": {
          "urls": {
            "title": "Page URLs or domains",
            "type": "array",
            "description": "Pages to track, for example example.com/pricing or https://www.example.com/terms. Scheme and www do not matter (the Wayback index ignores them). In Archived URL inventory mode, give domains, for example example.com. Up to 100 per run.",
            "default": [
              "apify.com/pricing"
            ],
            "items": {
              "type": "string"
            }
          },
          "mode": {
            "title": "Mode",
            "enum": [
              "versions",
              "urlInventory"
            ],
            "type": "string",
            "description": "Page versions = one row each time the archived content of a page changed (identical captures are collapsed), with time since the previous version and size change. Archived URL inventory = one row per unique URL the Wayback Machine holds for a domain, host or path prefix.",
            "default": "versions"
          },
          "matchType": {
            "title": "Inventory scope",
            "enum": [
              "domain",
              "host",
              "prefix"
            ],
            "type": "string",
            "description": "Inventory mode only: which URLs to list.",
            "default": "domain"
          },
          "dateFrom": {
            "title": "From date",
            "type": "string",
            "description": "Optional. YYYY, YYYY-MM or YYYY-MM-DD. Only captures on or after this date."
          },
          "dateTo": {
            "title": "To date",
            "type": "string",
            "description": "Optional. YYYY, YYYY-MM or YYYY-MM-DD. Only captures on or before this date."
          },
          "order": {
            "title": "Which versions",
            "enum": [
              "oldest",
              "newest"
            ],
            "type": "string",
            "description": "Versions mode: start from the beginning of the window, or return the most recent N versions (still listed oldest to newest).",
            "default": "newest"
          },
          "statusFilter": {
            "title": "HTTP status",
            "enum": [
              "ok",
              "all"
            ],
            "type": "string",
            "description": "200 only gives clean content versions. All includes redirects and error captures, useful to see when a page went down or moved.",
            "default": "ok"
          },
          "minLengthChangePercent": {
            "title": "Minimum size change %",
            "minimum": 0,
            "maximum": 100,
            "type": "number",
            "description": "Versions mode: skip versions whose archived size changed less than this percent vs the last delivered version (filters out tiny dynamic changes such as tokens or timestamps). Skipped versions are not charged. 0 = every content change.",
            "default": 0
          },
          "maxRowsPerUrl": {
            "title": "Max rows per URL",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Cap per target (versions or archived URLs).",
            "default": 100
          },
          "maxResults": {
            "title": "Max rows in total",
            "minimum": 1,
            "maximum": 20000,
            "type": "integer",
            "description": "Total cap across all targets. Each row is one charged result; summaries are charged separately.",
            "default": 25
          },
          "includeSummary": {
            "title": "Add a summary row per URL",
            "type": "boolean",
            "description": "Versions mode: one extra row per target with first/latest version, median days between changes, longest gap and versions per year. Charged as a separate summary event.",
            "default": false
          },
          "onlyNewSinceLastRun": {
            "title": "Only new versions since the last run",
            "type": "boolean",
            "description": "Versions mode: remember the latest version delivered per URL in a named key-value store and return only newer versions next time. Schedule it daily or weekly to get change alerts.",
            "default": false
          },
          "stateStoreName": {
            "title": "State store name",
            "type": "string",
            "description": "Named key-value store that holds the last delivered version per URL when monitoring. Use a different name per watch list.",
            "default": "wayback-page-change-tracker-state"
          },
          "maxApiRequests": {
            "title": "Max CDX requests",
            "minimum": 5,
            "maximum": 3000,
            "type": "integer",
            "description": "Safety cap on requests to the Wayback CDX server.",
            "default": 200
          },
          "maxRunSeconds": {
            "title": "Max run seconds",
            "minimum": 30,
            "maximum": 3600,
            "type": "integer",
            "description": "The run stops cleanly (keeping delivered rows) after this many seconds.",
            "default": 600
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}