API Management / Data Science / Software Development

RapidAPI’s RapidQL, an Open Source Query Language for APIs and Databases

10 Feb 2020 3:00am, by

When working with multiple APIs, you will have many authentication methods, API types, and endpoints to deal with. With RapidAPI, there’s a single graphical interface and marketplace of more than 10,000 APIs that can be used without having to worry about individual security credentials or API types.

In recent weeks, RapidAPI added support for GraphQL APIs, which joins REST and SOAP, and now the company has released an open source project called RapidQL, a query language for both APIs and databases in a single query.

RapidAPI head of developer relations Alex Walling explained that its internal use of GraphQL led them down the path to creating RapidQL.

“We actually use GraphQL a lot internally to power all of our marketplace, and now we support APIs that are based on that too. We also released an open source tooling we built internally called RapidQL, which is like our own spin off, using a very similar syntax to GraphQL,” Walling told The New Stack. “We love that way of thinking and that syntax, so we’re bringing it to APIs that weren’t supporting it yet, and we’re bringing the ability to query existing RESTful or SOAP based APIs, as well as databases and other data sources with a very similar syntax.”

At its core, RapidAPI is a web-based interface that makes it simple to access multiple APIs and their endpoints, with the interface abstracting away much of the complexity and laying out the details of each API in plain sight. In addition, after choosing the API you want to use, it provides a simple way to test the API using just a web form, and even automatically generates code that you can then copy and paste into your own code.

RapidQL is a JSON-like query language implemented in JavaScript and is one of more than a dozen languages that RapidAPI generates code into. As shown in the following video, RapidAPI makes it easy to connect separate APIs into a single query, taking data returned from the first API and passing it on to the second API, as well as filtering out all of unnecessary data returned by the REST API.

RapidQL currently supports the MySQL, PostgreSQL, and MongoDB databases, which means that queries can also bundle these into that singular query, to more efficiently use a number of APIs at once. Walling explained that WebSocket, GRPC, and Kafka APIs are among those on the horizon, as RapidAPI works toward becoming a central point of API access.

“We really want to be that single source to find, manage and connect to all of your APIs, regardless of the type of API. We want to add support for a number of different types of different API types,” said Walling. “We want to enable developers, as easily as possible, to connect to their APIs. RapidQL abstracts away the REST APIs, SOAP APIs and database queries into a GraphQL-like query, so in the same way that you can define what properties and what objects you want returned in a GraphQL API request, you can do the same thing with RapidQL.”

According to Walling, while RapidAPI and RapidQL perform some amount of pre-processing to provide the service, the effect on service is minimal, ranging in just a few milliseconds. RapidAPI itself uses an NGINX-based proxy and is written in Node.js. In terms of scaling, Walling says that RapidAPI is currently handling billions of requests per week and has kept up with the traffic without issue.

To get started with RapidQL, check out the RapidQL Developer Hub for docs, a getting started guide, and a discussion board.