Docs
API & Developers

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/v1

Authenticate your requests by including an API key in the Authorization header as a Bearer token.

bash
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.

/v1/f/:formId

Request Body (application/json)

Any flat JSON object representing the form fields. Keys should match the field names defined in your builder.

json
{
  "name": "Jane Doe",
  "email": "jane@example.com",
  "company_size": 42
}

Response (200 OK)

json
{
  "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.

/v1/f/:formId/analytics

Response (200 OK)

json
{
  "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.

/v1/f/:formId/responses

Query Parameters

  • limit (optional) — Number of results to return (max 100, default 50).
  • page (optional) — Page number for pagination (default 1).
  • status (optional) — Filter by clean or spam.

Response (200 OK)

json
{
  "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.

CodeDescription
200OK — Request was successful.
400Bad Request — Invalid JSON, missing required fields.
401Unauthorized — API key is missing or invalid.
403Forbidden — API key does not have access to this form.
404Not Found — The specified form ID does not exist.
429Too Many Requests — Rate limit exceeded.
500Internal 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.

PlanSubmissions (POST)Data Retrieval (GET)
Free60 / minute30 / minute
Pro300 / minute120 / minute
Business1000 / minute600 / minute