API mocking for a variety of languages.

Unmock uses machine learning to create fake versions of third-party APIs like Hubspot, SendGrid, Behance, and hundreds of other public APIs. These can be used to prototype and test code that depends on third-party integrations.

The ultimate goal of unmock is to provide a semantically and functionally adequate mock of the world's APIs.

Language bindings

Unmock can be used via one of several SDKs.

Unmock also has a CLI, which can be invoked using npx.

npx unmock --help

The CLI is written to emulate a subset of curl. For example, this is how one would ping the real Behance API with curl.

curl https://www.behance.net/v2/projects?api_key=my_api_key

This is how one would ping the fake Behance API with unmock.

npx unmock https://www.behance.net/v2/projects?api_key=my_api_key

Editor bindings

All mocks created by unmock are editable from an IDE or via the unmock.io web dashboard. Unmock supports the following IDE integrations.


Plugins exist for using unmock in the following CI/CD environments.


The unmock community lives on spectrum.chat/unmock. Come say hi!


Here are some example repos that show unmock in action.