form_submit
Auto-detect form fields, fill data, validate, and submit with support for file uploads and multi-step forms. Perfect for automated data entry, form testing, job applications, and survey automation.
Use Cases
Automated Data Entry
Fill and submit forms automatically for bulk data entry tasks
Form Testing
Test form validation, error handling, and submission workflows
Job Applications
Automate filling and submitting job application forms
Survey Automation
Complete surveys and questionnaires programmatically
Lead Generation
Submit contact forms and lead capture forms across multiple sites
Multi-Step Forms
Handle complex multi-step wizards with conditional logic
Endpoint
/api/v1/tools/form_submit
Parameters
Name | Type | Required | Default | Description |
---|---|---|---|---|
url | string | Required | - | The URL of the page containing the form Example: https://example.com/contact |
fields | array | Required | - | Array of form fields to fill with selectors and values Example: [{"selector": "#email", "value": "user@example.com", "type": "text"}] |
submitSelector | string | Optional | - | CSS selector of the submit button (auto-detected if not provided) Example: #submit-button |
waitForNavigation | boolean | Optional | true | Wait for navigation after form submission Example: true |
captureResponse | boolean | Optional | true | Capture the response page content after submission Example: true |
Supported Field Types
text
Text input fieldemail
Email input fieldpassword
Password input fieldnumber
Number input fieldselect
Dropdown select elementcheckbox
Checkbox input (value: true/false)radio
Radio button inputtextarea
Multi-line text areafile
File upload input (base64 encoded)Request Examples
Response Example
{ "success": true, "data": { "success": true, "submittedData": { "name": "John Doe", "email": "john@example.com", "message": "Hello, I am interested in your services", "newsletter": true }, "responseUrl": "https://example.com/thank-you", "responseContent": "Thank you for contacting us!
...", "validationErrors": [], "formDetails": { "action": "/api/contact", "method": "POST", "fieldCount": 4, "requiredFields": 3 } }, "credits_used": 3, "credits_remaining": 997, "processing_time": 3240}
data.success
Whether the form was submitted successfullydata.submittedData
Object containing all field values that were submitteddata.responseUrl
URL of the page after form submission (may redirect)data.responseContent
HTML content of the response page (if captureResponse: true)data.validationErrors
Array of validation errors (empty if successful)data.formDetails
Information about the form (action, method, field count)credits_used
Credits deducted for this request (3 per form submission)processing_time
Total time including form filling and submissionError Handling
Field Not Found (404 Not Found)
One or more field selectors didn't match any elements. Verify the CSS selectors are correct.
Validation Failed (422 Unprocessable Entity)
The form validation failed. Check the validationErrors array in the response for details.
Submit Button Not Found (404 Not Found)
The submit button selector didn't match any element. Try omitting submitSelector for auto-detection.
Insufficient Credits (402 Payment Required)
Your account doesn't have enough credits (need 3). Purchase more credits or upgrade your plan.
Rate Limit Exceeded (429 Too Many Requests)
You've exceeded your plan's rate limit. Wait a moment or upgrade your plan for higher limits.
Credit Cost
Free Plan: 1,000 credits/month = 333 form submissions
Hobby Plan: 5,000 credits/month = 1,666 form submissions ($19/mo)
Professional Plan: 50,000 credits/month = 16,666 form submissions ($99/mo)
Business Plan: 250,000 credits/month = 83,333 form submissions ($399/mo)