Formspree works hard to prevent spam, but it's one of the realities of an open form on the Internet. Here are several techniques you can use with Formspree to prevent spam on your forms.
Use reCAPTCHA
reCAPTCHA is the single most effective method for preventing spam on your form. Due to its presence across the web, the vast majority of users don't have to do anything besides click a checkbox. Read more here.
Mark submissions as spam
Formspree automatically scans submissions and marks them as spam using a machine learning model. If you receive a submission that is spam, you can help train our model by marking it. To mark a submission as spam, click the link at the bottom of the submission email. The more information we have, the better we can tailor our spam filter to your needs.
Use form ID URLs instead of email URLs
Originally Formspree action
URLs included an email address, allowing bots to discover your email address and send spam. They looked like this:
<form action="https://formspree.io/your@email.com" method="POST">
Today Formspree URLs contain a unique ID that hides your email address. To obtain a new Formspree URL, just sign up at https://formspree.io/register and create a form by clicking the + New Form
button. You'll find the URL on the Integration page after creating the form. It will look like this:
<form action="https://formspree.io/f/a_form_id" method="POST">
For more information see our article on phasing out legacy forms (email URLs).
Use a honeypot field
You can add a special hidden field to try to catch spam bots. Read more here.
Restrict your form to a specific domain
You can set the "Restrict to domain" setting on your form in order to avoid submissions coming from unexpected places. Read more here.
Add custom spam rules
Business users can create custom honeypot fields, and add rules to flag submissions contain specific patterns of spam content. Read more here.