{{announcement.body}}
{{announcement.title}}

REST API Tools Smackdown

DZone 's Guide to

REST API Tools Smackdown

Helping you choose the right one!

· Web Dev Zone ·
Free Resource

Introduction

So you've decided that with your next project you are going to tread the RESTful path. But to be smart about it, you need an intelligent tool to ensure quality and productivity. With the abundance of options available, let's thumb through some of the developers' favorites.

First Things First - API Definition

Swagger Editor is a popular choice with graphical visualization. APIs can be defined either in JSON or YAML. Additionally, you can generate a server-side or client-side stub for most of the relevant technologies (from ASP.NET Core and Kotlin to Node.JS and Python).

Swagger API GUI


Apicurio is an open-source project, simple, and elegant tool with support for JSON and YAML. It offers:

  • Importing APIs from source control, file, URL.

  • Integration with your GitHub, GitLab, or Bitbucket account.

  • Previewing live documentation.

  • Visual editors for designing APIs on Open API standard (no coding skills required!).

APICurio GUI


Have a look at the comparison below:

Swagger vs APICurio specs

Watch it Go: Testing and Monitoring

Postman is an intuitive and well-organized desktop tool for creating, testing and monitoring APIs. It is one of my personal favorites, as it was the first-ever tool that I used to test my own APIs, and the learning curve couldn't have been smoother. The product is well-rounded, as it covers the API development from creation to testing and monitoring

With Postman, you can:

  • Add mock servers.

  • Switch between environmental setups.

  • Generate documentation.

  • Apply custom documentation styling. 

Medium and large teams will appreciate the personal and team workspaces and fork and merge features that work similarly to that of any version control system like GitHub. You can also add a basic API monitor (runs on a minute, hourly, or weekly basis) and get email notifications about failures.

API testing and monitoring with Postman


Ping API  is a powerful API inspector. Minimalistic in appearance, it allows the creation of projects for HTTP API calls. After you fill in the request and response data, test code is auto-generated. You can also create set-up scripts in JavaScript (or CoffeeScript) that are invoked before each test. It has a few basic built-in functions for parsing, decoding and encoding URIs. 

In case of failures, a notification is sent via email, Slack, or Hipchat. It's especially useful for web developers whose sites need to be responsive around the globe. Tests check APIs responses from 5 locations in 3 continents: in U.S.A., Japan, Germany and Singapore. You can schedule to run tests from 1 minute to a full day. 

Ping-API GUI


API Science is an easy-on-the-eye monitoring tool with graphs and charts. API Science lets you check health, availability, and performance of your or third-party APIs and automatically notifies about failures. The dashboard is straightforward to use and intuitive. You can upgrade your monitoring with custom JavaScript scripts to run with tests (e.g. to load or parse data from JSON) or generate a report (not downloadable, unfortunately). A nice touch is the import option from other popular API-related tools: Postman, Swagger, RAML, HAR. Sad news for the Southern Hemisphere again, servers that are located in the U.S.A., Japan and Ireland.

API Science GUI


ReadyAPI is an advanced platform for functional, security, and load testing for tight integration with your CI/CD pipeline. ReadyAPI is a combination of 3 tools available for separate licence purchase: SoapUI Pro (functional testing), LoadUI Pro (performance testing), ServiceV Pro (service virtualization). They describe themselves as "the Most Advanced API Testing Tool on the Market", and they might be right. ReadyAPI options are vast and can be intimidating to learn at first. It's not cheap as it's aimed at large companies whose products require complex, from top to bottom tests. The projects integrate with several CI/CD tools: Git, Docker, Jenkins, Azure DevOps, TeamCity, and more. Good news for tight budgets: there are open-source free versions available for Windows, Linux and Mac, however, the tests are slower.

Ready API GUI


Insomnia is a desktop app for debugging your API spec with Git sync option. The "Design" section offers style validation with detailed error messages. The auto-generated preview might remind API-navvies of Swagger Editor. In the "Debug" section you can tinker your API with:

  • Sending request with cookies, query and header, body of request is filled in editor.

  • Environments configured as JSONs 

  • Support for multiple authorization options: Basic, Digest, Bearer Token, Microsoft NTLM, OAuth, AWS IAM, Hawk, Atlassian ASAP, Netrc File

  • Client-side code snippet generator for multiple languages, some with different library implementations. 

The platform can be extended with installable plugins made by Insomnia community. The plugins cover JWT and token generators, environmental setups, XML-JSON translators, randomizers and UI themes. With paid plans, teams can collaborate and host the project in the cloud.

Insomnia API


Talend API Tester is a tool dedicated to testing HTTP and REST APIs. The significant functionalities are:

  • Sending requests and inspecting responses

  • Validating API behaviour

  • Importing Postman, Swagger, OAS, OpenAPI, HAR test collections

With API Tester, you can create dynamic requests with custom variables, security and authentication, and keep them organized as projects or services. You can run assertions against the responses of different formats (JSON, XML, HTML and others). Assertions are created in visual editors. 

Talend API tester


Here comes a summary of the testing-oriented tools.

Testing oriented tools summary

Bringing the API out to the world

Apigee is an online platform that enables you to build, manage, consume APIs and expose its functionalities via a portal for your consumers. From all the online tools mentioned in this smackdown, Apigee set itself apart from the others with the most elegant web experience, analytical tools, proxy creator, and sweet website generator.

If you need to adopt a SOAP service into a REST one, or you consume API but would like to expose API's backend services via a middleman, you are presented with proxy wizards with lots of policy options (quotas, authentications, data mediation, caching).

Apigee offers the consumer, neat, modern and straightforward portals including interactive auto-generated documentation sites for your APIs. The portal templates, with CSS themes, HTML and user management premade is ready to be customized or published right away. To ensure world-class API performance, their analytics tool and charts cover: 

  • latency,

  • response time, 

  • geographical distribution of API usage, 

  • proxy performance,

  • error code analytics.

Apigee API GUI


Apigee API GUI


Putting the Moving Parts Together

Linx is a sophisticated developer tool for backend integrations, automations and web services. The main use scenarios are:

  • Building, hosting and managing multiple APIs with one platform,

  • Consuming and orchestrating data across many technology end-points,

  • Accelerating API Development,

  • Simplifying existing APIs.

Linx is particularly powerful for creating or calling internal and external REST web services. It is on the fastest ways to extend an API that requires integration with other technologies (e.g. you need to load or push data into a database, conjure up a rapport, push updates to notification steam, modify or encrypt data at any point, etc). Alongside REST, Linx offers several other features from database to cryptography and cloud, which creates tons of possibilities for integrating your API with multiple different technologies. The Linx IDE Designer is a great, free option for carrying out tests and service calls. If you want to monitor and automatize the test suits or schedule calls either on-premise or in cloud, you will need to upgrade to the paid Linx Server. 

Linx API Setting


Linx vs Apigee

Feature Smackdown

Still at a lost? Use the comparison table below to help yourself decide.

API tools comparison chart

Conclusion

With REST's and APIs' taking root in the digital world, one can only expect more tools to appear. 

Now that you had a glimpse of options above, tailored for different needs of various size teams, projects and capabilities. If you are not happy with your current choice, it's easy enough to hop and experiment. Let me know your favorites in the comments below.


Happy hunting.

Topics:
api, api automation, api automation testing, api development, api management, apitools, rest api, rest api app, rest api integration, rest api testing

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}