Lead Capture Form API — Free Endpoint for Any Website

A lead capture form API is a hosted endpoint your lead form submits to instead of a backend you build yourself. splitforms is that endpoint — POST your form to https://splitforms.com/api/submitwith a hidden access_key and it stores the lead, filters spam, and emails your team instantly. It works with a plain HTML form action or a fetch() call that sends JSON, and it's free for up to 500 leads a month.

contact-form.html

This is the form your leads will fill out

Try it — enter a test lead and hit send.

What happens next ⚡

  • 📥Submission received — stored in your searchable dashboard
  • 📧Email notification — delivered to your inbox instantly
  • 🛡️Spam filtered — AI classifier + honeypot, no CAPTCHA
  • 🔗Webhook fired — optional: forward to Slack, Discord, Sheets
  • ↩️User redirected — to your thank-you page
Response time
14ms
median edge latency across 14 regions
Get Free Access Key →

500 submissions/month free · No credit card

Need a different lead type instead? See lead capture form templates for demo requests, waitlists, and lead magnets.

Lead Form Code (Copy & Paste)

<form action="https://splitforms.com/api/submit" method="POST">
  <input type="hidden" name="access_key" value="YOUR_KEY">
  <input type="hidden" name="subject" value="New Lead from Website">

  <input type="text" name="name" placeholder="Full Name" required>
  <input type="email" name="email" placeholder="Work Email" required>
  <input type="text" name="company" placeholder="Company">
  <select name="company_size">
    <option value="">Company Size</option>
    <option value="1-10">1-10</option>
    <option value="11-50">11-50</option>
    <option value="51-200">51-200</option>
    <option value="200+">200+</option>
  </select>
  <textarea name="message" placeholder="What do you need?" required></textarea>

  <input type="checkbox" name="botcheck" style="display:none" tabindex="-1" autocomplete="off">
  <button type="submit">Get My Quote</button>
</form>

Submit Leads as JSON (Fetch API)

Building the form yourself in React or Next.js, or capturing leads from a mobile app or backend job? POST JSON to the same endpoint instead of submitting an HTML form. See the React form guide or the Next.js form guide for framework-specific examples.

// Submit a lead as JSON — from a SPA, mobile app, or serverless function
await fetch("https://splitforms.com/api/submit", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    access_key: "YOUR_ACCESS_KEY",
    form_loaded_at: pageLoadedAt, // timestamp set when the page/form loaded
    name: "Jane Doe",
    email: "jane@company.com",
    company: "Acme Inc.",
    message: "Interested in the Pro plan",
    botcheck: ""                  // honeypot — must stay empty
  })
});

How to Connect a Lead Capture Form to the API

  1. Step 1

    Get a free access key

    Sign up free and build your form in the drag-drop dashboard, or just copy the HTML below. splitforms generates the access_key automatically — no card required.

  2. Step 2

    Add the required hidden fields

    access_key identifies which form a submission belongs to. An empty botcheck honeypot and a form_loaded_at timestamp power the spam filtering — leave botcheck blank and set form_loaded_at when the page loads.

  3. Step 3

    Point the form at the endpoint

    Set the HTML form's action to https://splitforms.com/api/submit with method POST — or POST a JSON body from your own code with the same fields. Multipart is supported for file uploads.

  4. Step 4

    Send one real test lead

    Submit it and confirm it lands in the dashboard and your inbox. Email notifications to the form owner are free on every plan, including Free.

  5. Step 5

    Control what happens next

    Use subject to customize the notification email's subject line, redirect to send the visitor to a thank-you page, and replyto so you can reply straight to the lead.

  6. Step 6

    Route leads further

    On Starter ($1/mo) and above, add a signed webhook or a native integration — Google Sheets, Notion, Airtable, Slack, Discord, Telegram, WhatsApp, or Mailchimp — so leads move without anyone checking the dashboard.

Full details on rate limits, reserved field names, and the spam stack live in the spam protection docs. Compare plan limits — Free at 500/mo up to Business unlimited — on the pricing page.

Send Leads to Your CRM

On Starter ($1/mo) and above, every lead triggers a signed webhook. Forward leads to:

Mailchimp, Slack, and Google Sheets are native one-click integrations — no webhook needed. Salesforce, HubSpot, and Pipedrive connect through a signed webhook — point it directly at a receiving URL, or route it through Zapier, Make, or n8n. See how form-to-webhook delivery works, including the HMAC-SHA256 signature format, in sending form data to a webhook.

FAQ

What is a lead capture form API?

A lead capture form API is a hosted endpoint that a lead capture form POSTs to instead of a server you build and maintain yourself. splitforms is that endpoint — https://splitforms.com/api/submit — it stores the lead, filters spam, emails your team, and can forward the data to a webhook or CRM tool.

How do I connect a lead capture form to the API?

Set the form's action (or a fetch call) to https://splitforms.com/api/submit with method POST, add a hidden access_key field with your form's key, and include an empty botcheck honeypot plus a form_loaded_at timestamp field. Submissions appear in your dashboard and inbox immediately.

Can I submit leads as JSON instead of an HTML form?

Yes. POST a JSON body with Content-Type: application/json to the same endpoint — useful for single-page apps, mobile apps, or a serverless function that collects a lead before forwarding it. Multipart form data is also supported, for example when a lead attaches a file.

Can I send leads to my CRM or other tools?

Yes. Google Sheets, Notion, Airtable, Slack, Discord, Telegram, WhatsApp, and Mailchimp connect with one click from the dashboard. On Starter ($1/mo) and above you can also add a signed webhook that forwards each submission's JSON to Salesforce, HubSpot, Pipedrive, Zapier, Make, or n8n.

How much does a lead capture form API cost?

Free for up to 500 leads a month, with unlimited forms, email notifications, and spam filtering included. Starter is $1/month for 1,000 leads plus CSV/XML/PDF exports, webhooks, and an auto-responder. Pro is $5/month for 5,000 leads plus CC/BCC and priority support.

What happens after a visitor submits the lead form?

By default splitforms returns a JSON success response. Add a hidden redirect field with a URL to send the visitor to a thank-you page instead, and a subject field to control the notification email's subject line.

Is the lead capture form API rate-limited?

Yes. Each form accepts up to 6 submissions per minute per IP address, with a sustained cap of 20 per 15 minutes. Requests past that limit return HTTP 429.

What stops spam submissions from hitting the API?

An empty botcheck honeypot field, a form_loaded_at time-trap, server-side content heuristics, per-form allowed-domains with strict origin mode, and an optional reCAPTCHA v2 you can add with your own secret key.

Start capturing leads — free

500 leads/month, no credit card, no backend.

Get Free Access Key →

Questions? Email hello@splitforms.com