Feature-rich and quite capable, API Simulator can be an indispensable tool in your development and testing toolbox. The features below are not roadmap items - they are available out-of-the-box, right now.
Run API Simulator on local workstations or dedicated servers. No need for an application server or external database.
Runs anywhere Java™ runs. Which is a very large set of platforms...
Run multiple instances on the same host. Each instance can be for the same or different simulations.
No Coding Required
Configuration-driven simulations can cover broad set of use cases.
Designed and developed as a framework, with numerous extension points.
Extendable by Scripting
API Simulator can simulate APIs exposed over both text and binary protocols.
Current focus is on HTTP 1.1 and HTTP 1.0 APIs. ReST, SOAP, RPC style APIs... Using JSON, XML, or different payload...anything based on HTTP.
TLS (HTTPS) Support
Support for TLS/SSL using X.509 certificate and private key in PEM format, run-time generated self-signed cert, or Java KeyStore in JKS Format.
Callable as HTTP/S Proxy
Do not change the application/service configuration but, instead, configure the HTTP client to use API Simulator as HTTP/S proxy. No special startup arguments required.
Change the configuration of the application/service to call the API Simulator's endpoint instead that of the actual API. No special startup arguments required.
Forwarding Unrecognized Requests
Unmatched requests can be forwarded to their actual destination and the live responses passed back to the client instead of returning a default simulated output.
Extensive Input Matching
Multi-key input matching by URI (route), URI path pattern, any URI part, HTTP Method, HTTP Header fields, and values from the payload.
Preconfigured Input Parameters
Design-time default parameters overwritable at run-time.
Dynamic Input Parameters
Parameters from the input used in matching the request and constructing the output. Support also for design-time default parameters overwritable at run-time.
The power of output dynamically changing even for the same input - date and time values, computations, parameters from the input, lookups in external data store...
This is easy but useful sometimes - returning static, fixed output for a given input.
Default Simulated Output
Designated default output to return when the input can't be recognized. For example, returning static or dynamic "404 Not Found" response.
Flexible templating system unique to API Simulator drives dynamic output generation. It uses placeholders for dynamic values with support for dependencies between placeholders.
CSV Parameters Source
CSV (comma-delimited value) files as source for parameters to include in dynamic output.
SQL Parameters Source
Relational database as the source and SQL statements to retrieve parameters to include in dynamic output.
Streaming of output is always "on" to reduce API Simulator's memory requirements.
Large Content Download
Simulations that stream large content, even bigger than 2GB (!), with only few MB of memory.
Configurable delay in sending output to simulate latency and API slowness.
HTTP API Fidelity
Support for HTTP protocol-specific features like chunked transfer encoding even for dynamic output, compressed output content (gzip, deflate), full support for "keep alive" connections, custom HTTP Header fields...
Capture raw HTTP traffic and save it into files with API Recorder. The recordings can greatly ease the modelling of API simulations.
Simple tool that reads raw HTTP requests from files and submits them to an API endpoint. Useful in testing API simulations and the responses they return.
It gets even better - fully functional API Simulator is free!
There is more, and more is coming. We will gladly look into any suggestions what features to add or how to improve API Simulator.
Meanwhile, give API Simulation Modeler a try - a browser-based UI for modeling API simulations. Stop muddling through config files or writing code to mock APIs!
Let us know what you think at [feedback at APISimulator.com]. Many thanks for your interest and support!
The API Simulator Team
All trademarks and registered trademarks are the property of their respective owners.