Monitor API breaking changes and get alerted before your app breaks
APIWatch is an open-source API monitoring service that automatically detects breaking changes in OpenAPI/Swagger specifications and alerts you before your integration breaks.
APIs change constantly. When a provider removes a required parameter or deprecates an endpoint, your app breaks. APIWatch:
- Detects breaking changes in OpenAPI/Swagger specs automatically
- Alerts you instantly via Email or Slack
- Tracks version history so you can see what changed
- Monitors hourly without manual intervention
| Severity | What We Catch |
|---|---|
| Critical | Removed endpoints, deleted HTTP methods, removed required parameters |
| Major | Removed response codes, removed required properties in schemas |
| Minor | Non-required property changes, description updates |
Get started in seconds with 10+ popular API templates:
- ๐ณ Stripe - Payments
- ๐ GitHub - Development
- ๐ผ Slack - Communication
- ๐ค OpenAI - AI/ML
- ๐ Twilio - Communication
- ๐ง SendGrid - Email
- ๐๏ธ Shopify - E-commerce
- ๐ฎ Discord - Communication
- ๐ Notion - Productivity
- ๐ Linear - Productivity
# Clone the repository
git clone https://github.com/pageprincess/api-watch.git
cd api-watch/api-watch-worker
# Install dependencies
npm install
# Create D1 database and KV namespace
npx wrangler d1 create api-watch-db
npx wrangler kv namespace create API_WATCH_CACHE
# Update wrangler.toml with your IDs
# Then deploy
npx wrangler pages deploy .svelte-kit/output --project-name=api-watchSee DEPLOY.md for detailed deployment instructions.
import { detectBreakingChanges, fetchSpec } from 'api-watcher';
// Monitor any OpenAPI spec
const oldSpec = await fetchSpec('https://api.example.com/openapi.json');
const newSpec = await fetchSpec('https://api.example.com/openapi.json');
const changes = detectBreakingChanges(oldSpec, newSpec);
if (changes.critical.length > 0) {
console.alert('Critical breaking changes detected!');
}โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ Cron Trigger โโโโโโถโ Spec Fetcher โโโโโโถโ Breaking Change โ
โ (Every Hour) โ โ (OpenAPI/Swagger) โ Detector โ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโฌโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ Alert Service โโโโโโโ Database โโโโโโโ Severity โ
โ (Email/Slack) โ โ (D1 + KV) โ โ Classifier โ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
- Runtime: Cloudflare Workers (Edge computing)
- Framework: SvelteKit
- Language: TypeScript
- Database: Cloudflare D1 (SQLite)
- Cache: Cloudflare KV
- Alerts: Resend (Email), Slack Webhooks
api-watch-worker/
โโโ src/
โ โโโ lib/
โ โ โโโ spec-fetcher.ts # Fetch OpenAPI specs
โ โ โโโ breaking-detector.ts # Detect breaking changes
โ โ โโโ database.ts # D1/KV operations
โ โ โโโ alert-service.ts # Email/Slack alerts
โ โโโ routes/
โ โ โโโ api/check/+server.ts # Cron endpoint
โ โ โโโ api/monitored/+server.ts # Manage APIs
โ โ โโโ api/templates/+server.ts # API templates
โ โโโ routes/
โ โโโ +page.svelte # Landing page
โโโ schema.sql # Database schema
โโโ wrangler.toml # Cloudflare config
# Install dependencies
npm install
# Run development server
npm run dev
# Run tests (when available)
npm test
# Type checking
npm run checkWe welcome contributions! Please see our Contributing Guidelines for details.
Areas where we'd love help:
- Add more API templates
- Improve breaking change detection accuracy
- Add more alert channels (Discord, Teams, etc.)
- UI/UX improvements for the landing page
MIT License - see LICENSE for details.
Built with โค๏ธ by Auto Company - A fully autonomous AI company experiment