Top 20 API Testing Tools That Are FREE

Top 20 API Testing Tools That Are FREE

rest-assured

API testing tools are more important now than ever.

As we move towards more Agile shift-left software development processes like continuous integration and delivery, the need to quickly give test feedback to our developers is increasing.

One downfall to UI tests is they are slow, making them a poor choice for letting developers know quickly if their code has broken the latest build or not. API tests, on the other hand, tend to be faster and run more reliably than GUI tests.

Below is a quick API testing tools comparison of open source options.

Before we take a closer look at the API testing tools, let’s make sure we’re all on the same page with what an API actually is.

 What is an API?

Application Programming Interfaces (API) is a specification that acts as an interface for software components.

While most functional testing involves testing a user interface like a web page or a dot net form, API testing involves bypassing a user interface and communicating directly with an application by making calls to its APIs.

API testing allows you to test headless technologies like JMS HTTP, databases and Web services.

API testing is sometimes called “headless” testing. Most headless testing consists of bypassing the UI and sending a request directly to an application’s backend or service and receiving a response while validating the response to ensure things are working as we expect them to.

This simple example is often referred to as a client/server relationship. A client makes a request by asking for a resource; the request then goes out and finds a server that can fill that request. The server locates the desired resource and sends a response back to the client.

Popular API Test Tools Going Into 2019

Popular API Test Tools Going Into 2019

What API Testing Tools Can I Use to Automate API Testing?

Since Selenium is just for browser-based testing, you may be wondering which tool to use for Rest and Soap web service-based testing.

Here are some of the top API testing tools that can be used for Rest and Soap Web Service Testing. API tools are great because many times you can leverage one test script to help with API load/stress performance testing, security testing and penetration testing.

So let’s get to it.

Although there are a lot of great paid options here are the top free API testing tools you should check out.

Postman Mail

Postman is a rest client that started off as a Chrome browser plugin but recently came out with native versions for both Mac and Windows.

At a high level, you can use it to send a post request to your web server and it gives you the response back. It allows you to set up all the headers and cookies your API expects, and then check the response when it comes back.

  • Can be used for both automated and exploratory testing
  • Can be run on Mac, Windows, Linux &Chrome Apps
  • Has a bunch of integrations like support for Swagger & RAML formats
  • Has Run, Test, Document and Monitoring Features
  • Doesn’t require learning a new language

To hear how Postman is used in the real world for testing video games check out Amber Race’s TestTalks episode on Testing Video Games Using API Automation.

Karate DSL karate

Karate allows you to create a test that can sequence calls to any kind of web-service and assert that the responses are as expected.

  • Build on top of Cucumber-JVM
  • Can run a test and generate reports like any standard Java project
  • A test can be written without any Java knowledge required
  • Tests are easy to write even for non-programmers

Check out a quick example of how to get started using Karate with BDD.

SoapUI soap

SoapUI is a headless functional testing tool from SmartBear software. It comes in two flavors: Free open source version and Pro Version. Since the free version is open-source, you can actually gain access to the full source code and modify as needed. The pro version is user-friendlier and has additional functionality including a form editor, an assertion wizard for XPath, and SQL query builder.  The free version lets you:

  • Can easily create custom code using Groovy
  • Drag and Drop Test Creating
  • Can create complex scenarios
  • Asynchronous Testing
  • SoapUI’s Mock Service lets you mimic web services before they are implemented

Listen to Mike Giller of Smartbear talk more about SoapUI and API Testing.

HttpMaster Express HTTP

HttpMaster describes itself as a web development and test tool to automate testing of websites and services. It can be used to test RESTful web services and API applications. HttpMaster also allows you to and monitor API responses.

  • HttpsMaster project offers global options to customize your API request
  • Parameter capabilities enable you to include dynamic data with your request
  • You can use request chaining to leverage request items to include some data from the previous request with the next request

Rest- Assured rest

Rest-Assured is an open-source Java Domain-specific language (DSL) that makes testing REST service simple. It simplifies things by eliminating the need to use boiler-plate code to test and validate complex responses. It also supports XML and JSON Request/Responses. This is probably the best-known tool to test rest API.

  • Removes need to create boilerplate code required to interact with a rest service
  • Support BDD Given/When/Then syntax
  • Integrated seamlessly with Java projects
  • Probably the standard for programmatically creating a rest API testing tool script

Johan Haleby creator of Rest-Assured shares tips and tricks for getting started REST testing with Rest-Assured.

RestSharp Sharp

RestSharp is a simple REST and HTTP API Client for .NET

  • Supports .NET 3.5+, Silverlight 5, Windows Phone 8, Mono, MonoTouch, Mono for Android
  • Easy installation using NuGet for most .NET flavors
  • GET, POST, PUT, PATCH, HEAD, OPTIONS, DELETE supported

Rest Console Console

HTTP Client and Request Visualizer and Constructor tool, helps developers build, debug and test RESTful APIs. Rest Console is an HTTP Request Visualizer and Constructor tool, helps developers build, debug and test RESTful APIs.

  • Easy query parameters creation
  • Syntax highlighting
  • Authentication support: Plain, Basic, OAuth + Custom

RoboHydra Server 

Looking for API integration testing tools?

RoboHydra is a testing tool for HTTP-based clients (ie. software that makes HTTP requests). The idea is, instead of connecting your clients-under-test to the real server, you connect them to RoboHydra and make RoboHydra respond with whatever you need for each request.

  • You can test many different kinds of clients
  • Written in Javascript, runs under Node 

Hippie-Swagger Peace

hippie-swagger is a tool for testing RESTful APIs. It’s also an API testing tool with automatic swagger assertions. In addition to validating API behavior, it will fail tests when swagger documentation is missing or inaccurate.

  • Can validate All aspects of swagger file validated; parameters, request/response body, paths, etc.
  • Accurate, human-readable assertion messages

WebInject inject

WebInject is an open source solution for automated testing of web applications and web services. It can be used to test individual system components that have HTTP interfaces (JSP, ASP, CGI, PHP, AJAX, Servlets, HTML Forms, XML/SOAP Web Services, REST, etc).

  • Is a command line tool
  • Written in Perl can be installed on MS Windows, GNU/Linux, BSD, Solaris, MAC OS

Pyresttest 

PyRestTest is a python based REST testing and API micro-benchmarking API testing tool

  • You can write your tests in basic YAML or JSON config files, no code needed
  • Returns exit codes on failure
  • Only works on Mac and Linux

Airborne Plane

Airborne is an open source Ruby-based RSpec driven API testing framework.

  • Works with Rack application like Sinatra and Grape
  • Works with APIs written in Rails

Unirest

Recommended by Unmesh Gundecha Unirest is a lightweight HTTP request client libraries.

  • Can be combined with xUnit, BDD runner to make it a test tool

Mockbin Bin

Mockbin was recommended by Augusto Marietti. Mockbin allows you to generate custom endpoints to test, mock, and track HTTP requests & responses between libraries, sockets, and APIs.

  • Mock Custom Endpoints
  • Create Custom HTTP Methods
  • Log and inspect incoming calls to your custom endpoints

Citrus Framework 

Not sure why more folks aren’t aware of the Citrus Framework. Citrus is an open-source framework that can help you automate integration tests for virtually any messaging protocol or data format.

  • Works with REST, SOAP, HTTP, JMS, TCP/IP and more
  • Create tests using Java or XML
  • Mature – has been around awhile

For more info on Citrus, Integration testing check out API Integration Automation Testing With Citrus Framework.

ZeroCode

ZeroCode is a  free and open source, lightweight API testing tool library built on JUnit core runners, for API endpoints, using simple JSON steps. I just heard about this tool but sounds like its already being used in large enterprise companies like HSBC Bank.

Here are some benefits of using ZeroCode:

  • ZeroCode is built on JUnit core runners (no plugins needed)
  • Just your IDE or any JSON editor is enough to drive the tests
  • Very easy to write tests – as simple as Postman REST-Client
  • You can still do BDD, but without syntax overhead
  • Performance testing – Load/Stress generation is quite easy and existing tests can be reused
  • Efficient Reports – You can do a fuzzy search as well as filter by any text, and track by author

Katalon Studio

Although primarily known as a GUI automation test tool Katalon studio also support testing of web services and can be used as an API test tool.

Some benefits of Katalon Studio are:

  • It’s not open-sourced but it is free
  • It’s a complete package and framework. So it easy to install and get working
  • Small learning curve
  • Has functionality that allows you to test web services and REST APIs

Listen to my interview with Raghav Pal to discover more about Katalon studio.

JMeter

As you might already know JMeter was developed for load testing but many testers also use it for  API testing and as an API load testing tool as well.

Some benefits of JMeter are:

  • Can leverage one API test script for both API and as an API Performance testing
  • JMeter has been around awhile so it’s time-tested
  • Easily integrated into CI/CD environments

Tavern

Tavern is a pytest plugin, command-line tool and API testing tools Python library for automated testing of APIs.

  • Simple, concise and flexible YAML-based syntax.
  • It’s very simple to get started,
  • highly customizable for complex tests.
  • Supports testing RESTful APIs as well as MQTT based APIs.

Chakram

Chakram is a REST Javascript API testing tools framework that also has a BDD testing style and fully exploiting promises. So you can use it for

  • HTTP Assertions
  • Chakram fully exploits javascript promises
  • BDD formatting and hooks
  • Very extensible

RestBird

RestBird is a collection of Rest API Tools like autotest, mock server and record, and playback functionality. I just learned about it from a comment someone left for this post. It looks promising. Some benefits of RestBird are:

  • Easy to use and Debug
  • Fully restAPIi support to be integrated with JIRA, Jenkins, Team City, Bugzilla, Slack
  • programmable response validation through Python/Golang scripts

 

API Testing Tools

Top API Testing Tools Recap

These are the top API testing tools free I’ve come across, but there are tons of API testing tools popping up everywhere, so I’ll definitely be adding to this list as time goes on.

If one of your favorite API test tools is not listed, please let me know and I’ll add it.

What About Non-API Automation Testing Tools?

For other non-functional API automation testing tools check out:

How to Stay Up To Speed with the Latest in Automation Testing?

Automation Guild Conference

If you feel overwhelmed with staying up to date with all the latest automation testing tools and best practices check out my annual online conference dedicated 100% to just automation testing — Automation Guild.

28comments
Baskaran - May 18, 2017

Regularly following yours blog and reading the articles, it helps to me more passionate about the automation tools and motivates to try and use the tools.
Thank you :)

Reply
Tony du'Gay - May 18, 2017

I’m a big fan of Soap UI. In my latest project I have used it successfully for load testing – what I liked about that was I was reusing my functional tests for load testing. I also used the Pro version for pen testing – again, getting some reuse from my functional tests. It is possible to add security tests with the open source version but I find it a lot more cumbersome.

Reply
    Joe Colantonio - May 18, 2017

    Hi Tony – I agree I really like SoapUI and have been using for a long time myself

    Reply
Patrik S - May 18, 2017

Great insights related to the API testing tools by Mr. Joe. These will definitely help to deal with API testing. In addition to the mentioned tools, I would like to add the tool named Testing-Whiz. This is a code-less test automation tool for web, API, database, mobile apps, etc. This tool helps you to test whether your application communicates and accesses functions correctly from the Web by effectively verifying the behavior of web services connected to them.

Reply
    Joe Colantonio - May 18, 2017

    Thanks Patrik – is testing-wiz open source? I left out paid options in favor of open sourced solutions for this list

    Reply
Christian - May 18, 2017

I’m a fan of post man to test out my understanding of contracts and creating collections. My favorite API automation tool is Gatling. It’s marketed as a load testing tool, but it lends itself well to integration/end-to-end testing too. I’ve completely tested business flows from login to cart checkout at the API layer via automation with Gatling.

Reply
Antoine - May 18, 2017

Hi Joe,
Nice list! It appears I’ve got new things to try out :)

Do you now Restlet Client? It’s a visual tool that lets you create and execute test scenarios. See https://restlet.com/modules/client/

It’s not open source, but offers a lot of features for free (same model as Postman).

Reply
Ronald Alversado - May 18, 2017

JMETER should be on the list. We currently use it for Automated API test.

Reply
Peter Thomas - May 19, 2017

Great list ! But Joe, is HTTP really master open-source ? It does seem to have a free edition – but appears to be closed-source + commercial.

Reply
Rasool Saheb - May 19, 2017

Very good info about all open source tools..Thanks Joe

Reply
Nikolay Advolodkin - May 23, 2017

Great collection of resources Joe. Thanks for that! Postman is great and simple to use.

Reply
elwin wildschut - May 29, 2017

I feel you miss powershell on the list
+ 1 line just to import your wsdl
+ 1 line to just send in your request and get your output
+ Installed on all (windows) machines so reusable quickly by all people in your company
+ Easy to learn (google: Powershell API testing)
+ very fast (as you just do all stuff from commandline no UI overhead)
– The scripting language from powershell maybe less easy to learn with cmdlets

Reply
Burak - June 15, 2017

https://restlet.com/

Reply
Mikael Fransson - June 24, 2017

Missing Insomnia, https://insomnia.rest/

Cross platform, open source. Beautiful UI.

Reply
Vishvanath Kumar - June 29, 2017

Thanks for this information……

I need one more help from admin and viewers

little bit I have confusion “Which tool should I use for API testing”

Thanks

Reply
Suresh - September 5, 2017

Thanks for the tutorial!

I have one question:

Web Services testing is (part of / one type of) API Testing – Am I right?

Why API Testing is called differently (from Web Services Testing).

For me, API Testing is equal to Web Services testing (i did this with Soap UI).

Thanks!

Reply
Burdette Lamar - September 7, 2017

I have put example Ruby code for testing a REST API in my GitHub project:

https://github.com/BurdetteLamar/RubyTest/blob/master/examples/rest_api/RestAPI.md

Reply
Ashwin Gangadharan - October 24, 2017

Hey, we use https://www.runscope.com/ for API testing, because of some limitations we are planning to replace it.

For UI we use Selenium with JAVA. I am searching for API testing tool which provide software-as-a-service.

Please suggest me a good suitable tool for API testing which also has Report generation.

Reply
jim - February 1, 2018

Missing a lot of non-restful Agile and BDD tools including cucumber, fitnesse, and Nested Objects (nestedobjects.com).

Reply
Sid Galaxy - February 16, 2018

Try out zerocode(https://dzone.com/articles/rest-api-testing-using-the-zerocode-json-based-bdd) library to avoid all the boiler plate code in the name of BDD.
Only you need to focus on the request and response contract structure. Rest of the processing is taken care by the framework. No feature files are needed. Simple and light weight library created using Google Jackson and Apache http client. Very very efficient and easy.

Reply
Trương Thị Thanh Tâm - March 12, 2018

I want to test API by POSTMAN tool. But, now i don’t have a website to get API key and values to test. Has Anyone may help me or show me how to get API key from a website ? Thanks a lot !

Reply
Alexander - June 4, 2018

My 2 favorite tools are Karate & Rest-Assured. Nice combo! Thanks for sharing the list.

Reply
Pen - June 28, 2018

Hi,
Nice article, can any one suggest me the best tool for security testing.. i am already aware of Readyapi tool.

Reply
suresh - July 5, 2018

Dear All,

Please go through Katalon Studio it is great Functional and API Testing tool.
It is free tool.
More user Friendly and great UI for Use.Great Forum where you can discuss your Query

Reply
Perf Master - August 24, 2018

Great Article, I suggest to take a look at Restbird,
https://www.restbird.org
a promising tool for Rest API testing, similar as Postman but for more fexible and powerful. I’m a big fun of its docker deployment and you can store everything in local file system.

Simply pull the dock and test drive
docker pull restbird/rest

Reply
10 Top Open Source Test Automation Frameworks (You Need to Know) - October 29, 2018

[…] 15 Open Source API Testing Tools For REST & SOAP Services […]

Reply
Click here to add a comment

Leave a comment: