HTTPForms API Documentation

The HTTPForms API allows you to programmatically access your form submission data. Use your unique User ID as the API key to authenticate requests.

Getting Started

🔑 Your API Key

You must be logged in to see your API key.

Base URL

http://httpforms.com/api/v1

Authentication

All API requests use your User ID as the authentication key. Include it in the URL path as shown in the endpoints below.

⚠️ Subscription Required

An active subscription is required to use the API. If your subscription expires or is canceled, API requests will return a 403 error until the subscription is renewed.

Endpoints

GET /api/v1/user/{userId}/submissions

Retrieve all form submissions for your account.

Parameters

Parameter Type Description
userId string Your User ID (API Key) - required in URL path
form_id string Optional: Filter by specific form ID
limit integer Optional: Number of results (default: 50, max: 100)
offset integer Optional: Skip number of results (default: 0)

Example Request

curl -X GET \
  'http://httpforms.com/api/v1/user/YOUR_USER_ID/submissions?limit=10&offset=0' \
  -H 'Content-Type: application/json'

Example Response

{
  "success": true,
  "data": {
    "submissions": [
      {
        "id": "submission-uuid",
        "form_id": "form-uuid", 
        "form_name": "Contact Form",
        "data": {
          "name": "John Doe",
          "email": "john@example.com",
          "message": "Hello!"
        },
        "domain": "example.com",
        "created_at": "2025-01-03T10:30:00.000Z"
      }
    ],
    "total": 25,
    "limit": 10,
    "offset": 0,
    "has_more": true,
    "user": {
      "id": "user-uuid",
      "name": "Your Name",
      "email": "your@email.com"
    }
  }
}

Response Format

Success Response

Field Type Description
success boolean Always true for successful requests
data.submissions array Array of form submissions
data.total integer Total number of submissions
data.has_more boolean Whether more results are available

Error Response

{
  "success": false,
  "message": "Error description"
}

Error Codes

Code Description
200 Success
401 Invalid API key (User ID)
403 Active subscription required
500 Internal server error

Code Examples

JavaScript (Fetch)

const userId = 'YOUR_USER_ID';
const apiUrl = 'http://httpforms.com/api/v1';

async function getSubmissions() {
  try {
    const response = await fetch(`${apiUrl}/user/${userId}/submissions?limit=10`);
    const data = await response.json();
    
    if (data.success) {
      console.log('Submissions:', data.data.submissions);
      console.log('Total:', data.data.total);
    } else {
      console.error('Error:', data.message);
    }
  } catch (error) {
    console.error('Request failed:', error);
  }
}

Python (Requests)

import requests

user_id = 'YOUR_USER_ID'
api_url = 'http://httpforms.com/api/v1'

def get_submissions():
    url = f'{api_url}/user/{user_id}/submissions'
    params = {'limit': 10, 'offset': 0}
    
    try:
        response = requests.get(url, params=params)
        data = response.json()
        
        if data['success']:
            print('Submissions:', data['data']['submissions'])
            print('Total:', data['data']['total'])
        else:
            print('Error:', data['message'])
    except Exception as e:
        print('Request failed:', e)

get_submissions()

PHP

Rate Limits & Best Practices

  • API requests are currently not rate limited, but please use responsibly
  • Maximum 100 results per request (use pagination for larger datasets)
  • Keep your User ID secure - treat it like a password
  • Use HTTPS for all API requests to ensure data security
  • Cache responses when appropriate to reduce API calls

Support

If you need help with the API or have questions, please contact our support team or check the dashboard for more tools and options.