API Reference
Integrate FormsIntel into any application with our RESTful API. Securely submit forms, fetch analytics, and retrieve raw responses programmatically.
Base URL & Authentication
All API requests must be made over HTTPS. Plain HTTP requests will be refused.
https://api.formsintel.com/v1Authenticate your requests by including an API key in the Authorization header as a Bearer token.
curl -H "Authorization: Bearer ff_live_YOUR_API_KEY_HERE" https://api.formsintel.com/v1/...
POSTSubmit Form
Headless submission endpoint. Accepts form data and immediately runs it through the Sub-Second Velocity Shield and validation pipeline.
Request Body (application/json)
Any flat JSON object representing the form fields. Keys should match the field names defined in your builder.
{
"name": "Jane Doe",
"email": "jane@example.com",
"company_size": 42
}Response (200 OK)
{
"success": true,
"message": "Submission received successfully",
"submissionId": "sub_987xyz123"
}GETFetch Analytics
Retrieve aggregated analytics for a specific form, including views, submission counts, and drop-off funnel data. Requires API Key.
Response (200 OK)
{
"success": true,
"data": {
"views": 1502,
"submissions": 340,
"conversionRate": 22.63,
"averageCompletionTime": 14.2,
"spamCount": 12,
"funnel": [
{ "field": "email", "interactions": 1400, "dropoffs": 50 },
{ "field": "phone", "interactions": 1350, "dropoffs": 400 }
]
}
}GETFetch Responses
Retrieve raw submission data for a form, returned in reverse chronological order. Requires API Key.
Query Parameters
limit(optional) — Number of results to return (max 100, default 50).page(optional) — Page number for pagination (default 1).status(optional) — Filter bycleanorspam.
Response (200 OK)
{
"success": true,
"pagination": {
"total": 340,
"page": 1,
"limit": 50
},
"data": [
{
"_id": "sub_987xyz123",
"data": {
"name": "Jane Doe",
"email": "jane@example.com"
},
"telemetry": {
"ipAddress": "192.168.1.1",
"isSpam": false,
"completionSeconds": 12.5
},
"createdAt": "2026-05-27T10:30:00Z"
}
]
}Error Handling
FormsIntel uses conventional HTTP response codes to indicate the success or failure of an API request.
| Code | Description |
|---|---|
| 200 | OK — Request was successful. |
| 400 | Bad Request — Invalid JSON, missing required fields. |
| 401 | Unauthorized — API key is missing or invalid. |
| 403 | Forbidden — API key does not have access to this form. |
| 404 | Not Found — The specified form ID does not exist. |
| 429 | Too Many Requests — Rate limit exceeded. |
| 500 | Internal Server Error — Something went wrong on our end. |
Rate Limits
API rate limits are applied per account based on your billing plan to ensure platform stability.
| Plan | Submissions (POST) | Data Retrieval (GET) |
|---|---|---|
| Free | 60 / minute | 30 / minute |
| Pro | 300 / minute | 120 / minute |
| Business | 1000 / minute | 600 / minute |