Benchmark your REST API – The easy way


I recently came across a great tool for benchmarking your APIs. It’s a nodejs tool written by Matteo Figus. Complete documentation on the tool could be found here

In this post I will provide simple tutorial for anyone to use this tool for their API’s


  • Create a folder and run navigate to the folder using your tool of choice for running node commands. I use Git Bash. Run the following command to install the api-benchmark package. This would require node to be installed beforehand.


  •  Now let’s add a new JavaScript file and name it as mybenchmark.js. We will require the benchmark tool


  •  In this example we will use the Giphy API. Giphy is a GIF search engine. So let’s define a few variables that we will use.


  •  Let’s add the routes which we want to test. In this example we will get the trending gifs.


  •  And finally we run the benchmark


  •  Here is the complete code of mybechmark.js for your convinence


  •  To see this in action we will run the benchmark by running the following command in your console.


  •  And you should see something like below.
Api-Benchmark 1

Api-Benchmark 1



  • This does show that our benchmark ran but we cannot interpret the results from here. To see that we will have to use the getHtml method available on api-benchmark.


  •  However this will dump the entire html on the console which is nearly impossible to understand.
API Benchmark 2

API Benchmark 2


  • We will now save this html to a file so that we can view the results like the way it was intended. Let’s require another package to help us do that


  •  Change the apiBenchmark.measure to save the html in a file


  •  To see this in action we will run the benchmark by running the following command in your console.


  • This would create a new html file (benchmarks.html) in your current folder with the results. It would look something like below. You see the details of your requests and your api is performing.
API Benchmark 3

API Benchmark Stats


  • It also has 2 more tabs which show Request Details and Response Details as well. All of this provides great insight into your APIs.
API Benchmark 4

API Benchmark Request Response


  • However I felt that if we could get the distribution of the api calls then it would provide deeper insight into my APIs. So I added a new tab to the report to showcase the distribtion of api calls overtime. The pull request is merged. So you would notice additional tab in the report i.e. distribution tab and you should see something like below


API Benchmark 5

API Benchmark Distribution


  • We could also specify the available options to benchmark the API’s deeply. Let’s try out a few


API Benchmark Stats 100

API Benchmark Stats 100


API Benchmark Distribution 100

API Benchmark Distribution 100


Hope this helps you in getting started with api-benchmark. The entire source code for this post can be downloaded at googledrive or onedrive


Any questions, comments or feedback is always welcome.


  • Nixi Alexandru

    How does this tool compare cu Apache Benchmark? Are there new or missing features?

  • Very handy for me this! Thanks for posting such a detailed article. I’ve just benchmarked my local NodeJS server and I’m super happy with the switch from PHP to NodeJS on the API 🙂