API Change Monitor avatar

API Change Monitor

Pricing

from $2.98 / 1,000 change rows

Go to Apify Store
API Change Monitor

API Change Monitor

Watch the APIs you depend on and get only what changed since your last run: new changelog entries tagged as deprecations or breaking changes, sunset dates, status incidents, OpenAPI operations added, removed, or deprecated, and Sunset or Deprecation headers. 14 vendor presets or any URL.

Pricing

from $2.98 / 1,000 change rows

Rating

0.0

(0)

Developer

Mamba Labs

Mamba Labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 hours ago

Last modified

Share

Watch the third party APIs your product depends on and get back only what changed since your last run. Pick a vendor from 14 presets or give any changelog, deprecation page, status page, or OpenAPI document. Each run returns new changelog entries, tagged when they announce a deprecation, a sunset date, or a breaking change; new and resolved status incidents; OpenAPI operations added, removed, or deprecated; and Sunset or Deprecation headers that appear on an endpoint. The first run of a source records a baseline; every later run with the same state key compares against it. Rows are flat, so they export to CSV, post to Slack through an Apify integration, or drop into a table.

Features

  • Only the changes. One row per source per run with the number of changes found, and one row per change. A source where nothing moved returns a free no_change row.
  • Deprecations flagged. Every changelog entry is read for deprecation, sunset, end of life, retirement, and removal wording, and for breaking change and required migration wording. is_deprecation, is_breaking, and the first sunset_date named after the wording are on every row. Turn on only_deprecations_and_breaking to get nothing else.
  • Vendor presets. github, stripe, shopify, hubspot, openai, anthropic, google-ads, twilio, slack, notion, atlassian, cloudflare, vercel, plaid. Each preset is the vendor's own public changelog feed or page, deprecation or sunset page, status history feed, and OpenAPI document where one is published.
  • Any URL. A changelog page, an RSS or Atom feed, a sunset dates table, a Statuspage site, or an OpenAPI or Swagger JSON document. The kind is detected from what the URL returns.
  • Status incidents. New incidents and status changes (investigating, identified, monitoring, resolved) from the vendor's status history.
  • OpenAPI diffs. Operations added, removed, or marked deprecated, and the API version, from the published OpenAPI JSON.
  • Sunset and Deprecation headers. API endpoints you list are called without credentials and their response headers are read for Sunset (RFC 8594), Deprecation (RFC 9745), and the deprecation, sunset, and successor-version link relations.
  • Schedules. Save the input as a task with a state_key, schedule it daily, and each run returns only the new changes.

How it reads sources

Every source is a public page, feed, or file, fetched directly, and robots.txt is read for every host and checked before every request; a URL robots.txt disallows is never requested. Status pages are read through their public history feed. A host that refuses a direct request is retried through the Apify proxy. No login, no API key, and no other developer's actor. Endpoint checks send one GET with no credentials. The saved state lives in a key-value store in your own Apify account.

Input

FieldTypeDefaultWhat it does
vendorsarrayVendor presets: github, stripe, shopify, hubspot, openai, anthropic, google-ads, twilio, slack, notion, atlassian, cloudflare, vercel, plaid
sourcesarrayAny other changelog, feed, deprecation page, status page, or OpenAPI JSON URL
endpoint_urlsarrayAPI endpoints whose response headers are read for Sunset and Deprecation
watcharrayall but openapiFor presets, any of changelog, deprecations, status, headers, openapi
keywordsarrayReturn only change rows that contain one of these words
only_deprecations_and_breakingstringfalsetrue returns only deprecations, breaking changes, removed or deprecated operations, and header changes
max_changes_per_sourcestring100Change rows per source per run, up to 1000
include_snapshotstringfalsetrue also returns the current entries of a source on its first check
state_keystringNames the saved state, so separate schedules keep separate baselines
reset_statestringfalsetrue records a new baseline for every source
max_charge_usdstringThe run stops before it would charge more than this
proxy_modestringautoauto or direct

Every scalar input is accepted as a string, which is what Clay and most HTTP tools send.

Output

One row layout for every row type, so no column is lost between them. Key fields:

FieldRowsExample
row_typeallsource_baseline, source_check, change, snapshot, source_error, error
vendor, source_label, source_url, source_kindallhubspot, HubSpot developer changelog, feed
change_typechangechangelog_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, deprecation_header
title, entry_url, entry_date, summary, categorieschangesUpcoming Sunset: End of Developer CLI Support of Node.js 20, 2026-10-19
is_deprecation, is_breaking, sunset_datechangestrue, false, 2026-04-29
incident_statusstatus changesresolved
operationOpenAPI changesDELETE /v1/accounts/{account}
old_value, new_valuestatus, version, and header changesinvestigating, resolved
header_sunset, header_deprecation, header_linkendpoint source rows
entries_tracked, changes_found, previous_check_atsource rows50, 2
row_status, error_reason, billable_events_jsonallok, null, {"change-row":1}

The run summary (key-value store record RUN_SUMMARY) lists baselines, changes by type, unreadable sources, and requests.

Pricing

Pay per event. You pay only these events; the Apify platform and proxy costs of your run are paid by Mamba Labs.

EventFree planBronzeSilverGold
Change row (change-row), one change since the last run$0.0035$0.003325$0.00315$0.002975
Source check (source-check), the first check of a source and any later check that finds a change$0.003$0.00285$0.0027$0.00255
Snapshot row (snapshot-row), only with include_snapshot on$0.001$0.00095$0.0009$0.00085
Actor start (apify-actor-start), once per run$0.001$0.001$0.001$0.001

Free rows: no_change rows for a source where nothing moved since the last run, source_error rows for a source that could not be read, and the row a refused input returns. On the Apify free plan the actor stops at 1.50 USD of evaluation a month (about 429 change rows); any paid Apify plan removes that cap.

Example: a daily run over 10 sources where 3 sources changed, with 5 changes in all, costs 3 source checks ($0.009) plus 5 change rows ($0.0175), $0.0275 with the actor start. The 7 unchanged sources are free.

Usage examples

Apify Console or API

{ "vendors": ["github", "openai"], "state_key": "api-watch-daily" }
{ "vendors": ["stripe", "github"], "watch": ["openapi", "status"], "only_deprecations_and_breaking": "true", "state_key": "payments-stack" }
{ "sources": ["https://developers.hubspot.com/changelog/rss.xml", "https://www.githubstatus.com"], "endpoint_urls": ["https://api.example.com/v1/status"], "keywords": ["webhook", "oauth"] }

Scheduled monitoring

Save the input as an Apify task with a state_key and schedule it daily. Connect the task to Slack or email with an Apify integration to get the change rows as they come.

MCP

The MCP server @mambalabsdev/mcp-api-change-monitor exposes this actor as a tool for Claude and other MCP clients.

Error handling

SituationWhat you get
The input has no vendor, source, or endpoint, names an unknown vendor, or cannot be readOne free row, row_status error, error_reason starting with input_invalid:. The run ends successfully and nothing is charged by this actor beyond the actor start
A source refuses every route, or robots.txt disallows itOne free source_error row with row_status blocked and the reason
A page with no dated entries, or a YAML OpenAPI documentOne free source_error row saying why and what to give instead
A source changes its layout, so most entries read as newRecorded as a new baseline with a note, not as dozens of false changes
The state store cannot be openedEvery source reads as a first check, and the run summary says so
Max charge reachedThe run stops before the next billable row; the source's state is not saved, so its changes come back on the next run

Limitations

  • A change is only seen if it is still on the source when the actor runs. A changelog that lists only its newest 10 entries can drop an entry between two widely spaced runs.
  • Changelog pages drawn by scripts after the page loads give no entries; use the vendor's feed when it has one.
  • Deprecation and breaking change tags come from the wording of the entry. An entry that announces a removal in other words is a plain changelog_entry.
  • Entries are matched by title on pages and by feed ID on feeds. A page entry whose title is edited reads as a new entry.
  • OpenAPI documents are read as JSON; a YAML document returns a source_error asking for the JSON version.
  • You are responsible for how you use the data and for the terms of the sites you watch.

More from Mamba Labs

ActorActor ID
Account Hiring WatchgRAZA5WBi1r6L0gy7
Agent Accessibility AuditoranxbRv0lKrpQ1pnua
Agent to Brokerage ResolverePRRGLxOGyaVHO4dI
AI Tooling DetectorEwkHhmqiuJgRoVEbE
B2B Reddit Conversation MonitorSoDryzzsjmY3SsiyG
Bluesky Brand Presence MappereLpxzP4IuXznlFVND
Career Change Signal EnginevX2Yga1a6wGaXaP14
Company Change Event FeedoX44rS0fkEJ3rXLWe
Company Contact Details Extractor4mMncKaJykiq94grz
Company Discovery List Builderjch0HdaZnpbMqlcGS
Company Firmographic EnricherYlUtLWjfPpqykmB8g
Company Funding RecordOFS4Mt1gyYNtGfUbE
Company Headcount EstimatoraHC4GROnNt6kfZe5r
Company Identity Resolverlr8fTRAmZCBZmuwwh
Company Social Presence Mapper4k6CCemkgBDz18m2h
Competitor Price, Stock, and Changelog MonitoryxdgCbUQ4PYQWwRNU
Contact Classifier0lGSeYJmniXhGANnO
Contractor License LookupWBYK3CPI2kdeq4bP1
Cookie Consent AuditTrKyOS0KBoGC35nbr
Domain Deliverability Checker0tVgxI7A6o9jMlxmc
Domain to LinkedIn URL Resolver3HtnSaqPHOg1Qg5gx
Ecommerce Platform Profiler5G2NeYjBbQTjaTn9L
Ecommerce Store DiscoveryPeHu4sLyFvQHXUUrX
Event Presence IndexWLhMy8fMDgsxdYxv5
Expert Witness DirectoryLIpwlgfE3LaQBaXd4
Funding and Press Signal ScannerFS13X6dhQVgX3XOM6
GitHub Organization Signal ScannerahF8RRpv5mzPao5CN
Google Ads Transparency Monitor1eOwxhBVxzvOXAm4s
Government Contract Award MonitorzhEtllASykOcx9hJ8
GTM Hiring Signal ScraperD7O1SA2EqwHGsGr1P
GTM Signals AggregatorxKdRfnfFNkdMpFuNs
ICP Fit ScorerW161DT8W4kW55dMFh
Influencer Change Monitord2VVgahNL6UmcLkhg
Influencer FindertpkedmloIIWtXx6sg
Influencer Lead List BuilderKnmByszcv135yM30G
Influencer Profile ScraperEqEnklDVMIcB1V499
Influencer Talent Agency LookupzCuX4Mgyg6JvXgGzd
Instagram Facebook Brand Presence MapperHXh65I0JBjPsunbY8
Integration and Marketplace Presence MapperV0guNuvM85Q61f2gj
Job Board Keyword Signal Scanner4DvqpvhMR74NLcDDY
Job Change TrackerL8UbEmMJC1XYPSZOb
Job Posting MonitorQCfICD9kOPiOdj5iI
Legal Entity ResolverKHFyPCDIx7CyqULYm
Link in Bio Scraper and Newsletter DetectorOorucdheTIgu7RFzK
LinkedIn Company Page MapperzOPm6A9JEhUGcIdFW
LinkedIn Post TrackeroiGLNPuaf5BRaz9K5
Local Business Lead BuilderqMN97aoHhsAS5bznV
Local Rank and Map Pack Trackergv0kyHGDIg8XscclB
Lookalike Company Findere2O426WBAbLLQL4Z2
Manufacturer and Supplier FinderQcsdmd0lUfPzVkonh
Meta Ad Library MonitorJ1GWlSXfSGU3u8Wng
Mobile Phone Waterfall6OOgPktf7RIa5XCOP
New Company Registrations Feedg2WfZhWvCtc57g2Jo
New Hire FindercKuc38p4nYHNF3IW8
Newsletter Sponsor TrackerqSwpqxD1TiPZpLQHv
Open Tender and RFP FinderkPTGz6t6TFoUUyfaO
Outbound Stack Detectorv43UJC8r7qW7cBSTG
Page Finder and ExtractorTpurgcOZbVnknlaiC
Partner and Member Directory ExtractorZX0XJPPUvnFJxeC1a
People Finder & Email VerifierLEgloG7tWgQl4o6TD
Person LinkedIn URL ResolverssuyPV8LnEsL8qbnb
Person Social Footprint MapperjfQXa2zW9FHCJot9K
Personal Email to Company ResolverAefT5Ye6YNPFQwJBf
Pinterest Brand Presence Mapperd1HvjZfKhgvWsoEwn
Podcast Guest and Host Findero2MGSvgbSLeeXOsIo
Prospect Engineq9rT6v64nUJdPexOQ
Public Feature Board and Roadmap MonitorrcHF5gj5r2Vqnry35
Publishing Frequency TrackerTbLwaUUATdYb6wp4N
Reddit Brand Presence MapperpKQZmDaT70SEb54bZ
Reporting Window FinderuINxR7a1IW8qUTRUX
Sequencer Event PollerS6s8Rjd61tGdrMRk4
Sequencer Lead Push0Jv27VeWM5tSZQs9x
Team Page People Extractorj8a9zX0k4mNbvDbWK
Tech Stack Signal Detectorqyd7nNyqFPelQViBx
TikTok Brand Presence Mapperfco8FvoJcSafbeyd1
Trustpilot Reputation Enricher3lIqfCt61j4hqE1xz
VC and Accelerator Portfolio List BuilderchH8hrfuoqqolW06m
WCAG Accessibility AuditP3jBj3FRghKEhX52z
Website Phrase and Business Model ClassifierCBuZ9k7sRwBeiKiCS
Website Traffic Rank EstimatorGnOFUzlNVIoXgeJjH
Work Email WaterfallOT6xqTFThC0Rjf7Zj
Workplace Program DetectorLi6pPDhqbdzFz3h7G
X Brand Presence MapperoLOgadhHUkNAyDA3w
YouTube Channel Stats Extractor6hSpD3kd2s2IQ4VSs

Built by Mamba Labs.