SheetLink Forms vs Formcarry
Formcarry is a capable HTML-form API with file uploads on every tier and a large integration catalog. The fork with SheetLink Forms is the destination and the meters: Formcarry counts submissions and integration calls per month; SheetLink writes rows into your sheet and counts neither.
SheetLink Forms
SheetLink Forms turns form submissions into spreadsheet rows. Point any HTML form or fetch call at sheetlinkforms.com/f/your-token and accepted submissions append under the header row of a Google Sheet you pick (limited drive.file scope - only the sheets you select) or an Excel Online table whose columns define the row shape. Delivery is direct to the Google Sheets API or Microsoft Graph - no connector service in the path - with retries at 5, 30, and 120 minutes, a delivery log, and formula-injection escaping. Screening is quarantine-first: honeypot, rate limits, origin allowlist, content heuristics with a strictness dial, timing signal, optional Turnstile - and anything suspicious waits for one-click review instead of vanishing. The sl.js embed adds AJAX submits, works in SPAs, and attaches UTMs and ad click IDs to every row. Free during beta (invite required); no per-submission fees, ever. See how it works.
Formcarry
Formcarry pitches a complete loop for hand-built forms: "Create your HTML form, connect to our API, get email notifications, block spam, and use over 3000 integrations", per their homepage, which lists Google Sheets, Mailchimp, Airtable, Discord, Slack, and Notion among the catalog. Spam handling is a machine-learning filter they quote at "an accuracy rate of 98.6%", file uploads work "without any configuration" and appear in the dashboard, and auto-responses set up in minutes. Per their pricing page, the free plan covers 50 submissions/month on one form; paid plans billed annually run from Starter at $5/month (unlimited forms, 500 submissions, 1 GB uploads, 500 integration calls) through Basic at $15/month (2,000 submissions) to Premium at $80/month (30,000 submissions, 30 GB, 10,000 integration calls). It is a polished, complete product.
Side by side
| SheetLink Forms | Formcarry | |
|---|---|---|
| Spreadsheet delivery | The product itself: rows append directly into your chosen Google Sheet or Excel Online table via the official APIs, with automatic header mapping and headers seeded on empty sheets. Delivery to the sheet is never metered. | Google Sheets is listed among the 3000+ integrations on their homepage, and integration traffic is metered as "integration calls" per month by tier - 500 on Starter up to 10,000 on Premium, per their pricing page. No Excel Online destination is listed. |
| Spam handling | Layered signals - honeypot, per-form/per-IP rate limits, origin allowlist and CORS, content heuristics with a loose/normal/strict dial, timing signal, optional Turnstile - with quarantine and one-click review as the default outcome. Only the honeypot marks spam outright. | A machine-learning filter quoted at 98.6% accuracy on their homepage. That is a strong number - and it also means roughly one submission in seventy is a coin the filter can call wrong; their public pages do not describe a review queue for the ones it calls against you. |
| Ad attribution and click IDs | Automatic with the embed: utm_* plus gclid, wbraid, gbraid, fbclid, msclkid, persisted in localStorage across the visitor's pages and written onto each row with the lead. | Not listed as a feature on their homepage or pricing page. The standard route - hidden fields populated by your own script - works on Formcarry as it does anywhere. |
| Pricing model | Free during beta (invite required). No per-submission fees, ever; the planned paid plan (~$15-19/month) is unmetered. There is no second meter either - delivery to your sheet is not an "integration call". | Two meters per tier: submissions per month (50 free, 500 to 30,000 paid) and integration calls per month (500 to 10,000), per their pricing page. Fairly priced - Starter at $5/month billed annually is one of the cheapest entries in the category - but volume is counted twice. |
| File uploads | Not supported yet - multipart posts are accepted but file parts are dropped. Attachment forms should not move to SheetLink today. | Formcarry wins here. File uploads work without configuration on every tier including free, with storage from 1 GB (Starter) to 30 GB (Premium), and files display in the dashboard, per their pricing page. |
| Platform webhooks | Dedicated inbound endpoints for Webflow and Framer - one webhook covers every form on the site, with the originating form name recorded on each row. | Any platform that can POST to a URL can reach a Formcarry endpoint; onward delivery runs through their integration catalog. |
| Email notifications | None currently - rows land in the sheet, and quarantine review happens in the dashboard. If per-submission email is your workflow, Formcarry takes this row. | Formcarry wins here. "Get emails and messages from your HTML form" is the core promise on their homepage, with auto-responses to submitters set up in minutes. |
| Delivery and reliability | Asynchronous worker direct to the Sheets API / Microsoft Graph, retries at 5 min / 30 min / 2 h, a per-submission delivery log in the dashboard, and a formula-injection guard on cell values. | Submissions live in the Formcarry dashboard and fan out to email and integrations; the spreadsheet is one integration among thousands rather than the system of record. |
Choose Formcarry when...
Pick Formcarry if you need file uploads today - they work on every tier, configuration-free, while SheetLink Forms drops file parts - or if you want email notifications and auto-responses out of the box. The Starter plan at $5/month billed annually is genuinely cheap for unlimited forms, and if your workflow fans out to Slack, Discord, Mailchimp, or Airtable, the 3000+ integration catalog covers ground we do not try to cover.
Choose SheetLink Forms when...
Pick SheetLink Forms if the end state you want is a row in your spreadsheet and you would rather not budget two meters to get it. Delivery into your Google Sheet or Excel table is direct, unmetered, and logged, with retries and a formula-injection guard; ad click IDs and UTMs arrive on each row without custom JavaScript; and spam screening quarantines instead of deciding silently - a 98.6% filter is good, but the review queue is for the other 1.4%. Watch the live demo write rows into a public sheet, then request an invite.
FAQ
Can I migrate from Formcarry to SheetLink Forms?
Yes, and it is usually a one-line change. Point your form at your SheetLink endpoint:
<form action="https://sheetlinkforms.com/f/your-token" method="POST"> <input name="_slhp" tabindex="-1" autocomplete="off" style="position:absolute;left:-9999px"></form>
Keep your existing inputs exactly as they are. Field names that match your sheet's column headers map automatically - the matching is case and punctuation insensitive, so "Email", "email", and "E-mail" all land in the same column - and explicit per-field mapping is available for anything that does not line up. If you submit with fetch or XHR, change the URL in your request the same way. Full request and response details are in the developer docs.
What is an "integration call" and why does it matter?
On Formcarry's plans, each time a submission is pushed onward to a connected app, it consumes from a monthly integration-call allowance - 500/month on Starter, 2,000 on Basic, 10,000 on Premium, per their pricing page. If every submission goes to a spreadsheet, your effective monthly capacity is whichever meter runs out first. SheetLink Forms has no equivalent concept: writing the row into your sheet is the product, not a metered add-on.
Formcarry claims 98.6% spam accuracy - is that not enough?
It is a good filter, and for many forms it is enough. Our concern is the failure mode, not the rate: at any accuracy short of perfect, some legitimate submissions get called spam, and a filter-only pipeline discards them silently. SheetLink quarantines everything suspicious for one-click review - approve delivers the row - so the cost of a wrong call is seconds of your time rather than a lost lead. Only the honeypot marks spam outright. See how it works.
I need uploads and a spreadsheet. What should I do?
Honest answer: use Formcarry (uploads on every tier, including free) or split the flow - post text fields to your SheetLink endpoint for the sheet and attribution, and collect files through a dedicated uploader. SheetLink Forms currently accepts multipart posts but drops the file parts, and we would rather say so plainly than have you discover it after switching.
Comparison facts reference Formcarry's public documentation and pricing pages and were checked at publish time; tell us if something is out of date.