One query, many sources.

Join, combine, and aggregate data from multiple APIs and databases — all in one call.

Get Started

npm install rapidql

RapidQL eliminates multiple round-trips when your app needs to fetch data from multiple sources.

Reduce glue code and improve performance by writing just one query to fetch and transform data into a format your app can work with.

// get a random joke and send it to a friend with Twilio
rql.query(`{
  Http.get(
    url:"https://joke3.p.rapidapi.com/v1/joke"
  ){
    content,
    Http.post(
      url: "https://api.twilio.com/.../Messages.json",
      form: {
        Body: content,
        From: from,
        To: to
      }
    ){
      to,
      status,
      uri
    }
  }
}`);
// search for photos from unsplash
rql.query(`{
  Http.get(
    url: "https://api.unsplash.com/search/photos",
    params: { query: 'query' }
  ){
    results {
      urls {
        full
      },
      description
    }
  }
}`, {
  query: "office"
});
// test the validity of an email address with debounce
rql.query(`{
  Http.get(
    url: 'https://debounce-email-validation.p.rapidapi.com/v1/',
    params: {
      email: email
    }
  ){
    debounce {
      result
    }
  }
`);

Get Started

{}

Perform JOINS right in the API call

Use the data returned from one data source as input into the query for another.

Query APIs and databases

Use RapidQL to simultaneously make requests to APIs as well as databases, defining only the fields you need returned from each.

Tip: You can also connect to more than 10,000 public APIs on RapidAPI's Marketplace.

Queries made to databases like MySQL, PostgreSQL, and MongoDB can take advantage of aggregations like count and average. These results can be fed into the next query in the RapidQL statement.

Central to our vision

RapidQL is open source and free to use, but it’s also built right into the RapidAPI explorer. Learning RapidQL makes it easier to interact with the 10,000+ APIs hosted on RapidAPI.

Example
Share

Contributions welcome

RapidQL is open source, and we welcome all contributions to the codebase. You’re invited to support the core system (see open issues in GitHub), as well as develop integrations with more data sources and database systems (see planned integration in project board in GitHub).