The tools listed here support emulating[1] or simulating APIs and software systems. They are also called[2] API mocking tools, service virtualization tools, over the wire test doubles and tools for stubbing and mocking HTTP(S) and other protocols.[1] They enable component testing in isolation.[3]
In alphabetical order by name (click on a column heading to sort by that column):
Name | FOSS | Free | Supported protocols and APIs | Has a GUI | Scriptable/Programmable | Docker support | Cloud offering |
---|---|---|---|---|---|---|---|
API Simulator | No; Proprietary[4] | Yes | HTTP/2 with TLS ALPN; HTTP/2 with prior knowledge; HTTP/2 upgrade from HTTP/1.1; HTTP/1.x with and without TLS/SSL; HTTP(S) | Yes[5] | Yes[6][7] | Yes[8] | No |
apiUi [9] | Yes; GPL v3.0[10] | Yes | HTTP(S); STOMP, WSDL; Swagger; OpenAPI; Cobol | Yes[11] | Yes[12] | Yes[13] | No |
Beeceptor [14] | No; Proprietary[15] | Yes (Free plan) | HTTP1.1; HTTP2; HTTP(S); SOAP, MITM/Proxing; Swagger; OpenAPI; TLS 1.2; XML; Local tunneling | Yes | Yes[16] | No | Yes |
Camouflage | Yes; MIT[17] | Yes | HTTP(S), HTTP/2 gRPC, Websockets, Thrift | Yes[18] | Yes[19] | Yes[20] | No |
Castle Mock | Yes; Apache 2[21] | Yes | HTTP(S) | Yes | Yes | Yes | No |
Charles Proxy | No; Proprietary[22] | No | HTTP(S) | Yes | No | No | No |
Ekko Proxy | No; Proprietary | Yes (non commercial use)[23] | HTTP(S), JDBC; WSDL, Swagger, OpenApi, JWT. | Yes[24] | Yes (Scriptable) | Yes | No |
HAM | Yes; MIT | Yes | HTTP(S), SOAP, MITM/Proxing, Swagger, XML, JSON, Jackson-Smile, Brotli, Record, Replay, Automatic tests, Schema verification, JDBC, MongoDb | Yes (Web) | Yes (Dynamic Javascript and Java Plugins) | Yes | No |
Hoverfly | Yes; Apache 2[25] | Yes | HTTP(S) | Yes | Yes | Yes | Yes [26] |
HTTP Toolkit | Yes; AGPL[27] | Yes (Hobbyist Edition)[28] | HTTP(S) | Yes | No | No | No |
Int4 IFTT | No; Proprietary | No | HTTP(S), Middleware virtualization: SAP Process Orchestration, SAP Intelligent Suite, Dell Boomi, Software AG Webmethods, SAP IDOCs | Yes | Yes | No | No |
Karate | Yes; MIT[29] | Yes | HTTP(S), Java interop[30] | No | Yes[30] | No | No |
Microcks | Yes; Apache 2[31] | Yes | HTTP(S), SOAP, gRPC, GraphQL, AsyncAPI[32] | Yes | Yes | Yes | No |
Mockadillo | No; Proprietary | No | HTTP(S)[33] | Yes | Yes | No | Yes |
Mocklets | No; Proprietary[34] | Yes | HTTP(S) | Yes | No | No | Yes [35] |
Mockoon | Yes; MIT[36] | Yes | HTTP(S)[37] | Yes | Yes | Yes [38] | No |
MockServer | Yes; Apache 2[39] | Yes | HTTP(S) | Yes[40] | Yes | Yes | No |
mock.qa | No; Proprietary | Yes (Free plan)[41] | gRPC, gRPC-web, HTTP/1.x, HTTP/2[42] | Yes[43] (Web) | Yes[44][45] (Scripting language,[46] Request matching,[47] Response templating,[48] Data generation,[49] Stateful scenarios[50]) | No | Yes |
Mountebank | Yes; MIT[51] | Yes | HTTP(S), TCP, SMTP[52] | No | Yes[53] | Yes[54] | No |
NetOcean | No; Proprietary | No | Web Services Protocols: HTTP, HTTPS, HTTP2, REST, SOAP, Hessian
Others: IMAP, FTP, DNS, XML, JSON, WebSocket ESB / Middleware Protocols, TIBCO JMS Database Protocols: JDBC Proprietary: TCP, UDP Platforms: TIBCO-EMS, IBM-MQ, Kafka SOA Protocols: SOAP, HTTP, XML, REST SMS Gateway Providers: SMTP, POP3 Bill Payments Services: Gift card- PINPAD, AJB |
Yes | Yes | Yes | Yes |
Parasoft Virtualize | No; Proprietary | Yes (Community Edition)[55] | AMQP, FIX, FTP, HTTP(S), ISO 8583, JMS, JDBC, MQ, MQTT, .NET WCF, RabbitMQ, SAP, TCP/IP, etc.[56] |
Yes | Yes | Yes[57] | Yes |
Postman | No; Proprietary | Yes (Free Edition)[58] | HTTP(S) | Yes | Yes (JSON Examples) | No | Yes |
ProxyMan | No; Proprietary | Yes,[59] (Limited) | HTTP(S), Websockets | Yes | Yes[60] | No | No |
QuickMocker | No; Proprietary | Yes (Free Subscription)[61] | HTTP(S) | Yes | Yes[62] | No | Yes |
Rapidmock | No; Proprietary[63] | Yes (Free Edition) | HTTP(S) | Yes | No | No | Yes |
Requestly | Yes; GPL v3.0[64] | Yes[65] | HTTP(S) | Yes | Yes | No | Yes[66] |
sMockin | Yes; Apache 2[67] | Yes | HTTP, Websockets, Server Side Events, plus tools for real time monitoring & live response modification | Yes | Yes | Yes | No |
Smocker | Yes; MIT[68] | Yes | HTTP(S)[69] | Yes | Yes | Yes | No |
SmartMock.io | No; Proprietary[70] | Yes [71] | HTTP(S) | Yes | Yes | No | Yes |
specmatic.in | Yes; MIT[72] | Yes | HTTP(S), Swagger, OpenAPI, WSDL, Kafka (WIP) | No | Yes | No | No |
simulado | Yes; MIT[73] | Yes | HTTP(S) | No | Yes | Yes | Yes |
SoapUI MockServer | Yes; EUPL[74] | Yes | HTTP(S)[75] | Yes[75] | No[75] | No[75] | No[75] |
Speedscale | No; Proprietary | Yes, (Free Trial)[76] | HTTP(S), gRPC, GraphQL webservices, Message queues, OSS Databases[77] | Yes | No, Not required. Traffic recording-based[78] | Yes | Yes |
Stoplight | Yes; Apache 2[79] | Yes (Free Edition)[80] | HTTP(S) and generate mocks directly from OpenAPI | Yes | Yes | Yes | Yes |
Traffic Parrot | No; Proprietary[81] | No;[82] | HTTP(S) including REST and SOAP
gRPC JMS (ActiveMQ TCP, ActiveMQ AMQP 1.0, Azure AMQP 1.0, RabbitMQ AMQP 0.9.1, IBM® WebSphere MQ 7.5+) Native IBM® WebSphere MQ 7.5+ Thrift AMQP 1.0 File transfers over a filesystem Amazon Simple Queue Service (SQS) Azure Service Bus AMQP 1.0 [83] In beta:[84] FIX, FAST, FIXatdl, SWIFT, MQTT, SonicMQ, Kafka, CORBA, FTP, SFTP, .NET WCF, RMI, MTP, TIBCO EMS, CICS, SAP RFC, JDBC, Mongo, Databases, OFX, IFX, RIXML, AS2, Amazon Simple Notification Service (SNS), AWS IoT Message Broker, XMPP, Google Cloud Messaging (GCM), Azure Event Grid, Azure Event Hubs, STOMP, Avro, HTTP/2 (HTTP2), LWM2M, CoAP (Constrained Application Protocol), ZeroMQ, Broker-J (BrokerJ), Qpid, QUIC and gQUIC (Google QUIC) |
Yes[81] | Yes[85] | Yes[81] | Yes[86][81] |
tweak | No; Proprietary | Yes | HTTP(S) | Yes | No | No | No |
Tricentis API Simulation | No; Proprietary | Yes(Free Edition)[87] | Http(s), AmazonSqs, AMQP, AzureServiceBus, Files, IbmMQ, Kafka, RabbitMQ, Solace | Yes [87] | Yes [87] | Yes [88] | Yes [87] |
Wilma | Yes; GPL v3.0[89] | Yes [90] | HTTP(S) | Yes | Yes | Yes [91] | No |
WireMock | Yes; Apache 2[92] | Yes | HTTP(S), gRPC, GraphQL | Yes | Yes | Yes | Yes [93] |
WireMock.Net | Yes; Apache 2[94] | Yes | HTTP(S) | No | Yes | Yes [95][96] | No |
Wiresham | Yes; Apache 2[97] | Yes | TCP | No | Yes | No | No |