Dependabot for the APIs you don't control

Their API changed.
Your app keeps working.

Undrift watches every third-party API your code calls. The moment one drifts or ships a breaking change, it finds the exact call sites in your repo — and opens a pull request with the fix, before production breaks.

Free tier · 5 endpoints · no card. Your SDK is pinned — their server isn't.

Migrate deprecated source paramOpen
Uundrift[bot]wants to merge intomain
src/lib/payments.ts
async function charge(token) {
- return stripe.charges.create({ source: token });
+ return stripe.paymentIntents.create({
+ payment_method: token, confirm: true,
+ });
}
validated · parses & still calls the APIPOST /v1/charges · deadline 57d

Watching the APIs you already depend on

StripeOpenAIAnthropicTwilioShopifyGitHubSlackSupabaseClerkResendPayPalNotionHubSpotPlaidVercel+ any HTTP/JSON endpoint

The failure mode

Integrations don't break loudly. They break silently, in production.

Silent schema drift

A field gets renamed or dropped. Still 200 OK, still valid JSON — your code just quietly reads undefined.

Deadlines nobody reads

Version sunsets and deprecations land in changelogs no one watches. Untouched code dies on the provider's schedule.

Fixes that never ship

Even when you catch it, someone has to find every call site and patch it. That work slips — until an outage forces it.

How it works

Detect the change. Locate your code. Ship the fix.

Two detection engines feed one remediation engine — so the alert you get already has the pull request attached.

Step 1

Detect

Undrift probes your endpoints and diffs each response against a learned schema baseline, and reads provider changelogs classified by severity.

  • Schema-diff, not just uptime
  • Breaking / warning / info
  • 2 confirmations before it alerts
Step 2

Locate

Connect a repo and an AST scanner finds every external API call — SDK methods and raw fetch alike — mapping each change to the exact file and line.

  • JS / TS · Python · Ruby · Go
  • SDK calls + raw HTTP
  • file:line in every alert
Step 3

Fix

With the GitHub App installed, Undrift generates a span-anchored fix, validates it parses and still calls the API, and opens a PR from undrift[bot].

  • PR-only — never your main branch
  • Validated before it opens
  • Per-repo opt-out

Why Undrift

It covers the blind spot your other tools don't.

“I use the official SDK.”

Your SDK freezes the request format — it can't stop the provider from sunsetting your API version, renaming response fields it passes through untyped, or changing behavior. Undrift probes the live server.

“Isn't this Dependabot?”

Dependabot bumps your lockfile and knows nothing about the live API. Undrift watches the server and the provider's announcements, then rewrites your call sites. Same PR workflow, different layer.

“I have uptime checks.”

A 200 OK with valid JSON passes every uptime check even when the shape silently changed underneath you. Undrift diffs the schema and classifies the change by severity.

Safe by design

Fixes never touch your default branch and are validated before the PR opens.

Alerts worth reading

Every alert says what changed, why it matters to you, and by when.

Credentials stay yours

Probe auth is encrypted at rest and only decrypted inside the probe worker.

Deadlines up front

Deprecation dates are extracted so you fix on your schedule, not theirs.

Coverage

20 providers with changelog intelligence — and any endpoint for probing.

StripeOpenAIAnthropicTwilioShopifyGitHubSlackSupabaseClerkResendPayPalNotionHubSpotPlaidVercelSendGridGoogle MapsMetaDiscordAirtable

Stop finding out from your users.

Connect a repo in two minutes. The next time an API you depend on changes, the fix PR is already waiting.

Start free