---
title: Reports
date: '2021-10-05T16:10:00+00:00'
url: https://support.formkeep.com/docs/feature-reports/
summary: |-
  Reports
  View summaries and reports on your survey.
tags:
- Help
author: Support Team
---

# Reports

# Reports
View summaries and reports on your survey.

## Export
Export your survey results to a CSV (comma separated values) file. The download link will be available for 24 hours after the export completes. Alternatively, export your results to a Google Spreadsheet.

## 30 Day Submission / Spam Report
View submissions report. Submission date is on the X axis, and number of submissions is on the Y axis. You can also view these same statistics but for just spam submissions.

## Submission Results Report
See the distribution of your survey submissions. How many people chose each option. Reports for Single/Multiple Choice and Dropdown fields.

For example if you three fields, a Dropdown, a Multiple Choice and Single Choice fields you can get a report showing the distribution of the results like this:
![](/assets/images/docs/reports-survey-1.png)

## Search
You can generate a chart of number of submissions that match your search criteria.

## JSON API Access
Use the provided URL to retrieve this form's data as JSON for your own internal processing. Be sure to keep your API token secret.

It will return the latest 25 submissions, but additional ones can be retrieved by sending a page=2 or page=3 etc parameter.

The correct XXXXX for the form identifier and the YYYYY value for the api_token can be found in the Reports tab of the specific form you want to retrieve.

~~~ bash
$ curl "https://formkeep.com/api/v1/forms/XXXXXXXX/submissions.json?api_token=YYYYYYYYYYYYYYYYYYYYY&page=1"
~~~
<br>

### Parameters

 - **api_token**: *string*, the secret api token from the Report tab of the form
 - **page**: *integer*, results are returned in pages containing 25 results, which page do you want to fetch, defaults to 1, meta->pagination->total_count will return the total number of pages of submissions you have.
 - **spam**: *true or false*, if not passed, results will include both submissions and spam, if you want to include/exclude spam in your results.
 - **startdate**: *date*, formatted in 'YYYY-MM-DD' in UTC to filter the results
 - **enddate**: *date*, formatted in 'YYYY-MM-DD' in UTC to filter the results

The return json looks like this:

~~~ json
{
   "submissions":[
      {
         "id":9337144,
         "data":{
            "email":"support@formkeep.com",
            "first_name":"support",
            "last_name":"support last",
            "title":"Product Lead, FormKeep",
            "hint":"Ready to send your own data? Click the Setup tab above.",
            "created_at":"2021-12-04 18:41:48 UTC",
            "formkeep_submitter_ip":"10.1.10.1"
         },
         "created_at":"2021-12-04T18:41:48.577Z",
         "spam":false
      },
      {
         "id":9337644,
         "data":{
            "email":"support@formkeep.com",
            "first_name":"support",
            "last_name":"support last",
            "title":"Product Lead, FormKeep",
            "hint":"Ready to send your own data? Click the Setup tab above.",
            "created_at":"2021-12-04 18:41:48 UTC",
            "formkeep_submitter_ip":"10.1.10.1"
         },
         "created_at":"2021-12-04T18:41:48.577Z",
         "spam":true
      }
   ],
   "meta":{
      "pagination":{
         "current_page":1,
         "next_page":null,
         "prev_page":null,
         "total_pages":1,
         "total_count":2
      }
   }
}
~~~

In addition to the form data that was sent to us, we also include the record **id**, the timestamp the record was created as **created_at** and true/false value if we considered the submission a **spam** values for the record. Also, there is a meta element that details what page this request was for, how many pages are available, and the total number of submissions.

Also, you can now specify to include or exclude spam form data with the ``&spam=true`` or ``&spam=false`` parameter. If the spam parameter is not present then all submissions will be returned.

Sending the parameters ``&startdate=2021-03-01`` and ``&enddate=2021-03-31``  allow you to specify a date range to return.

For instance:
~~~ bash
$ curl "https://formkeep.com/api/v1/forms/XXXXXXXX/submissions.json?api_token=YYYYYYYYYYYYYYYYYYYYY&spam=false&startdate=2021-03-01&enddate=2021-03-31"
~~~
