Go to WM Cloud Free forever. No credit card needed

Mock the APIs You Depend On

source Open Source

The core WireMock engine.
Embed in your test code, run as a standalone process, or deploy via Docker.

Learn more

cloud Cloud

Web UI with team collaboration, OpenAPI + Swagger support, and chaos testing.

Start on the generous free-forever tier:

Get Started

Flexible API Mocking for Testing and Development

WireMock is a tool for building mock APIs. Create stable development environments, isolate yourself from flakey 3rd parties and simulate APIs that don't exist yet.

  Join us for Hacktoberfest 2023!

Learn WireMock and contribute to open source

This October we participate in Hacktoberfest - a global open source hack fest. We invite you to join us, regardless of your profile and technology stack.

Adopt WireMock in your projects, contribute new features and fixes, improve docs, create new demos and artwork, etc.

Learn More...

z
wiremock cloud screenshot

Hosted API mocking for everyone

  • SaaS, nothing to install
  • For individuals, teams and enterprises
  • Intuitive web UI for developers
  • OpenAPI, Swagger and Postman import
  • NEW: Chaos Engineering
  • Generous free plan

Key Features

WireMock frees you from dependency on unstable APIs and allows you to develop with confidence. It's easy to launch a mock API server and simulate a host of real-world scenarios and APIs - including REST, SOAP, OAuth2 and more.

Wiremock Features

Advanced request matching

wiremock dynamic response

Dynamic response templating

wiremock unit tests

Run in your unit tests, on your laptop or in your test environment.

wiremock fault and latency

Fault and latency injection

wiremock record playback

Record / Playback

wiremock java, python, http

Java, Python, HTTP and

JSON file APIs

Full Documentation

Downloads

WireMock is available as a standalone service, Java library and integrations for modern languages and technology stacks.

Maven
Gradle
Kotlin
SBT
Java
Docker
  • Maven
  • Gradle Groovy
  • Gradle Kotlin
  • Scala SBT
  • Standalone
  • Docker

Add the following to your project's pom.xml dependencies:

<dependency>
  <groupId>org.wiremock</groupId>
  <artifactId>wiremock</artifactId>
  <version>3.3.1</version>
  <scope>test</scope>
</dependency>

Then follow the next steps for JUnit 5+ or plain Java.

Add the following to your project's build.gradle:

testImplementation "org.wiremock:wiremock:3.3.1"

Then follow the next steps for JUnit 5+ or plain Java.

Add the following to your project's build.gradle.kts:

testImplementation("org.wiremock:wiremock:3.3.1")

Then follow the next steps for JUnit 5+ or plain Java.

Add the following to your project’s build.sbt:

libraryDependencies +=
  "org.wiremock" % "wiremock" % "3.3.1" % Test

Download the latest standalone JAR then run the following in a terminal:

java -jar wiremock-standalone-3.3.1.jar

Learn more in the running standalone guide.

Run the following in a terminal:

docker run -it --rm \
  -p 8080:8080 \
  --name wiremock \
  wiremock/wiremock:3.3.1

Learn more in the Docker guide.

Frequently Asked Questions

What is WireMock?
WireMock is a free API mocking tool that can be run as a standalone server, or in a hosted version via the WireMock Cloud managed service.
What is API mocking?
API mocking involves creating a simple simulation of an API, accepting the same types of request and returning identically structured responses as the real thing, enabling fast and reliable development and testing.
When do you need to mock APIs?
API mocking is typically used during development and testing as it allows you to build your app without worrying about 3rd party APIs or sandboxes breaking. It can also be used to rapidly prototype APIs that don’t exist yet.
How do you create an API mock?
WireMock supports several approaches for creating mock APIs - in code, via its REST API, as JSON files and by recording HTTP traffic proxied to another destination.
What makes WireMock unique?
WireMock has a rich matching system, allowing any part of an incoming request to be matched against complex and precise criteria. Responses of any complexity can be dynamically generated via the Handlebars based templating system. Finally, WireMock is easy to integrate into any workflow due to its numerous extension points and comprehensive APIs.
Is WireMock open source?
Yes, WireMock is a completely open source API mocking tool (GitHub repo). If you’re looking for a hosted version of WireMock, check out WireMock Cloud.
Is WireMock a free service?
WireMock is completely free under the Apache 2.0 license.