REST API clients
REST API's are increasingly important for Web developers.
There are a wide variety of tools that assist developers with accessing, creating, testing and documenting testing REST API's.
The following examples will use Transport For London (TFL)'s report on the current air quality in London. This REST API does not require authentication and returns a manageable amount of data.
The endpoint for this REST API is: https://api.tfl.gov.uk/AirQuality/
Web browsers¶
As a REST API is simply a URL, the most obvious 1 candidate to access a (simple) REST API is simply, err, a Web browser.
If you just want to quickly check the endpoint is correct, currently accessible and examine the data returned, this may be adequate as a sanity check.
Firefox¶
Mozilla Firefox can display and format the JSON data returned by a REST API call.
There are options to display the raw data and the headers.

Add-Ons¶
If you need more flexibility or just curious, there are a couple of Firefox add-ons available.
RESTer¶
RESTer is a Firefox add-on providing a REST API client.
Specify the following parameter values:
- Method: GET
- URL: https://api.tfl.gov.uk/AirQuality/

RESTED¶
RESTED is another Firefox add-on with similar functionality.

Chrome¶
Out of the box, the JSON displayed by Chrome isn't as readable and user friendly as Firefox as it's just a wall of text with no formatting. That's OK for a computer program but not so good for a human.

However, you can use the 'Pretty Print' option.

Alternatively, install the Chrome JSONVue extension which displays the JSON data in a more useful format.

There are also a number of Web sites that display a JSON stream into a readable format with a variety of formatting options.
For example, you can copy/paste the raw Chrome text output into JSON formatter to display the data in a more readable format.

Extensions¶
REST Client¶
REST Client is a Chrome extension to test REST API's.

Talend¶
Talend offers a commercial product together with a free Chrome extension that may suffice for simple requirements.

Applications¶
Postman¶
Postman is a very popular desktop REST API application and includes team working, workspaces, Git support, AI integration, data driven testing and many other features. There is a free plan available for individuals.
Postman is available on the Web and there are native applications for Windows, Linux and macOS.

Postman is useful as many sites offering REST API's also include a pre-built Postman collection that you can import and experiment with.
Personally, I find the Postman Web site very busy and cluttered which is overkill for my simple requirements. Postman also requires that you sign up for an account.
Postman offers a native Linux application which is 375MB (on Arch Linux).

Curl¶
curl is a open source command line utility for testing REST API's which is universally available (Linux, Windows, MacOS).
You can find out whether curl is installed and, if so, which version using the following command. It's worth checking you are using a recent version of the software.
$ curl --version
curl 8.19.0 (x86_64-pc-linux-gnu) libcurl/8.19.0 OpenSSL/3.6.2
zlib/1.3.2 brotli/1.2.0 zstd/1.5.7 libidn2/2.3.8 libpsl/0.21.5
libssh2/1.11.1 nghttp2/1.69.0 ngtcp2/1.22.1 nghttp3/1.15.0 mit-krb5/1.21.3
Release-Date: 2026-03-11
Protocols: dict file ftp ftps gopher gophers http https imap imaps
ipfs ipns mqtt mqtts pop3 pop3s rtsp scp sftp smb smbs smtp smtps
telnet tftp ws wss
Features: alt-svc AsynchDNS brotli GSS-API HSTS HTTP2 HTTP3
HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM PSL SPNEGO SSL
threadsafe TLS-SRP UnixSockets zstd
You can use curl to exercise the TFL Air Quality REST API using the following command.
The --silent parameter suppresses download and timing information and the raw output is piped to jq to format the JSON in a prettier format.
$ curl --request GET \
--url https://api.tfl.gov.uk/AirQuality/ | jq
{
"$id": "1",
"$type": "Tfl.Api.Presentation.Entities.LondonAirForecast, Tfl.Api.Presentation.Entities",
"updatePeriod": "hourly",
"updateFrequency": "1",
"forecastURL": "http://londonair.org.uk/forecast",
"disclaimerText": "This forecast is intended to provide information on expected pollution levels in areas of significant public exposure. It may not apply in very specific locations close to unusually strong or short-lived local sources of pollution.",
"currentForecast": [
{
"$id": "2",
"$type": "Tfl.Api.Presentation.Entities.CurrentForecast, Tfl.Api.Presentation.Entities",
"forecastType": "Current",
"forecastID": "53210",
"forecastBand": "Low",
"forecastSummary": "Low air pollution forecast valid from Friday 24 April to end of Friday 24 April GMT",
"nO2Band": "Low",
"o3Band": "Low",
"pM10Band": "Low",
"pM25Band": "Low",
"sO2Band": "Low",
"forecastText": "A sunny warm day on Friday.<br/><br/>Back trajectories indicate air arriving from the North Sea. This should be a relatively 'clean' air feed. A light and cooler breeze should ensure dispersion of any local emissions.<br/><br/>Air pollution is expected to remain 'Low' for the following pollutants:<br/><br/>Nitrogen dioxide<br/>Ozone<br/>Sulphur dioxide<br/>PM10 Particulates<br/>PM2.5 Particulates<br/><br/>"
},
{
<snip>
}
]
}
Insomnia¶
Insomnia is another option although the free version doesn't support synchronisation to the cloud.
Insomnia is an Electron based application which is great for platform portability but does increase the size of the program (which is a hefty 725MB on Arch Linux).
Insomnia also requires an account (although there is a 'scratchpad' available with limited functionality).

Bruno¶
Bruno is another Electron based REST API client (although the size of the AppImage is 158MB). Bruno expressly does not offer a cloud synchronisation option or require an account. Your work is stored locally and sharing is via Git repositories. Nor will Bruno use your data to train AI models.
Bruno supports collections and each API request is stored as a text file.

Hoppscotch¶
Hoppscotch is yet another option that offers a cloud service (requires login) as well as native clients for Linux, macOS and Windows.
Hoppscotch Community Edition is open source (MIT licence) and can be used on personal and commercial projects. Hoppscotch can also be self-hosted.

HTTPie¶
HTTPie is another REST client (similar to Hoppscotch) which supports importing API's from 'curl', 'Postman' and 'Insomnia'.
Some prospective users may be discouraged by the imminent promise of 'HTTPie AI'.

Editors/IDEs¶
Emacs¶
Emacs includes a package restclient (available in MELPA) which is a REST client that presents the output in a separate buffer. The package still works fine but appears to be without an owner as the repository was archived in April 2024.

Visual Studio¶
Thunder Client¶
Thunder Client is a VS Code extension for the widely used VS Code editor/IDE.

Golden Retriever¶
If you want an alternative to ThunderClient and like dogs, try the Golden Retriever extension.
'Think of it as Postman’s loyal cousin who stays local, syncs with Git, and doesn’t demand a cloud subscription'.

Seems obvious, but it took two years for this simple, obvious fact to dawn on me. ↩