Plans

Catch breaking changes in every pull request — free, no account needed.

Free

$0
  • oasdiff CLI — all commands
  • 450+ breaking change rules
  • GitHub Action with inline annotations
  • Side-by-side spec diff
  • All output formats (JSON, YAML, text, HTML)
  • CI/CD integration (any platform)
Set up free CI checks

Add an approval workflow — review and approve every breaking change before it ships.

Pro

$100/month
  • Approval workflow — approve or reject each breaking change
  • Commit status check blocks merge until all changes reviewed
  • Rich PR comment — auto-posted on every pull request
  • Per-reviewer attribution and audit trail
  • Your OpenAPI specs are never stored on our servers
  • Up to 5 team members and 5 repositories
Start free trial

No credit card required · Cancel anytime

What you see on a pull request

Both tiers detect breaking changes. The difference is what happens next.

Free

Inline annotations on the Files Changed tab

openapi.yaml
42-    200:
43    description: Success
removed the success response with the status '200' for the response with the status '200' [GET /orders]
removed the required request property 'email' [POST /users]
No context — who approved this? Is it intentional?
Pro

Auto-updating bot comment on the PR timeline

Review breaking changes before they ship

Both tiers detect breaking changes. Only Pro lets you review each one with an audit trail.

Free

Not supported

🚫

No review page

Free tier shows inline annotations only — no per-change approve / reject, no audit trail, no commit-status gating.

Pro

Approve / reject each change with an audit trail

oasdiff.com/review/…/my-api/42
API Change Review
my-org/my-api · PR #42 · commit a1b2c3d
⏳ 1 change awaiting review · 1/2 reviewed
🔴GET /orders

removed the success response with the status '200'

✅ Approved by @alice · 2h ago · "intentional — migrating to 201"
🔴POST /users

removed the required request property 'email'

✅ Approve✕ Reject

Block merge until breaking changes are reviewed

Both tiers post a commit status check. Free fails it; Pro turns it into a reviewable gate.

Free

Failed check, no recovery path

All checks have failed
1 failing check
oasdiff / breaking-changes
2 breaking changes detected · Failed
Details
Merge anyway, or argue about it in Slack.
Pro

Reviewable check that gates the merge

1 required check pending
Merging blocked until breaking changes are reviewed
oasdiff / API changes
1 of 2 breaking changes reviewed · Pending
Review changes →
Approve each change → check turns green → merge unblocks.
For an Enterprise license including unlimited repos and users, dedicated support, and other customizations Contact us →

Used by API teams at

MongoDBStripeLEGOIKEASpotifyMicrosoft

Plus engineers from Adyen, Elastic, Palo Alto Networks, Wiz, HPE, Cvent, Starling Bank, Expedia, Apache Airflow, Cal.com, BeyondTrust, Box, Hitachi, and Hargreaves Lansdown.