Comparison of API simulation tools: Difference between revisions

Content deleted Content added
m Qualified Free plan
Citation bot (talk | contribs)
Added title. Changed bare reference to CS1/2. | Use this bot. Report bugs. | Suggested by Лисан аль-Гаиб | #UCB_webform 33/74
 
(12 intermediate revisions by 6 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>
 
Line 8 ⟶ 18:
| 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}}
Line 18 ⟶ 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 28 ⟶ 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}}
|-
| [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}}
|-
|Mockadillo|| {{no}}; Proprietary || {{no}}
Line 35 ⟶ 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 72 ⟶ 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 79 ⟶ 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 88 ⟶ 109:
|HTTP(S)|| {{yes}} || {{yes}} || {{no}} || {{yes}}
|-
| [https://specmatic.io/ Specmatic] || {{yes}}; [[MIT License|MIT]]<ref>{{cite web | url=https://github.com/specmatic/specmatic/blob/main/License.md | title=Specmatic | website=[[GitHub]] }}</ref> || {{yes}} (FreeBasic EditionPlan) <ref>{{cite web | title=Pricing - Specmatic | url=https://specmatic.io/pricing/ }}</ref> || HTTP(S), Swagger, OpenAPI, WSDL, Kafka, AsyncAPI, GraphQL, gRPC, Arazzo, Protobuf, JDBC, Redis, JMS, Google Pub/Sub <ref>[https://docs.specmatic.io/]</ref>|| {{yes}} <ref>[https://specmatic.io/specmatic-studio/ Specmatic Studio]</ref>|| {{yes}} || {{yes}} || {{yes}}
|-
|simulado
Line 101 ⟶ 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 112 ⟶ 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/the-protocol-master TPM-Proxy] || {{yes}}; MIT || {{yes}} || Direct Wire Protocol implementation: HTTP(S), SOAP, MITM/Proxing, OpenAPI, XML, JSON, Jackson-Smile, Brotli, MongoDb, Postgres, MySQL, AMQP 091, MQTT, REDIS, Record, Replay, Modify || {{yes}} || {{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 168 ⟶ 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. -->
{{reflist}}
 
[[Category:Software comparisons|API simulation tools]]