Try WireMock Cloud Free forever. No credit card needed

Simulate APIs. Ship Faster.

WireMock is the industry standard for scalable API simulation.

What is WireMock?

WireMock is a popular tool to simulate APIs and software dependencies, typically used by teams that need more power and functionality compared to simple mocking. It allows you to test applications without dependencies, simulate edge cases, and develop dependent features in parallel.

Key Features

  • HTTP Mocking

    HTTP Mocking and Matching

    Stub HTTP responses and match requests using URL patterns, headers, query parameters, cookies and request body content.

  • Dynamic response

    Dynamic Response Templating

    Generate dynamic responses using Handlebars templating with request data, random values, and custom helpers.

  • Record and playback

    Record & Playback

    Record interactions with real services and play them back during testing for realistic scenarios.

  • Fault simulation

    Fault Simulation

    Simulate network faults, delays, and malformed responses to test your application's resilience.

  • Request verification

    Request Verification

    Verify that your application made the expected requests with the correct parameters and timing

  • Extensible

    Extensible

    Extend WireMock with custom request matchers, response transformers, and admin API extensions.

  • Standalone server

    Standalone Server

    Run as a standalone process, embedded in tests, or deployed as a service in any environment

  • Testing integrations

    Testing Integrations

    Seamless integration with JUnit and other testing frameworks for easy test automation.

NEW

WireMock Runner: Hybrid API Simulation

Run your API simulations locally, on private cloud, or your CI/CD pipeline - with the full power of WireMock Cloud.

Learn more

Get Started

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

<dependency>
  <groupId>org.wiremock</groupId>
  <artifactId>wiremock</artifactId>
  <version>3.13.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.13.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.13.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.13.1" % Test

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

java -jar wiremock-standalone-3.13.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.13.1

Learn more in the Docker guide.

Join Our Thriving Community

Connect with thousands of developers, get help, and contribute to the future of API mocking

Embed API simulation across your SDLC with WireMock Cloud

The complete API simulation platform for enterprise

  • Fully replicate production services: stateful mocking, CSV or database import, contract-based validation
  • Collaborative simulation environment: hosted / hybrid / on-prem deployment, built-in versioning, shared API mocks
  • Decentralized API simulation for every dev + QA: simple UI to create new mocks, AI support, bi-directional OpenAPI sync
  • Shift testing left: chaos testing, CI/CD integration, and rate limit simulations for performance testing

Get started