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"


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 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":"2017-12-04 18:41:48 UTC",
            "formkeep_submitter_ip":"10.1.10.1"
         },
         "created_at":"2017-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":"2017-12-04 18:41:48 UTC",
            "formkeep_submitter_ip":"10.1.10.1"
         },
         "created_at":"2017-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&startdate=2021-03-01&enddate=2021-03-31"

Didn't find what you were looking for?