REST API

Form Submission API

FormsList provides a REST API that lets you submit form data, retrieve submissions, and manage forms programmatically. Use it from any frontend, mobile app, or server. POST form data to an endpoint and we handle storage, notifications, spam filtering, and integrations.

By Vaibhav Jain · Last updated March 30, 2026

API Overview

The FormsList API has two parts: the submission endpoint for receiving form data, and the management API for reading submissions and configuring forms. The submission endpoint requires no authentication — your unique form hash identifies the form. The management API uses bearer token authentication.

Base URL: https://formslist.com

Endpoints

POST
/f/:hash

Submit form data (no auth required)

GET
/api/v1/forms

List all your forms

GET
/api/v1/forms/:id

Get form details

GET
/api/v1/forms/:id/submissions

List submissions (paginated)

DELETE
/api/v1/forms/:id/submissions/:sid

Delete a submission

Code Examples

cURL

curl -X POST https://formslist.com/f/YOUR_FORM_HASH \
  -H "Content-Type: application/json" \
  -d '{"name": "Jane", "email": "jane@example.com", "message": "Hello!"}'

JavaScript (fetch)

const res = await fetch("https://formslist.com/f/YOUR_FORM_HASH", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    name: "Jane",
    email: "jane@example.com",
    message: "Hello!",
  }),
});
const data = await res.json();
console.log(data); // { success: true }

Python (requests)

import requests

resp = requests.post(
    "https://formslist.com/f/YOUR_FORM_HASH",
    json={"name": "Jane", "email": "jane@example.com", "message": "Hello!"},
)
print(resp.json())  # {"success": True}

Authentication

The submission endpoint (POST /f/:hash) does not require authentication. The form hash in the URL identifies the target form.

The management API (/api/v1/*) requires a bearer token. Generate an API key in your FormsList dashboard under Settings → API Keys. Include it in the Authorization header:

Authorization: Bearer your_api_key_here

Rate Limits

PlanMonthly submissionsPer-minute limit
Free50030 req/min
Pro ($9/mo)5,000120 req/min
Business ($45/mo)50,000300 req/min

Frequently Asked Questions

Do I need an API key to submit forms?

No. Form submissions via POST to /f/:hash do not require authentication. The unique form hash acts as identification. API keys are only needed for the management API (listing forms, reading submissions programmatically).

What content types does the API accept?

The submission endpoint accepts application/x-www-form-urlencoded (standard HTML form), multipart/form-data (for file uploads), and application/json (for AJAX requests). The management API uses JSON exclusively.

What are the rate limits?

The free tier allows 500 submissions per month. The Pro plan supports 5,000 and the Business plan 50,000. Per-minute rate limiting is also in place to prevent abuse: 30 requests/minute on free, 120/minute on Pro, and 300/minute on Business.

Can I retrieve submissions via the API?

Yes. The GET /api/v1/forms/:id/submissions endpoint returns paginated submissions in JSON format. You can filter by date range and status. API access is available on all plans including free.

Is the API compatible with static site generators?

Yes. The form submission endpoint works with any static site — Hugo, Jekyll, Eleventy, Gatsby, Astro, Next.js, and more. No server-side code is required. Just POST to your endpoint URL.

Start building with the FormsList API

Create a free account and get your form endpoint in under a minute.

Get Started Free