Sitemap URL Delta Monitor
Pricing
Pay per usage
Sitemap URL Delta Monitor
Monitor public sitemap.xml files for new URLs, removed URLs, lastmod changes, and clean stateful deltas for SEO, RAG indexing, and content operations.
Sitemap URL Delta Monitor
Pricing
Pay per usage
Monitor public sitemap.xml files for new URLs, removed URLs, lastmod changes, and clean stateful deltas for SEO, RAG indexing, and content operations.
You can access the Sitemap URL Delta Monitor programmatically from your own applications by using the Apify API. You can also choose the language preference from below. To use the Apify API, you’ll need an Apify account and your API token, found in Integrations settings in Apify Console.
{ "openapi": "3.0.1", "info": { "version": "0.2", "x-build-id": "qAa0V0VtKUksWX0Ba" }, "servers": [ { "url": "https://api.apify.com/v2" } ], "paths": { "/acts/stellar_ballet_0bu~sitemap-delta-monitor/run-sync-get-dataset-items": { "post": { "operationId": "run-sync-get-dataset-items-stellar_ballet_0bu-sitemap-delta-monitor", "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/stellar_ballet_0bu~sitemap-delta-monitor/runs": { "post": { "operationId": "runs-sync-stellar_ballet_0bu-sitemap-delta-monitor", "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/stellar_ballet_0bu~sitemap-delta-monitor/run-sync": { "post": { "operationId": "run-sync-stellar_ballet_0bu-sitemap-delta-monitor", "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": [ "sitemapUrls" ], "properties": { "sitemapUrls": { "title": "Sitemap URLs (or root domains if discoverSitemaps is true)", "type": "array", "description": "Public sitemap.xml or sitemap index URLs. When discoverSitemaps is enabled, root domains (e.g. https://example.com) are also accepted — the actor will fetch /robots.txt and enqueue Sitemap entries from it.", "items": { "type": "string" } }, "discoverSitemaps": { "title": "Discover sitemaps from robots.txt", "type": "boolean", "description": "If true, fetch each start URL's robots.txt and enqueue any Sitemap entries found there. Only works on sites that publish a robots.txt.", "default": false }, "urlFilterRegex": { "title": "URL filter regex", "type": "string", "description": "Optional JavaScript-compatible regex applied to discovered URLs. Matched URLs are included in the output and the persisted snapshot; non-matches are ignored. Applies to final URLs, not intermediate sitemaps.", "default": "" }, "changeTypes": { "title": "Change types to emit", "type": "array", "description": "Which change types to emit as dataset rows. Defaults to ['new_url', 'updated_url', 'removed_url'] (delta-only). Add 'unchanged' to also include rows that did not change since the previous snapshot.", "default": [ "new_url", "updated_url", "removed_url" ], "items": { "type": "string" } }, "addRemovedUrlsToKvs": { "title": "Add removed URLs to key-value store", "type": "boolean", "description": "When true, also write a REMOVED-URLS key to the state key-value store with the full list of URLs that disappeared since the last snapshot, in addition to emitting 'removed_url' rows in the dataset.", "default": false }, "previousItems": { "title": "Previous items", "type": "array", "description": "Optional previous sitemap URL rows from an earlier run (overrides persisted state if provided).", "default": [] }, "onlyChanged": { "title": "Only output changed URLs (legacy alias for changeTypes)", "type": "boolean", "description": "If true (default), only emit rows whose status is not 'unchanged'. Equivalent to changeTypes excluding 'unchanged'.", "default": true }, "persistState": { "title": "Persist state between runs", "type": "boolean", "description": "Store the latest sitemap snapshot in a named key-value store.", "default": true }, "stateStoreName": { "title": "State store name", "type": "string", "description": "Named key-value store used for snapshots when persistState is enabled.", "default": "sitemap-delta-monitor-state" }, "stateKey": { "title": "State key override", "type": "string", "description": "Optional snapshot key. Leave empty to derive from input sitemap URLs.", "default": "" }, "maxSitemapUrls": { "title": "Max nested sitemaps", "minimum": 1, "maximum": 200, "type": "integer", "description": "Maximum nested sitemap URLs to fetch from sitemap indexes (and from robots.txt discovery).", "default": 25 }, "maxUrls": { "title": "Max URLs", "minimum": 1, "maximum": 50000, "type": "integer", "description": "Maximum URLs to track per run.", "default": 5000 }, "requestTimeoutMs": { "title": "Request timeout (ms)", "minimum": 5000, "maximum": 120000, "type": "integer", "description": "Per-request timeout in milliseconds for sitemap and robots.txt fetches.", "default": 30000 } } }, "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 } } }, "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 } } } } } } } } }}OpenAPI is a standard for designing and describing RESTful APIs, allowing developers to define API structure, endpoints, and data formats in a machine-readable way. It simplifies API development, integration, and documentation.
OpenAPI is effective when used with AI agents and GPTs by standardizing how these systems interact with various APIs, for reliable integrations and efficient communication.
By defining machine-readable API specifications, OpenAPI allows AI models like GPTs to understand and use varied data sources, improving accuracy. This accelerates development, reduces errors, and provides context-aware responses, making OpenAPI a core component for AI applications.
You can download the OpenAPI definitions for Sitemap URL Delta Monitor from the options below:
If you’d like to learn more about how OpenAPI powers GPTs, read our blog post.
You can also check out our other API clients: