The Watch Changelog API provides uniform access to changelog data from 5000+ official vendor sources. Sign up for a free account to get your API key and start accessing up to 3 changelog sources immediately (no credit card required).
https://watchchangelog.com/api/v1Most API endpoints require an API key (prefixed wcl_...). Include your key in the request header:
Authorization: Bearer wcl_YOUR_KEYOr use the alternative header:
X-Api-Key: wcl_YOUR_KEYNote: GET /api/v1/sources (the catalog list) is public and does not require authentication.
Unauthenticated: Returns a public sample of max 5 sources (basic fields only). Authenticated: Returns the full catalog of 5000+ official vendor changelog sources. Free API key can list the whole catalog to pick your 3 sources. What we sell is entries, not names.
GET /api/v1/sourcesAuthentication: Optional. Include API key for full catalog access.
Query Parameters (authenticated only):
vendor (optional) - Filter by vendor identifierq (optional) - Search by name or vendoradapterType (optional) - Filter by adapter type (rss, atom, html, github_releases)kind (optional) - Filter by kind (changelog, whats_new, release_notes, etc.)limit (optional) - Results per page (default: 50, max: 100)offset (optional) - Pagination offset (default: 0)Example Response (Unauthenticated Sample):
{
"sample": true,
"total": 5109,
"limit": 5,
"offset": 0,
"items": [
{
"slug": "aws.whats-new",
"name": "AWS What's New",
"vendor": "aws",
"kind": "whats_new",
"homepage": "https://aws.amazon.com",
"lastUpdatedAt": "2026-08-25T19:42:00.000Z",
"health": "healthy"
}
],
"hint": "This is a public sample. Sign up for a free API key at /auth/login..."
}Example Response (Authenticated Full Catalog):
{
"total": 5109,
"limit": 50,
"offset": 0,
"items": [
{
"slug": "aws.whats-new",
"name": "AWS What's New",
"vendor": "aws",
"homepage": "https://aws.amazon.com",
"changelogUrl": "https://aws.amazon.com/new/",
"adapterType": "rss",
"kind": "whats_new",
"tags": ["cloud", "aws"],
"health": "healthy",
"lastUpdatedAt": "2026-08-25T19:42:00.000Z",
"lastFetchedAt": "2026-08-26T12:00:00.000Z"
}
]
}Note: feedUrl is never included on the customer API (internal only).
Retrieve changelog entries for one or more sources. Requires authentication. Free tier: 3 sources. Starter: 10 sources ($1/mo). All: whole catalog ($9.99/mo).
GET /api/v1/entriesQuery Parameters:
sources (required) - Comma-separated list of source slugs (e.g., aws.whats-new,vercel.changelog)since (optional) - ISO 8601 timestamp to fetch entries after (e.g., 2026-08-01T00:00:00.000Z)limit (optional) - Results per page (default: 50, max: 100)offset (optional) - Pagination offset (default: 0)Example Response:
{
"plan": "free",
"total": 42,
"limit": 50,
"offset": 0,
"items": [
{
"id": "stable-external-id",
"source": "aws.lambda",
"vendor": "aws",
"published_at": "2026-08-26T00:00:00.000Z",
"title": "AWS Lambda introduces managed runtimes in public preview",
"url": "https://aws.amazon.com/about-aws/whats-new/2026/08/...",
"summary": "Node.js 26 and Python 3.15 are now available in public preview.",
"raw": {},
"tags": ["aws", "lambda"]
}
]
}Request a new official changelog source to be added to the catalog. No authentication required. Rate-limited.
POST /api/v1/sources/requestRequest Body:
{
"url": "https://example.com/changelog",
"name": "Example Changelog",
"vendor": "example",
"note": "Official product changelog for Example SaaS",
"email": "requester@example.com"
}Compare ChangelogSnapshot rows and return structured before/after changes. Requires the $49.99/mo Diff API add-on (on top of base plan).
GET /api/v1/diffs?source=aws.whats-newFull OpenAPI 3.0.3 spec with typed schemas, security definitions, and examples: /openapi.json
We provide a Model Context Protocol (MCP) stdio server at mcp/server.ts in the repository. Run it locally with environment variables WATCHCHANGELOG_API_URL and WATCHCHANGELOG_API_KEY.
Tools:
list_sources (public)get_entries (plan-gated)request_source (public)This is NOT a hosted HTTP MCP endpoint. You run the server as a subprocess and communicate over stdio. See docs/mcp.md for details.
Agents: see /llms.txt for when to use this service, how to call it, and what it's NOT for.
The API uses standard HTTP status codes and returns JSON errors with error, code, message, and hint fields:
200 - Success201 - Created (source request)400 - Bad request (invalid parameters or missing required field)401 - Unauthorized (missing or invalid API key)402 - Payment required (diff add-on gate)403 - Forbidden (plan limit exceeded or source not selected)404 - Not found429 - Rate limit exceeded500 - Server errorExample error:
{
"error": "Authentication required. Use a Watch Changelog API key.",
"code": "unauthorized",
"message": "Authentication required. Use a Watch Changelog API key.",
"hint": "Get an API key at /auth/login (3 sources free)"
}Need help? Email us at hello@watchchangelog.com or check out our pricing plans for plan details.