Monitor API changelogs, deprecations, status, and OpenAPI
monitor_api_changesMonitor APIs and public sources for changelog, status, deprecation, and OpenAPI changes, returning only what changed since the last run to catch breaking updates early.
Instructions
Watch third party APIs and return only what changed since the last run with the same state_key. Give vendors (github, stripe, shopify, hubspot, openai, anthropic, google-ads, twilio, slack, notion, atlassian, cloudflare, vercel, plaid), any changelog, feed, deprecation page, status page, or OpenAPI JSON URL in sources, and API endpoints in endpoint_urls. Every source gets one row per run (source_baseline on the first check, then source_check with changes_found), plus one row per change: changelog_entry, deprecation_notice, breaking_change, incident_new, incident_update, incident_resolved, openapi_operation_added, openapi_operation_removed, openapi_operation_deprecated, openapi_version_change, sunset_header, or deprecation_header, each with is_deprecation, is_breaking, and sunset_date. Unreadable sources come back free with a row_status saying so. A run that does not succeed is returned as an error with its run ID. Read-only; requires an APIFY_TOKEN; Apify charges per change row and per source check that is a first check or finds a change; an unchanged source is free.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| watch | No | For vendor presets, any of: changelog, deprecations, status, headers, openapi. Empty means changelog, deprecations, status, and headers. openapi reads the vendor's OpenAPI document (up to 14 MB) and reports operations added, removed, or deprecated. Without changelog, changelog sources return only deprecations and breaking changes. URLs you list in Source URLs are always read. | |
| sources | No | Any other public URLs to watch, one per line: a changelog or release notes page, an RSS or Atom feed, a deprecation or sunset dates page, a Statuspage site or its history.rss feed, or an OpenAPI or Swagger JSON document. The kind is detected from what the URL returns. | |
| vendors | No | API vendors to watch, one per line. Each expands to the public sources read for it: changelog, deprecation page, status history, and OpenAPI document where one is published. Available: github, stripe, shopify, hubspot, openai, anthropic, google-ads, twilio, slack, notion, atlassian, cloudflare, vercel, plaid. | |
| keywords | No | Return only change rows whose title, summary, categories, or operation contains one of these words. Every change still updates the saved state. | |
| state_key | No | Names the saved state, so separate schedules keep separate baselines. Runs with the same state key and source compare against each other. | |
| proxy_mode | No | How sources are fetched. Default auto. | |
| reset_state | No | true to ignore the saved state and record a new baseline for every source. Default false. | |
| endpoint_urls | No | API endpoints to call without credentials, one per line. The response headers are read for Sunset (RFC 8594), Deprecation (RFC 9745), and Link relations deprecation, sunset, and successor-version. Only GET requests are sent. | |
| max_charge_usd | No | Optional. The run stops before it would charge more than this. | |
| include_snapshot | No | true to also return the current entries, incidents, or operations of a source on its first check, up to Max change rows per source. Each snapshot row is billed as a snapshot row. Default false. | |
| max_changes_per_source | No | Change rows returned per source per run, 1 to 1000. The rest are counted in changes_found. Default 100. | |
| only_deprecations_and_breaking | No | true to return only change rows tagged as a deprecation or breaking change, OpenAPI operations removed or deprecated, and header changes. Incidents and plain changelog entries are left out. Default false. |