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