A free form API for any website, including the ones you build with AI
Paste one URL into your form, or one prompt into your AI assistant. Formbold stores each submission, filters spam and sends it to your inbox, your apps or your own server. No server to run.
Free plan: 250 submissions a month across 10 forms. No credit card needed.

Live in three steps
- 1
Create a form
Sign up, click Create New Form and give it a name. The Form Setup tab shows your endpoint, like https://formbold.com/s/YOUR_FORM_ID.
- 2
Point your form at it
Paste the endpoint into your form's action attribute, POST to it with fetch(), or hand the prompt below to your AI assistant. Every input needs a name, because Formbold keys each value by that name.
- 3
Send a test
Use the Test Form tab, or submit your live form once. The entry shows up in Submissions and lands in your inbox and connected apps.
Connect with a prompt, a form tag or fetch()
Replace {form_id} with the ID from your form's Setup tab. Guides for React, Next.js, Vue, Lovable, Bolt.new and more are in the docs.
AI prompt
Built your site with Lovable, Bolt.new, v0, Replit, Cursor or Claude Code? Add your endpoint to this prompt and paste it in. Your assistant connects the form and keeps your design.
HTML form
No JavaScript needed. Add enctype="multipart/form-data" when the form takes files.
<form action="https://formbold.com/s/{form_id}" method="POST">
<input type="email" name="email" required />
<textarea name="message" required></textarea>
<button type="submit">Send</button>
</form>JavaScript fetch()
Submit without a page reload from React, Vue, Next.js or plain JavaScript.
const form = document.querySelector("form");
form.addEventListener("submit", async (event) => {
event.preventDefault();
await fetch("https://formbold.com/s/{form_id}", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(Object.fromEntries(new FormData(form))),
});
});REST API
Fetch a form's submissions with an API token. Turn on HTTP API in the form's settings first, and keep the token on your server.
curl https://api.formbold.com/api/forms/{form_id}/submissions \
-H "Authorization: Bearer YOUR_API_TOKEN"Everything a form backend should do
No Server to Run
No PHP, Node or Python handler to deploy or keep alive. Formbold receives the POST, stores the submission and handles delivery.
Made for AI-Built Sites
AI builders make the form but not the backend behind it. One prompt connects a Lovable, Bolt.new, v0 or Replit site to Formbold, with nothing extra to host.
Spam Filtering Built In
The Basic Spam Filter checks every submission on our servers. Add reCAPTCHA automatically, or use your own keys for fetch() forms.
Email Notifications
Every submission is emailed to you on every plan. Starter and up add more recipients, CC, BCC and your own subject line.
App Integrations
Send submissions to Slack, Google Sheets, Notion, Discord, Telegram, HubSpot, Mailchimp, Zendesk, Zapier or Make. Starter and up.
Webhooks to Your Server
Get each submission as a JSON POST to your own URL, with an is_spam flag so your handler can skip junk. Starter and up.
File Uploads
Accept resumes, images and PDFs with a multipart form. Each submission links to its files. Starter and up.
Allowed Domains
List the sites that may post to a form, including staging, and Formbold rejects submissions from anywhere else. Starter and up.
REST API and MCP Server
Read submissions back with the REST API. Claude Code, Cursor and Codex can create forms and read submissions through MCP. Every plan, Free included.
Frequently asked questions
Have questions? Find clear answers about Formbold's features, pricing, integrations, security, and everything you need to get started.
Still have a question?
The docs cover setup, framework guides, integrations and spam protection, step by step.
Still have a question?
The docs cover setup, framework guides, integrations and spam protection, step by step.
Start building automated forms in 60 seconds
No backend required. Just paste your endpoint and start receiving leads, messages, and submissions immediately.