Open-source alternative to Postman Mock Servers

Postman mock servers run in Postman's cloud. WireMock, Microcks and Mockoon let you host the same kind of mocks on your own servers, desktops and CI runners.

On this page

Which open-source alternative to Postman Mock Servers fits your team

Postman mock servers usually come under review at a renewal, after Postman's March 2026 plan change, or when a data residency rule means mock responses and the collections behind them must sit in your own infrastructure. WireMock, Microcks and Mockoon can each host mocks on infrastructure you control, so the question is less whether to self-host and more which tool fits your mock source and where the mocks need to run. Start by listing where your API definitions come from today: hand-written request and response pairs, an OpenAPI or AsyncAPI contract, or an existing Postman collection.

WireMock suits teams that stub HTTP APIs in code or in integration tests. It is Apache-2.0 licensed and runs as an embedded Java library, a standalone process or a container, so the mock lives next to the service test that uses it. Microcks fits teams whose contracts already exist as OpenAPI, AsyncAPI, gRPC, GraphQL, Postman collections or SoapUI projects and who want mocks and contract tests generated from them. It is an Apache-2.0 Cloud Native Computing Foundation incubating project, and its current stable line is 1.15.0. Mockoon fits developers who want a desktop mock and a headless @mockoon/cli run in CI, under the MIT license. Confirm with each project's documentation which deployment target and authentication options your platform team requires before you choose.

Whichever tool you pick, check three things before you commit: whether the mock definitions can live in Git next to the service code, whether the runtime can be placed inside the network zone that the tests need to reach, and whether the vendor's paid tier, such as WireMock Cloud or Mockoon Pro, is needed for any feature you depend on. Mockoon Pro and WireMock Cloud are commercial offerings from the same projects, so keep the open-source runtime as your baseline and price any paid add-on separately. Your cost will come mainly from the engineering time to migrate existing Postman mocks and to run the hosting, not from licenses, so ask any implementation partner for a written scope that covers the mock sources you have.

Mapping Postman mock capabilities to open-source options

This table maps the mock features teams usually rely on in Postman to WireMock, Microcks and Mockoon, and marks where each tool runs or where Postman's cloud sharing has no direct equivalent. Read each row against your own mock inventory, and confirm exact feature support in each project's documentation before you commit to a design.

CapabilityWireMockMicrocksMockoon
Hosted mock URL for teammatesRuns as a standalone process or container that you host on your own networkRuns as a self-hosted server that exposes mock endpoints you deployDesktop app or CLI on a developer machine; sharing the mock means sharing the file or hosting the CLI
Mocks from OpenAPI specsStubs are usually written by hand or recorded from traffic; confirm any spec import in the docsGenerates mocks from OpenAPI and AsyncAPI definitionsMock routes are built in the app; confirm any OpenAPI import option in the current release
Mocks from Postman collectionsNot a native input; collections need manual translation to stub mappingsAccepts Postman collections as a mock sourceConfirm current import support for Postman collections in the release you use
Stateful request matchingSupports request matching on headers, bodies and URLs with scenario state; confirm the exact optionsMatches on request parameters from the specification; confirm stateful behavior for your caseMatches on route, parameters and body rules; confirm conditional responses and state support
Response examplesResponse bodies defined in JSON mappings or files kept in source controlExamples taken from the specification or collectionResponse bodies and templates defined in the app or config file
CI executionRuns in pipelines as a container or library inside testsRuns as a service that pipelines can start and callHeadless @mockoon/cli and the mockoon/cli Docker image for CI
Contract testingNot a contract test engine on its own; pair with your own test suiteRuns contract tests against the service under testNot a contract test tool; pair with a separate test runner
Cloud sharing with PostmanDoes not replace Postman cloud; WireMock Cloud is a separate commercial serviceDoes not replace Postman cloud sharingMockoon Pro is a paid self-hosted platform with sync and SSO; confirm its fit and cost

When WireMock, Microcks or Mockoon fits best

Each of the three options hosts mocks on infrastructure you control, but they start from different inputs and run in different places. The right choice usually depends on whether your team is stubbing calls inside Java tests, generating mocks from a contract, or running a small mock beside a desktop client or CI job.

WireMock for stubbed HTTP in tests

WireMock is licensed under Apache-2.0 and runs as an embedded Java library, a standalone process or a container. It suits teams that want precise request matching and scripted responses inside JVM test suites or a shared mock service in their own cluster. Check whether your team needs the features of the commercial WireMock Cloud, since the project's README points to it as the company's hosted offering, and confirm which WireMock features you depend on are in the open-source edition before you rely on them.

Microcks for contract-driven mocks

Microcks is an Apache-2.0 project in the Cloud Native Computing Foundation incubating program. It turns OpenAPI, AsyncAPI, gRPC, GraphQL, Postman collections and SoapUI projects into mocks and contract tests, which helps when your API contract is the source of truth. Its current stable line is 1.15.0. Plan for a Kubernetes or container deployment and confirm that the protocols you need, including asynchronous ones, are covered by your chosen release.

Mockoon for desktop and CI

Mockoon is MIT licensed and ships as a desktop app, the @mockoon/cli npm package and the mockoon/cli Docker image. It fits developers who want to design a mock visually on a laptop and then run the same environment headless in a pipeline. Mockoon Pro is a paid, private, self-hosted platform that adds data synchronization and SSO. Ask whether your team needs those paid capabilities or can keep environment files in Git.

Matching the mock to your runtime

Choose by where the mock must execute: inside a unit test process, as a shared service in a cluster, or as a short-lived container in CI. Mismatched runtime is the most common reason a mock layer is abandoned. Document which host runs each mock, who owns its definitions and how the definitions are versioned alongside the consuming service.

Licensing and paid add-ons

All three core projects are permissively licensed, so self-hosting carries no license fee for the open-source editions. The recurring costs come from the people who maintain the mocks, the hosting for any shared service and the paid tiers you choose to adopt. Ask vendors and integrators to separate those components in a written scope before comparing totals with a hosted mock service.

Where each mock server runs: desktop, CI or shared service

A developer usually needs a mock while building a client against a service that is not finished, or against a partner API that is slow or unavailable during development. Mockoon fits this case because its desktop app lets you define endpoints, responses and rules in a graphical editor and run them on the machine that runs the code under test.

  • Mockoon desktop app: Build routes and responses locally, then start the mock while you work on the client.
  • Definitions in the repository: Keep the mock environment with the code it supports, and confirm the export and import steps in Mockoon's documentation before relying on them.
  • Workstation-only data: Sample responses stay on the developer's device unless someone shares the file, which suits test data that should not leave a laptop.
  • Separate paid option: Mockoon Pro is a private, self-hosted platform that adds data synchronization and SSO. The desktop app itself is the open-source path.

Before rollout, check whether your endpoint security policy allows local servers on developer machines and whether the mock ports clash with other local tools.

Keeping Bruno, Hoppscotch and the mock servers working together

Once mocks run on your own hosts, the client collections that call them need the right base URLs and a single source of truth. The cards below cover how Bruno and Hoppscotch point at mocks, how imported Postman collections fit into one workflow, and how to keep mock definitions beside the API specifications in Git.

Pointing collections at mock base URLs

Bruno and Hoppscotch both let you define environments with a base URL variable, so the same requests can target a Microcks, WireMock or Mockoon endpoint in one environment and the real service in another. Keep the mock host in a non-production environment file and confirm that no production credentials are copied into it. Check that each request resolves the variable before you run the collection in CI.

Bruno files stored in Git

Bruno keeps collections as files in a local folder, so the request files can sit in the same repository as the OpenAPI or AsyncAPI specification they describe. Commit the environment files with secret values removed and reference secrets through your secret manager. Review changes to request files in pull requests the same way you review code.

Hoppscotch workspaces on PostgreSQL

Hoppscotch Community Edition stores team workspaces in the PostgreSQL database set through DATABASE_URL, so collections and environments are not files in Git by default. Decide whether the database or an exported collection file is the record that reviewers trust. Back up the database on the same schedule as the mock definitions it references, and document how an exported collection is restored.

Importing Postman collections into one workflow

Postman collections can enter the workflow through Microcks, which generates mocks and contract tests from them, or through the Bruno and Hoppscotch importers, which create client collections. Choose one import path as the owner and regenerate the other from it, so a single Postman export does not become three diverging copies. Check the script translation notes after import, because Bruno flags Postman-specific packages as unsupported.

Avoiding two sources of mock truth

The main risk is keeping mock responses in the mock server and expected responses in the client collection, which then drift apart and make tests pass against stale data. Pick the OpenAPI, AsyncAPI or contract file as the single definition, generate mocks from it, and have client tests assert against the same schema. Schedule a periodic check that the mock and the specification still agree.

Storing mock definitions beside specifications

Keep Microcks artifacts, WireMock mapping files and Mockoon environment files in the same repository as the API specifications and client collections, in folders with stable names. Version them together so a specification change and its matching mock change land in one commit. Confirm with your Git hosting and CI setup which folder layout your pipeline reads, and document it in the repository README.

Moving Postman mocks into self-hosted servers

This sequence moves mock endpoints out of Postman's cloud and into servers you run, so that client and CI traffic goes to base URLs you control. The result is a tested set of mocks with a documented source, a known base URL for each consumer, and a retired cloud dependency.

  1. Inventory existing Postman mock servers

    Ask the API owner or the person who created each mock to list every Postman mock server, its collection, the example responses it returns, and which teams, scripts or CI jobs call its URL. Record the mock URL, the request paths and methods, and any response delays or headers that tests depend on. The inventory is complete when every mock URL that appears in a collection, environment or pipeline has a named owner and a known consumer.

  2. Export collections as Collection v2 or v2.1 JSON

    Export each collection that contains the mock requests, plus its environments, as Collection v2 or v2.1 JSON from Postman. Store the files in a restricted repository, because collections and environments can contain embedded credentials. Check each file opens and lists the expected requests. Bruno and Hoppscotch both import these formats, so the exported files are the input for the later import step.

  3. Choose the mock source for each API

    For each API, decide whether the mock will come from a specification or from recorded stubs. Microcks can generate mocks from OpenAPI, AsyncAPI, gRPC, GraphQL, Postman collections and SoapUI projects. WireMock stubs are written as mapping files or through its API, and Mockoon uses its own environment files. Confirm with the API owner which source is the authoritative contract, because a mock built from a stale example will keep returning stale data. The output is a written decision per API.

  4. Confirm what the importers do not carry over

    Bruno and Hoppscotch importers handle collections and environments, not the configuration of a Postman mock server. Confirm with a test import whether the example responses, mock server settings, delays, and any mock-specific headers reach the target tool, and list the items that do not. Also confirm which Postman script packages Bruno flags as unsupported. The output is a gap list that someone must rebuild by hand before cutover.

  5. Load mocks into the chosen self-hosted server

    Deploy the chosen server in your own infrastructure: WireMock as a container, standalone process or embedded library, Microcks as a self-hosted instance, or Mockoon through its CLI image or desktop app. Load the stubs or specification into it, then send a request to each mock path and compare the status code and body with the Postman mock's recorded examples. The step is done when every path in the inventory returns the expected response from the new host.

  6. Point clients and CI jobs at the new base URLs

    Update the base URL variable in each environment and each CI job that called a Postman mock, so consumers call the self-hosted endpoint. Keep the URL in an environment variable rather than hard-coding it in requests, so one change covers every collection. Run the affected test collections once from the command line, such as the Bruno CLI or the Hoppscotch CLI, and confirm that the JUnit or other report shows the same pass results as before.

  7. Retire the cloud mocks after a parallel run

    Run the old and new mocks side by side for a period agreed with the owners of the affected teams, comparing responses for the full set of paths. Once no consumer calls the Postman mock URLs, disable each Postman mock server and record the change, the date and the owner in the migration log. Keep the exported collections in version control as the archive. The step closes when the inventory shows zero active callers of the cloud mocks.

What the mock server move costs in people, hosting and upkeep

The licenses for WireMock, Microcks and Mockoon cost nothing to acquire, so the budget goes to the work around them. Hosting is the first recurring line. WireMock and Mockoon can run as an embedded library, a standalone process or a container, and the Mockoon CLI can run headless in a pipeline, so their hosting needs are usually small. Microcks is heavier: it is a multi-component platform that is normally deployed as containers or on a Kubernetes cluster, and that cluster carries its own compute, storage and monitoring costs. Ask your platform team to price Microcks as a service they will operate, not as a tool a developer runs on a laptop.

Engineering time is the largest one-time cost. Someone must turn the stubs your team used in Postman mock servers into WireMock mappings, Mockoon environments or Microcks artifacts, and every stub that used Postman-specific scripting needs rewriting. Plan the authoring work as a project with an owner and a list of endpoints, and confirm the scope before you start. Pipeline changes are also one-time: test jobs must point at the new mock URLs, and the CI runner must start the mock before tests run. Recurring costs follow from these choices. Mock definitions drift when the upstream API changes, so someone must keep OpenAPI, AsyncAPI or collection sources current. Each upgrade of the mock runtime needs regression testing, and security patches to the container images or base operating system fall to your team unless you contract support.

Several factors move these costs up or down. An API with few endpoints and stable contracts keeps authoring and upkeep low, while frequent schema changes raise them. Generating mocks from specifications rather than hand-writing stubs reduces the authoring effort but adds a dependency on spec quality. Running mocks in a shared cluster may spread the Microcks overhead across teams, while a single team may be better served by a container next to its tests. Before you commit, ask an implementation partner or your own staff to write a written scope covering endpoints, hosting model, CI changes, upgrade cadence and who answers for security patches. Confirm current resource requirements with each project's documentation, since they change between releases.

Questions teams ask before replacing Postman mock servers

Can a team replace Postman mock servers on its own?

Yes, a team with an engineer who knows its HTTP stack can run WireMock, Microcks or Mockoon without outside help, because all three are open-source and run on infrastructure you control. The harder part is usually not installing the tool but deciding which services need mocks, who owns each stub or mock definition, and how those definitions get reviewed when the real API changes. Teams with several services, shared contracts and a CI pipeline that depends on mocks tend to need more time for that governance work than for the setup itself. Ask whether your engineers have time to maintain mocks alongside their product work, since that time is the main recurring effort.

What drives the cost of replacing Postman mocks?

The cost has three parts: the software, which is free under the Apache-2.0 and MIT licenses of WireMock, Microcks and Mockoon, the hosting, and the people time. Hosting covers a container host or CI runners for the mock services, and the size of that host grows with the number of mocked APIs and the traffic your tests send. People time is the largest item and recurs, covering mock definition upkeep, CI wiring and support for developers. Mock tooling costs also drop when specifications already exist in OpenAPI or AsyncAPI, because the tool can generate mocks from them. Ask any implementation partner for a quote that lists these components separately, with one-time setup and recurring upkeep shown apart.

How long does it take to move mocks off Postman?

The duration depends mostly on how many APIs need mocks, how many already have a usable OpenAPI, AsyncAPI or Postman collection file, and how much CI integration you want. Teams with clean specifications can often move a small set of mocks quickly, while teams with undocumented services need time to write or recover definitions first. Each mocked API adds review and testing work, and mocks that feed contract tests take longer to validate than simple stubs. No duration is set by any supplied fact, so ask the team for a plan that breaks the work into the APIs, the hosting and the CI changes, and ask for a written timeline based on that scope.

What does the team need before starting a self-hosted mock setup?

The team needs three things: a Git repository for mock definitions, a host that can run containers or Java and Node.js processes, and the API specifications or example responses that the mocks will serve. Keeping definitions in Git lets reviewers see changes the same way they see code changes, and it gives CI a single source to load from. The container host can be a server, a Kubernetes cluster or CI runners, depending on where your tests run. Specifications are the most often missing item, because many teams only have live APIs or Postman collections. Mockoon also works from a desktop app, which is useful for local development without a shared host.

Can Microcks fully replace Postman mock servers?

Microcks covers many Postman mock use cases, since it generates mocks from OpenAPI, AsyncAPI, gRPC, GraphQL, Postman collections and SoapUI projects, and it can run contract tests against those mocks. It does not cover every Postman feature, so confirm the specific mock behavior your team relies on, such as particular response scripting or dynamic logic, before you decide. Microcks is a Cloud Native Computing Foundation incubating project under Apache-2.0, and its current stable line is 1.15.0, so check that version against your deployment plan. Teams that need simple, scripted stubs inside tests often pair Microcks with WireMock or Mockoon rather than expecting one tool to do everything.

When should a team bring in outside help for mock migration?

Bring in outside help when the migration spans many services, when mocks must run inside a regulated or air-gapped network, or when the team lacks people to maintain the new setup. DeployOpen plans, implements, integrates, hardens, documents and supports self-hosted open-source platforms inside a client's own infrastructure, and most engagements are fixed-scope, with scope, deliverables and timelines agreed in writing before work starts. Ongoing support and upgrades are available as retainers. Ask for a written scope that names the APIs, the hosting target, the CI integration and the handover, and compare it with what your own team can staff.

Does Mockoon work for CI pipelines and not only desktop use?

Yes, Mockoon ships as a desktop app, as the @mockoon/cli npm package for headless and CI use, and as the mockoon/cli Docker image. That makes it useful for local development and for pipeline runs that need a predictable stub on a runner. The desktop app is MIT licensed, and the paid Mockoon Pro adds a private, self-hosted platform with data synchronization and SSO, which you only need if teams must share mock environments across machines. Confirm how your pipeline will load mock definitions and where those files are stored, because keeping them in Git is the usual way to review changes.

How DeployOpen scopes a mock server replacement

DeployOpen plans and implements self-hosted mocking inside your own infrastructure, whether that is your cloud accounts, data centers or an air-gapped network. Work usually runs under a fixed scope that is agreed in writing before anything is built, and a quote follows from that written scope. The scope is the document that decides which mock tools are needed, where they run and who signs off each piece, so it is worth settling before any vendor conversation about cost.

The first decisions are inventory and placement. List every Postman mock server in use, the collections or OpenAPI, AsyncAPI or GraphQL sources behind each one, and the consumers that call them, including CI jobs. Then decide per workload whether WireMock (for hand-written stubs and embedded Java tests), Microcks (for mocks and contract tests generated from specifications and collections) or Mockoon (for desktop use and headless runs through @mockoon/cli) fits. The scope should also name where each runs: a shared internal host, a Kubernetes cluster, a CI runner or a developer machine. Confirm each tool's license and the current release line directly with its project before the scope is final.

The scope should also state what is out of it. Ask for a written list covering who maintains the mock definitions after handover, how mocks are versioned in Git, how access to internal mock endpoints is restricted, and what is retained in logs. Confirm with your own security and procurement teams which data the mocks may contain, since recorded requests can carry credentials. Acceptance criteria, support after handover and any retainer for upgrades are separate line items, so ask for them to be listed explicitly. Expect the quote to change if the inventory grows during discovery, which is why the written scope needs a defined change process.

How DeployOpen delivers API mock replacement

DeployOpen plans, implements, customizes, integrates, hardens, documents and supports self-hosted open-source mock services inside your own cloud accounts, data centers or air-gapped networks. For Postman mock servers, that means moving stubs out of Postman's cloud and into WireMock, Microcks or Mockoon running where your test environments already live.

How we scope

  • List every Postman mock your teams depend on, including its routes, responses and the consumers that call it.
  • Decide per mock whether WireMock, Microcks or Mockoon fits, based on the source specification and where tests run.
  • Agree the scope, deliverables and timelines in writing before any work starts, since engagements are fixed-scope.
  • Confirm which environments need the mocks, such as developer laptops, shared test clusters or CI runners.

How we build

  • Deploy the chosen mock service in your infrastructure, with its container or binary packaged for your registry.
  • Convert exported Postman collections or OpenAPI and AsyncAPI definitions into mock definitions and check each response.
  • Wire mocks into CI pipelines so tests call the same stub endpoints every run, using the mock's own test reporting.
  • Keep mock definitions, responses and any credentials out of source control, using your approved secrets store.

How we hand over

  • Document each mock's location, owner, definition files, update procedure and the consumers that depend on it.
  • Provide runbooks for adding, versioning and retiring mock definitions, so teams can change stubs without the Postman account.
  • Record what Postman features were not replaced, such as cloud-hosted mock URLs, so consumers can plan changes.
  • Walk your engineering and platform teams through the deployed setup and the handover documentation.

How we support

  • Offer ongoing support, upgrades and continuous testing of the mock services as a retainer if you want them.
  • Track upgrades to WireMock, Microcks and Mockoon releases and plan them against your test schedules.
  • Ask us to confirm current licensing terms and any paid editions before you rely on them in production.
  • Provide the support scope, response expectations and fees in the written quote, not in general terms.

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.