You are using an unsupported browser. Please update your browser to the latest version on or before July 31, 2020.
close
Home > Developer Tools > BenchPrep GraphQL API > Exporting GraphQL Results As CSV
Exporting GraphQL Results As CSV
print icon
This article is intended to support our customers using BenchPrep GraphQL API. If you’re interested in leveraging this service, or if you would like to learn more about it, contact your BenchPrep Customer Success Manager today for pricing!

 

At BenchPrep, we want to allow you to leverage all the power of GraphQL. Chief among that power is the ability to ask for what you want, get your results, and generate a downloadable CSV. Additionally, we support sending yourself an email with the CSV file to download.

 

Let's walk through that process.

List of Records

A GraphQL query can return a list of the records with any fields we want (check out Writing Your First Query). Let's fire it up and grab the list of users with some of their attributes:


Getting the CSV file

Now, let's focus on getting that output and streaming it to us. For that, we will fire up same request to the different endpoint: https://benchprep.com/api/graphql/export/csv

 

The query itself must be supplied in the query parameter and all your other GraphQL parameters (like variables, operationName) are supported. A great way to grab that request is by clicking COPY CURL on the top right of the playground. Example:


That returned the CSV file; let's take at look at it.

 

As you can see, each field became a column and each node became a row. We do allow overwriting of the headers using aliases. For example, let's rename state to status and createdAt to creation_date.‍

Limitations / Assumptions

In order for this process to work, certain assumptions were made:

  • We are exporting multiple records, hence it only works for Connections with nodes.
  • Non-nodes fields will be ignored.
  • Only one query at a time can be converted to the CSV
  • Nested fields will be joined by a semicolon delimiter
  • Current max page size is 1500

Asynchronous Exporting

If you need to export more data or if the dataset is large, we recommend taking advantage of our asynchronous exporting. You can achieve that by sending a request here.

 

In that case, the system will create a background task to generate the CSV file. Once it is complete, the system will send the short-lived download link for the generated CSV file to the email associated with the token.

Feedback
0 out of 0 found this helpful

scroll to top icon