I consume a lot of public JSON APIs, and the worst failure mode is the one that never throws: the feed still returns HTTP 200 but the shape has quietly changed. A field gets renamed. The item count drops from 800 to 12 overnight. A salary key disappears. An endpoint starts returning an empty array. None of it is an error — your HTTP client is happy — so a plain status-code health check says "all good" while your data is already broken.
That is the gap jobfeed-watchdog (JFW) fills: a stdlib-only GitHub Action and CLI that polls a JSON API and detects the failures a 200 status hides — schema drift (a field added, removed, or changed type), count collapse (record count drops sharply, the "silent outage"), and full outage. Python standard library only: no dependencies, runs in CI, alerts only on a real regression (not normal feed growth).
A liveness ping proves the server is up. It tells you nothing about whether the data is still the shape your pipeline expects. For a job feed, a data vendor, a market-price API, or any JSON source you parse positionally, a 200 with the wrong body is worse than a 500 — the 500 at least pages you at 3am.
JFW snapshots the structure and record counts of each response and compares against a baseline, flagging drift and collapse as actionable alerts.
pip install jobfeed-watchdog jobfeed-watchdog https://api.example.com/v1/jobs --baseline baseline.json Free and open. If you watch any public JSON API in production, which "silent" failure mode caught you most? The best ones make great test cases.