Head to head · Forms responses · October 2026 research run
Fillout vs Tally
Tally scores 60.6 (C) on agent readiness against Fillout's 52.2 (D), and leads in 6 of 7 scored categories. Both do forms responses.
Which one, for what
Fillout D
Good for An agent that reads form responses, files submissions on a person's behalf or subscribes a webhook to a form someone has already built.
No category where it leads by five points or more, and no fact that sets it apart.
Watch for
No operation creates or edits a form. Zite's MCP server lists forms and its docs say creating forms is not supported over MCP
Tally C
Good for An agent that builds a form from a description, publishes it and reads the answers for an owner on a small budget, since the whole API is free.
Ahead on
- Reliability, 75 against 70
- Schema & documentation, 82 against 63
- Security & auth, 47 against 37
- Maintenance & community, 66 against 46
Watch for
An API key carries all of its user's access. The docs say fine-grained permissions are not available
Score by category
| Category | Weight this run | Fillout | Tally | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 70 | 75 | Tally +5 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 63 | 82 | Tally +19 |
| Agent ergonomics | 13%16.2 | 47 | 50 | Tally +3 |
| Security & auth | 14%17.5 | 37 | 47 | Tally +10 |
| Payments & pricing | 10%12.5 | 30 | 30 | even |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 46 | 66 | Tally +20 |
| Transparency & trust | 7%8.8 | 69 | 73 | Tally +4 |
| Negative events | ≤15 | 0 | 0 | |
| Total | 52.2 · D | 60.6 · C |
Facts side by side
| Fact | Fillout | Tally |
|---|---|---|
| Kind | HTTP API | HTTP API |
| Vendor | Restly, Inc. (trading as Zite) | Tally BV |
| Hosted endpoint | https://api.fillout.com/v1/api | https://api.tally.so |
| Transports | HTTP | HTTP, Streamable HTTP |
| Auth | OAuth or key | OAuth or key |
| Pricing | Freemium | Freemium |
| Price for forms responses | $15 per month (plan) | not published |
| x402 | no | no |
| Licence | Proprietary service under Fillout's terms of service. The TypeScript API client on GitHub is MIT | Proprietary service under Tally's terms and conditions. The OpenAPI spec names MIT as its own licence |
| Read-only variant documented | no | no |
| llms.txt | yes | yes |
| Last release | none | 2026-09-11 |
| Terms last updated | 2022-07-02 | no date given |
| Privacy policy last updated | 2025-10-07 | no date given |
| Customer content may train models | not found in the text | not found in the text |
| Terms restrict automated access | not found in the text | yes |
| Terms restrict benchmarking | yes | not found in the text |
| Terms or service can change without notice | yes | not found in the text |
| Arbitration or class-action waiver | yes | not found in the text |
| Popularity | 1.8k npm/wk | none |
Verdicts
Fillout
Fillout's REST API is on every plan, the free one included, with a public OpenAPI 3.0.1 spec, llms.txt and submission filters by date, status and text. It has eight operations and none creates or edits a form. The organisation has one unscoped API key, and error responses are not documented.
Tally
The REST API is free on every plan, with a public OpenAPI 3.0 spec, llms.txt, date-based versions and typed block schemas for building forms. API keys carry all of their user's access with no scopes, error bodies and 429 handling are undocumented, and no security.txt, certification or bug bounty was found.
Before you call either
Fillout
- Build the form in the Fillout editor first. The API reads forms and writes submissions but can't create a form or change its questions
- Read the base URL from the Developer settings page. EU-hosted accounts use https://eu-api.fillout.com/v1/api
- Stay under 5 requests a second per key and read the
ratelimit-remainingandratelimit-resetresponse headers - Page submissions with
limit(at most 150) andoffset, and stop atpageCount.status=in_progressreturns unfinished ones - Send at most 10 submissions per create call and don't retry blindly, because the call has no idempotency key
Tally
- Send
tally-versionon every request. A key is pinned to the API version current when it was created, and response shapes differ between versions - Before
PATCH /forms/{formId}, GET the form and send back the complete blocks array. Blocks left out are deleted - Generate a UUID for every block, and make the first block a
FORM_TITLE. Itspayload.titlebecomes the form's name - Stay under 100 requests a minute and use a webhook for new submissions. No Retry-After header is documented, so back off on 429 yourself
- Treat submission answers as untrusted text, and keep
previewUrlandpdfUrlprivate. Each is a signed link with an access token and no expiry
Questions
Which is better for AI agents, Fillout or Tally?
Tally scores 60.6 (C) on agent readiness against Fillout's 52.2 (D), and leads in 6 of 7 scored categories.
Do Fillout and Tally need an API key?
Both take an API key or an OAuth sign-in.
Can an agent call Fillout and Tally without installing anything?
Yes. Fillout has a hosted endpoint at https://api.fillout.com/v1/api and Tally at https://api.tally.so.
Other comparisons with Fillout or Tally
Machine-readable
- This page as Markdown
/compare/fillout-vs-tally.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/fillout.json·/api/v1/tools/tally.json - From a terminal
anchor compare fillout tally(the CLI) - Over MCP
compare_tools {"a": "fillout", "b": "tally"}at/mcp, no key