WireMock is the industry standard for scalable API simulation.
The core WireMock engine, free and open source. Self-host or embed in your code.
The WireMock Cloud API simulation platform with collaboration, advanced features, and AI. Runs anywhere with WireMock Runner.
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.
Stub HTTP responses and match requests using URL patterns, headers, query parameters, cookies and request body content.
Generate dynamic responses using Handlebars templating with request data, random values, and custom helpers.
Record interactions with real services and play them back during testing for realistic scenarios.
Simulate network faults, delays, and malformed responses to test your application's resilience.
Verify that your application made the expected requests with the correct parameters and timing
Extend WireMock with custom request matchers, response transformers, and admin API extensions.
Run as a standalone process, embedded in tests, or deployed as a service in any environment
Seamless integration with JUnit and other testing frameworks for easy test automation.
NEW
Run your API simulations locally, on private cloud, or your CI/CD pipeline - with the full power of WireMock Cloud.
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.
Connect with thousands of developers, get help, and contribute to the future of API mocking
Join thousands of developers in our active Slack workspace. Get real-time help, share best practices, and connect with the core team.
Contribute to the project, report issues, and help shape the future of WireMock. All contributions welcome!