Comparison of API simulation tools: Difference between revisions

Content deleted Content added
m {{verth}}
Citation bot (talk | contribs)
Added title. Changed bare reference to CS1/2. | Use this bot. Report bugs. | Suggested by Лисан аль-Гаиб | #UCB_webform 33/74
 
(21 intermediate revisions by 9 users not shown)
Line 1:
<!-- Please do not remove or change this AfD message until the discussion has been closed. -->
{{Article for deletion/dated|page=Comparison of API simulation tools|timestamp=20250821145228|year=2025|month=August|day=21|substed=yes|help=off}}
<!-- Once discussion is closed, please place on talk page: {{Old AfD multi|page=Comparison of API simulation tools|date=21 August 2025|result='''keep'''}} -->
<!-- End of AfD message, feel free to edit beyond this point -->
{{Multiple issues|
{{External links|date=August 2025}}
{{Promotional|date=August 2025}}
{{Expert needed|reason=appears to be SEO hijacking of external links in this article, unclear how to rewrite in an encyclopedic tone|date=August 2025}}
{{Unreliable sources|date=August 2025}}
}}
The tools listed here support [[Emulator|emulating]]<ref name=technologyradarmoutebank>[https://www.thoughtworks.com/radar/tools/mountebank Thought Works Technology Radar Mountebank]</ref> or [[Simulation|simulating]] [[Application programming interface|APIs]] and [[software system]]s. They are also called<ref>[https://www.youtube.com/watch?v=Lesn4L3k6HE Tom Akehurst at the Next Gen Service Virtualisation Forum]</ref> [[Application programming interface|API]] [[Mock object|mocking]] tools, [[service virtualization]] tools, over the wire [[test double]]s and tools for stubbing and mocking HTTP(S) and other protocols.<ref name=technologyradarmoutebank/> They enable component testing in isolation.<ref>[https://martinfowler.com/articles/microservice-testing/#testing-component-introduction Martin Fowler, Microservce Testing, Component Testing]</ref>
 
In alphabetical order by name (click on a column heading to sort by that column):
{{sort-under}}
 
{| class="wikitable sortable sort-under"
! Name !! [[Free and open-source software|FOSS]] !! Free !! Supported protocols and APIs !! {{verth|Has a [[Graphical user interface|GUI]]}} !! Scriptable/Programmable !! {{verth|va=middle|[[Docker (software)|Docker]] support}} !! {{verth|va=middle|Cloud offering}}
|-
| API Simulator || {{no}}; Proprietary<ref>[https://apisimulator.io/license-agreement/ API Simulator License Agreement]</ref> || {{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}}<ref>[https://apisimulator.io/doc/api-simulation-modeler/ API Simulation Modeler]</ref> || {{yes}}<ref>[https://apisimulator.io/doc/standalone-api-simulator-scripting/ Scripting in API Simulator]</ref><ref>[https://apisimulator.io/doc/standalone-api-simulator-template-scriptlets/ Simula Template Scriptlets]</ref> || {{yes}}<ref>[https://apisimulator.io/doc/api-simulator-in-docker-container/ API Simulator in Docker Container]</ref> || {{no}}
|-
| [https://www.apiui.org/ apiUi] <ref>[https://www.apiui.org/ apiUi how to mock api calls? how to test api calls?]</ref> || {{yes}}; GPL v3.0<ref>[https://github.com/apiUi/apiUi/blob/main/COPYING apiUi License]</ref> || {{yes}} || HTTP(S); STOMP, WSDL; Swagger; OpenAPI; Cobol || {{yes}}<ref>[https://www.apiui.org/apiuigui/ The apiUi GUI]</ref> || {{yes}}<ref>[https://www.apiui.org/scripting/ apiUi Scripting; adding dynamics]</ref> || {{yes}}<ref>[https://hub.docker.com/repository/docker/apiui/apiuiserver apiUi Docker]</ref> || {{no}}
|-
| Beeceptor <ref>[https://beeceptor.com/service-virtualization/ Beeceptor eases API development and testing by allowing mocking, intercepting and MITM proxies]</ref> || {{no}}; Proprietary<ref>[https://beeceptor.com/pricing Beeceptor pricing]</ref> || {{yes}} (Free plan) || HTTP1.1; HTTP2; HTTP(S); SOAP, MITM/Proxing; Swagger; OpenAPI; TLS 1.2; XML; Local tunneling || {{yes}}|| {{yes}}<ref>[https://docs.beeceptor.com/docs/features-response-templates Handlebar templates for scripting; adding dynamic responses]</ref> || {{yes}} || {{yes}}
|-
| Camouflage || {{yes}}; MIT<ref>[https://github.com/testinggospels/camouflage/blob/main/LICENSE Camouflage License]</ref> || {{yes}} || HTTP(S), HTTP/2 gRPC, Websockets, Thrift || {{yes}}<ref>[http://camouflage-server.herokuapp.com/ Camouflage UI]</ref> || {{yes}}<ref>[https://testinggospels.github.io/camouflage/handlebars/#code Scripting in Camouflage]</ref> || {{yes}}<ref>[https://hub.docker.com/repository/docker/shubhendumadhukar/camouflage Camouflage Docker]</ref> || {{no}}
|-
| Castle Mock || {{yes}}; [[Apache License|Apache 2]]<ref>[https://github.com/castlemock/castlemock/blob/master/LICENSE Castle Mock License]</ref> || {{yes}} || HTTP(S) || {{yes}} || {{yes}} || {{yes}} || {{no}}
|-
| Charles Proxy || {{no}}; Proprietary<ref>[https://www.charlesproxy.com/buy/eula/ Charles Proxy EULA]</ref> || {{no}} || HTTP(S) || {{yes}} || {{no}} || {{no}} || {{no}}
Line 20 ⟶ 28:
| Ekko Proxy || {{no}}; Proprietary || {{yes}} (non commercial use)<ref>[https://www.ekkoproxy.com/eula.html Ekko Proxy License Agreement]</ref> || HTTP(S), JDBC; WSDL, Swagger, OpenApi, JWT. || {{yes}}<ref>[https://www.ekkoproxy.com/usage.html Ekko Proxy Usage]</ref> || {{yes}} (Scriptable) || {{yes}} || {{no}}
|-
| [https://www.github.com/kendarorg/HttpAnsweringMachine 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}}
|-
| [https://hoverfly.io Hoverfly ] || {{yes}}; [[Apache License|Apache 2]]<ref>[https://github.com/SpectoLabs/hoverfly/blob/master/LICENSE Hoverfly license]</ref> || {{yes}} || HTTP(S) || {{yes}} || {{yes}} || {{yes}} || {{yes}} <ref>[https://cloud.hoverfly.io Hoverfly Cloud]</ref>
|-
| HTTP Toolkit || {{yes}}; [[GNU Affero General Public License|AGPL]]<ref>[https://github.com/httptoolkit/httptoolkit-desktop/blob/master/LICENSE HTTP Toolkit license]</ref> || {{yes}} (Hobbyist Edition)<ref>[https://httptoolkit.tech/pricing/ HTTP Toolkit tiers]</ref> || HTTP(S) || {{yes}} || {{no}} || {{no}} || {{no}}
Line 30 ⟶ 38:
| Karate || {{yes}}; [[MIT License|MIT]]<ref>[https://github.com/intuit/karate/blob/master/LICENSE Karate license]</ref> || {{yes}}|| HTTP(S), Java interop<ref name="Karate-Netty home page">[https://github.com/intuit/karate/tree/master/karate-netty Karate-Netty home page]</ref> || {{no}} || {{yes}}<ref name="Karate-Netty home page"/> || {{no}} || {{no}}
|-
|Keploy
| [https://microcks.io/ Microcks] || {{yes}}; [[Apache License|Apache 2]]<ref>[https://github.com/microcks/microcks/blob/master/LICENSE Microcks License]</ref> || {{yes}} || HTTP(S), SOAP, gRPC, GraphQL, AsyncAPI<ref>[https://microcks.io/documentation/using/ Using Microcks]</ref> || {{yes}} || {{yes}} || {{yes}} || {{no}}
|Yes
|Yes
|HTTP(S), OpenAPI, gRPC
|Yes
|Yes
|Yes
|Yes
|-
|LogDog|| {{no}}; Proprietary<ref>[https://log.dog LogDog]</ref> || {{no}}
|HTTP(S), HTML, XML, JSON, Replay, Real-Time-Monitoring, 1-Click-Mocks|| {{yes}} || {{yes}}|| {{no}} || {{yes}}
|-
| Castle MockMicrocks || {{yes}}; [[Apache License|Apache 2]]<ref>[https://github.com/castlemockmicrocks/castlemockmicrocks/blob/master/LICENSE Castle MockMicrocks License]</ref> || {{yes}} || HTTP(S), SOAP, gRPC, GraphQL, AsyncAPI<ref>[https://microcks.io/documentation/using/ Using Microcks]</ref> || {{yes}} || {{yes}} || {{yes}} || {{no}}
|-
|Mockadillo|| {{no}}; Proprietary || {{no}}
Line 37 ⟶ 57:
| Mocklets || {{no}}; Proprietary<ref>[https://mocklets.com/terms Mocklets Terms of Use]</ref> || {{yes}} || HTTP(S) || {{yes}} || {{no}} || {{no}} || {{yes}} <ref>[https://mocklets.com/ Mocklets]</ref>
|-
|[https://mockoon.com Mockoon] || {{yes}}; [[MIT License|MIT]]<ref>[https://github.com/mockoon/mockoon/blob/master/LICENSE.md Mockoon license]</ref> || {{yes}}
|HTTP(S)<ref>{{Cite web|url=https://mockoon.com/features/|title=Mockoon|website=Mockoon features page}}</ref>|| {{yes}} || {{yes}} || {{yes}} <ref>[https://hub.docker.com/r/mockoon/cli Mockoon CLI dockerhub]</ref> || {{no}}
|-
| [[MockServer ]]|| {{yes}}; [[Apache License|Apache 2]]<ref>[https://github.com/jamesdbloom/mockserver/blob/master/LICENSE.md MockServer License]</ref> || {{yes}} || HTTP(S) || {{yes}}<ref>[https://github.com/jamesdbloom/mockserver-ui MockServer Dashboard]</ref> || {{yes}} || {{yes}} || {{no}}
|-
|[https://mock.qa mock.qa] || {{no}}; Proprietary || {{yes}} (Free plan)<ref>[https://github.com/marketplace/mockqa-grpc/plan/MLP_kgDNHMU#pricing-and-setup Mock.qa: Free plan on GitHub Markeplace]</ref> || gRPC, gRPC-web, HTTP/1.x, HTTP/2<ref>[https://mock.qa/docs/supported-protocols Mock.qa: Supported protocols]</ref> || {{yes}}<ref>[https://mock.qa/docs/playground Mock.qa: Playground]</ref> (Web) || {{yes}}<ref>[https://mock.qa/docs/yaml-config Mock.qa: Configuration]</ref><ref>[https://mock.qa/docs/examples Mock.qa: Configuration examples]</ref> (Scripting language,<ref>[https://mock.qa/docs/scripting-language Mock.qa: Scripting language]</ref> Request matching,<ref>[https://mock.qa/docs/request-matching Mock.qa: Request matching]</ref> Response templating,<ref>[https://mock.qa/docs/response-templating Mock.qa: Response templating]</ref> Data generation,<ref>[https://mock.qa/docs/data-generation Mock.qa: Data generation]</ref> Stateful scenarios<ref>[https://mock.qa/docs/stateful-scenarios Mock.qa: Stateful scenarios]</ref>) || {{no}} || {{yes}}
|-
| Mountebank || {{yes}}; [[MIT License|MIT]]<ref>[https://github.com/bbyars/mountebank/blob/master/LICENSE Mountebank license]</ref> || {{yes}}|| HTTP(S), TCP, SMTP<ref>[http://www.mbtest.org/ Moutebank home page]</ref> || {{no}} || {{yes}}<ref>[http://www.mbtest.org/docs/api/injection Mountebank injection]</ref> || {{yes}}<ref>[https://blog.codecentric.de/en/2015/06/mock-server-powered-by-mountebank-and-docker/ Running Mountebank in Docker]</ref> || {{no}}
|-
|NetOcean
|[https://www.cavisson.com/netocean/ NetOcean]
|{{No}}; Proprietary
|{{no}}
Line 74 ⟶ 94:
| [[Postman (software)|Postman]] || {{No}}; Proprietary || {{yes}} (Free Edition)<ref>[https://www.postman.com/pricing/ Postman Pricing]</ref>|| HTTP(S) || {{yes}} || {{yes}} (JSON Examples)|| {{no}} || {{yes}}
|-
| [https://proxyman.io ProxyMan] || {{no}}; Proprietary || {{yes}},<ref>[https://proxyman.io/pricing Proxyman Pricing]</ref> (Limited) || HTTP(S), Websockets || {{yes}} || {{yes}}<ref>[https://docs.proxyman.io/scripting/script Proxyman scripting]</ref>|| {{no}} || {{no}}
|-
| [https://proxyman.io ProxyMan] || {{no}}; Proprietary || {{yes}},<ref>[https://proxyman.io/pricing Proxyman Pricing]</ref> (Limited) || HTTP(S), Websockets || {{yes}} || {{yes}}<ref>[https://docs.proxyman.io/scripting/script Proxyman scripting]</ref>|| {{no}} || {{no}}
|-
|QuickMocker || {{No}}; Proprietary || {{yes}} (Free Subscription)<ref>[https://quickmocker.com/#pricing QuickMocker Pricing]</ref>|| HTTP(S) || {{yes}} || {{yes}}<ref>[https://quickmocker.com/faq QuickMocker RegExp & Shortcodes]</ref> || {{no}} || {{yes}}
Line 81 ⟶ 100:
|Rapidmock || {{No}}; Proprietary<ref name=rapidmockhomepage>[https://rapidmock.com/ Rapidmock home page]</ref> || {{yes}} (Free Edition)|| HTTP(S) || {{yes}} || {{no}}|| {{no}} || {{yes}}
|-
| [https://requestly.com Requestly] || {{yes}}; GPL v3.0<ref>{{Cite web|url=https://github.com/requestly/requestly/blob/master/LICENSE|title = requestly/requestly|website = [[GitHub]]}}</ref> || {{yes}}<ref>[https://app.requestly.io/pricing Requestly Pricing]</ref> || HTTP(S)|| {{yes}} || {{Yes}} || {{No}} || {{Yes}}<ref>[https://requestly.com/blog/simplifying-api-testing-with-requestly-api-mock-service/ Requestly Clound Based Mock Server]</ref>
|-
| sMockin || {{yes}}; [[Apache License|Apache 2]]<ref>{{Cite web|url=https://github.com/mgtechsoftware/smockin/blob/master/LICENSE|title = Matthewgallina/Smockin|website = [[GitHub]]|date = 27 March 2022}}</ref> || {{yes}} || HTTP, Websockets, Server Side Events, plus tools for real time monitoring & live response modification || {{yes}} || {{yes}} || {{yes}} || {{no}}
Line 90 ⟶ 109:
|HTTP(S)|| {{yes}} || {{yes}} || {{no}} || {{yes}}
|-
| [https://specmatic.in/#contract-as-stub specmatic.in]Specmatic || {{yes}}; [[MIT License|MIT]]<ref>{{cite web | url=https://github.com/znsiospecmatic/specmatic/blob/main/License.md | title=Specmatic | website=[[GitHub]] }}</ref> || {{yes}} (Basic Plan) <ref>{{cite web | title=Pricing - Specmatic | url=https://specmatic.io/pricing/ }}</ref> || HTTP(S), Swagger, OpenAPI, WSDL, Kafka, (WIP)AsyncAPI, GraphQL, gRPC, Arazzo, Protobuf, JDBC, Redis, JMS, Google Pub/Sub <ref>[https://docs.specmatic.io/]</ref>|| {{noyes}} <ref>[https://specmatic.io/specmatic-studio/ Specmatic Studio]</ref>|| {{yes}} || {{noyes}} || {{noyes}}
|-
|simulado
Line 103 ⟶ 122:
| SoapUI MockServer || {{yes}}; [[European Union Public Licence|EUPL]]<ref>[https://github.com/SmartBear/soapui/blob/next/LICENSE.txt SoapUI Licence]</ref> || {{yes}} || HTTP(S)<ref name=sopauidocumentation>[https://www.soapui.org/soap-mocking/service-mocking-overview.html SoapUI MockServer documentation]</ref> || {{yes}}<ref name=sopauidocumentation/> || {{no}}<ref name=sopauidocumentation/> || {{no}}<ref name=sopauidocumentation/> || {{no}}<ref name=sopauidocumentation/>
|-
|[https://speedscale.com Speedscale]
|{{No}}; Proprietary
|{{Yes}}, (Free Trial)<ref>{{cite web |title=Speedscale Free Trial Version |url=https://speedscale.com/ |website=Speedscale |access-date=2024-03-20}}</ref>
Line 114 ⟶ 133:
| Stoplight || {{yes}}; [[Apache License|Apache 2]]<ref>[https://github.com/stoplightio/prism/blob/master/LICENSE Prism Licence]</ref> || {{yes}} (Free Edition)<ref>[https://stoplight.io/pricing/ Stoplight Pricing]</ref>|| HTTP(S) and generate mocks directly from OpenAPI || {{yes}} || {{yes}} || {{yes}} || {{yes}}
|-
| [https://www.github.com/kendarorg/theTPM-protocol-master The Protocol Master]Proxy || {{yes}}; MIT || {{yes}} || Direct Wire Protocol implementation: HTTP(S), SOAP, MITM/Proxing, SwaggerOpenAPI, XML, JSON, Jackson-Smile, Brotli, MongoDb, Postgres, MySQL, AMQP 091, MQTT, REDIS, Record, Replay, Modify || {{yes}} (Swagger)|| {{yes}} (Java Plugins) || {{yes}} || {{no}}
|-
| Traffic Parrot
| {{no}}; Proprietary<ref name=trafficparrothomepage>[http://trafficparrot.com/ Traffic Parrot home page]</ref>
| {{no}};<ref>[https://trafficparrot.com/buy.html Traffic Parrot pricing]</ref>
| 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 <ref>[https://trafficparrot.com/documentation/?redirectToLatest=true&path=/data_sheet.html Traffic Parrot data sheet]</ref>
 
In beta:<ref>[https://trafficparrot.com/beta.html Traffic Parrot list of beta features]</ref>
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}}<ref name=trafficparrothomepage/>
| {{yes}}<ref>[http://trafficparrot.com/documentation/5.30.x/dynamic.html Traffic Parrot Dynamic Responses Documentation]</ref>
| {{yes}}<ref name=trafficparrothomepage/>
| {{yes|Yes}}<ref>[http://trafficparrot.com/documentation/5.30.x/user_guide.html#running-docker Traffic Parrot is compatible with Docker, Kubernetes and Openshift]</ref><ref name=trafficparrothomepage/>
|-
| tweak || {{no}}; Proprietary || {{yes}} || HTTP(S) || {{yes}} || {{no}} || {{no}} || {{no}}
|-
| Tricentis API Simulation|| {{no}}; Proprietary || {{yes}}(Free Edition)<ref name=ttaapisimlink>{{cite web | title=Discover Tricentis Tosca in the cloud | url=https://www.tricentis.com/products/tricentis-test-automation }}</ref>|| Http(s), AmazonSqs, AMQP, AzureServiceBus, Files, IbmMQ, Kafka, RabbitMQ, Solace || {{yes}} <ref name=ttaapisimlink/>|| {{yes}} <ref name=ttaapisimlink/>|| {{yes}} <ref>{{cite web | title=Simulate services | url=https://documentation.tricentis.com/tricentis_cloud/en/content/topics/sim_get_started.htm }}</ref>|| {{yes}} <ref name=ttaapisimlink/>
|-
| Wilma || {{yes}}; GPL v3.0<ref>[https://github.com/epam/Wilma/blob/master/COPYRIGHT.txt Wilma License]</ref> || {{yes}} <ref>[https://epam.github.io/Wilma/endusers/feature_list.html Wilma Feature list]</ref> || HTTP(S) || {{yes}} || {{yes}} || {{yes}} <ref>[https://github.com/epam/Wilma/wiki/Docker-image-of-Wilma Docker images of Wilma]</ref> || {{no}}
Line 170 ⟶ 153:
 
== References ==
{{Reflist}}
<!-- Inline citations added to your article will automatically display here. See https://en.wikipedia.org/wiki/WP:REFB for instructions on how to add citations. -->
[[Category:Software Comparisonscomparisons|API simulation tools]]
{{reflist}}
 
[[Category:Software Comparisons|API simulation tools]]