What are the limits to the Forms API?

Hello,

I am interested in purchasing a large amount of form submissions, however, I’d like to know if any limits are in place that might impact my design.

I am retrieving form submissions using the /api/v1/forms/[:formid]/submissions API endpoint. It does what I want, however, I’m concerned about limits. According to the docs, it appears that ALL submissions are returned from this endpoint. There does not appear to be a way to paginate or specify a time frame.

Since I am building from it, I’d like to know if there are any limits that are currently in place, if any. Will it max out at a certain number of form submissions? Or, can I safely assume that ALL submissions are returned from the API, and it’d be OK with 5-10k records or more.

On a similar note, are there any limits to visitors submitting forms? Can the system handle large amounts of submissions at once (for example, 500-1k submissions happening over the course of a few minutes). Or, is there any throttling to be aware of?

Thank you,

-Derek

Hi Derek!

It’s true, our form submissions API endpoint is pretty much an “export all” situation. The intention is that you’d delete the submissions you’ve exported, so you aren’t re-fetching submission 1 over and over, but we don’t stop you.

Since all the data we save for forms and return in our API is textual, the data is small even for hundreds of submissions - we don’t save files, just URL’s to external storage.

No max on number or rate of submissions (we’ve had forms with tens of thousands of submissions created in a few minutes by penetration testers in the past), and I don’t think there is a max fetch limit (though there is an API rate limit of a few hundred requests per second when it comes to deletion), but again, best practice to export on a regular basis and clean up so you don’t have to refetch thousands of submissions.

Hi, thanks for your reply. I found out that there’s a 100 record limit on this API (it should probably be documented) Thankfully I was able to extract the results I needed via the CSV export which does not have limits.

Hi there, thanks for bringing this up! I’m going to chat with a few folks about this. We’ll update here if there is any further info :smiley:

Hi @dthunziker,

Sorry for the confusion! We limit the API to return 100 records, but it supports pagination. You can find more information on how we paginate in our docs at Get started with the Netlify API | Netlify Docs . Most endpoints that allow you to request multiple records use this same pagination model.

Essentially, you can request up to 100 total items and then you can make requests for the additional records until there are no more. We do have an open issue about documenting the headers we send in our open-api repo: Document response headers · Issue #190 · netlify/open-api · GitHub .