API Simulator Features


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.

Lightweight

Run API Simulator on local workstations or dedicated servers. No need for an application server or external database.

Portable

Runs anywhere Java™ runs. Which is a very large set of platforms...

Co-locate Instances

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.

Extensible

Designed and developed as a framework, with numerous extension points.

Extendable by Scripting

Script anything not built-in yet. JavaScript and Groovy supported out-of-the-box.

API Polyglot

API Simulator can simulate APIs exposed over both text and binary protocols.

Web APIs

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.

Callable Directly

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.

Dynamic Output

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...

Static Output

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

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.

Output Streaming

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.

Latency Simulation

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...

API Recorder

Capture raw HTTP traffic and save it into files with API Recorder. The recordings can greatly ease the modelling of API simulations.

API Client

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!

 

We invite you to learn more about API Simulator, download it, and run the examples. Why not even create API simulations to help your own testing and development?

Let us know what you think at [feedback at APISimulator.com]. Many thanks for your interest and support!

 

Happy Simulations,
The API Simulator Team


All trademarks and registered trademarks are the property of their respective owners.