NOW LOADING

Do you have any API documentation?

Yes! It’s a simple URL that you can request with a secret api_token to get your submissions. 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.

$ curl "https://formkeep.com/api/v1/forms/XXXXXXXX/submissions.json?api_token=YYYYYYYYYYYYYYYYYYYYY&page=1&spam=false&include_attachments=false"


Parameters

  • api_token: string, the secret api token from the Report tab of the form
  • page_limit: integer, default is 25. Sets the number of submissions returned by a single request.
  • page: integer, default is 1. Results are returned in pages containing page_limit results. In the result JSON meta->pagination->total_count will return the total number of pages of submissions you have based on the page_limit. To retrieve the second page of results, pass 2, then 3, etc.
  • spam: true or false, defaults to true. Allows you to exclude spam submissions 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.
  • include_attachments: true or false, default is true. If you don’t have any attachments, setting this to false can speed up the response times of this request.

The return would be this result:

{
   "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:

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

Didn't find what you were looking for?