The internet. Mocked.

Writing tests for third-party integrations like the Facebook or Stripe API is hard. You wind up creating lots of mock data and reverse-engineering a lot of logic just to get your tests to pass. That's a big waste of time. Unmock fixes that.

Get started for freeWatch the demo

In case you were wondering

How it works

Step 1

In your TypeScript or JavaScript unit tests, add one line of code: beforeAll(() => unmock()).

Step 2

There is no step 2. Unmock intercepts your HTTP traffic, creates just-in-time semantically and functionally accurate mock data, and serves it back to you.

Watch the demo

Step 3

There is no step 3 either, but did we mention that you can upload your own APIs to unmock? You can also easily simulate errors, monitor production API calls and a whole lot more. We are also releasing Kotlin, Swift, and Go clients soon. Stay tuned!

Read the docs

Pricing

Simple pricing with a generous free tier

Community

Free forever

  • 150 mocks a day
  • Editable mocks
  • Automatic mocks*
  • Stories†
Read the docs

Pro

$99/mo

  • All community features
  • Unlimited mocks
  • Random and flaky mocks‡
  • CI/CD support
  • Serverless functions
Get started

Enterprise

Contact sales

  • All pro features
  • Offline mocks
  • Stateful mocks**
  • On-premise solution
  • Enterprise support
  • Unlimited private APIs
Contact sales

* Automatic, semantically accurate mocks of 100s of APIs, growing every day.
† Zero-configuration organization of mocks on a per-test basis, where each mock is linked to the previous one in a test to tell a "story."
‡ One-click non-deterministic behavior, with random regenerated data and indeterminate errors for smoke testing and negative testing.
** Stories that preserve states between mocks, like retaining posted data, etc.

Open source project?

Use unmock pro for free

open.source@unmock.io

Unmock pro is free forever for community-driven open source projects. Applying for a free license is simple: just send us an email with a link to your project page to get the ball rolling.