Fillout
by Restly, Inc. (trading as Zite) HTTP API in Forms, surveys & structured intake
Hosted
Restly, Inc. · fillout.com since 2001 · status page · who's behind it
Fillout is a form, survey and quiz builder from Restly, Inc., which trades as Zite. Its REST API lists forms, reads, creates and deletes submissions, and registers webhooks, with an organisation API key or an OAuth app.
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.
Is this your product? Claim this listing or verify it
Assessment. 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.
Facts
- Transport
- HTTP
- Endpoint
https://api.fillout.com/v1/api- Auth
- OAuth or key
- Pricing
- Freemium · $15 / mo
- x402
- No
- Licence
- Proprietary service under Fillout's terms of service. The TypeScript API client on GitHub is MIT
- Packages
npm@fillout/api- llms.txt
- published
- npm / week
- 1.8k
- Surface graded
- Fillout REST API v1 at https://api.fillout.com/v1/api (EU accounts https://eu-api.fillout.com/v1/api), eight operations, OpenAPI 3.0.1
- Operations
- GET /forms, GET /forms/{formId}, GET, POST /forms/{formId}/submissions, GET, DELETE /forms/{formId}/submissions/{submissionId}, POST /webhook/create, POST /webhook/delete
- Form creation
- Not available through the API. Forms are built in the Fillout editor or by its in-product Form Agent
- MCP
- No Fillout MCP server. Zite's server at https://mcp.zite.com/mcp (streamable HTTP, OAuth) lists a workspace's Fillout forms and can't create them, per its overview
- Credentials
- One API key per organisation, regenerated or revoked in Developer settings, or an OAuth app token. No scopes documented
- Rate limits
- 5 requests a second per account or API key, with
ratelimit-limit,ratelimit-remainingandratelimit-resetresponse headers - Pagination
limit1 to 150 (default 50),offset,afterDate,beforeDate,status,sort,search. Responses carrytotalResponsesandpageCount- Writes
- Create up to 10 submissions per call, delete a submission by ID, create and remove webhooks. No idempotency key
- Free tier
- Free plan with REST API access, 1,000 responses a month, unlimited forms and seats
- SDK
- TypeScript
@fillout/api1.5.0 (5 May 2025), MIT, with aregion: "eu"option. No other official language found - Audit
- Audit logs on Enterprise plans, kept 30 days, covering logins, API key changes and OAuth apps, with an API Keys actor type
- Certifications
- SOC 2 Type 2 per the security page, which also says a bug bounty programme is in place. Reports go to security@fillout.com
- Hosting
- AWS through Render in the United States. EU hosting of submissions on the Team plan and above
- Status
- https://fillout.statuspage.io (also status.zite.com) on Statuspage, seven components including Developer API
- Capabilities
- forms.responses forms.webhooks forms.surveys forms.embed
Facts verified 2026-10-08 from vendor docs, repositories and package registries. JSON · Markdown
Strengths
- REST API access is included on the free plan, which allows 1,000 responses a month with unlimited forms and seats
- Public OpenAPI 3.0.1 spec at fillout.com/help/openapi.json, plus llms.txt and a Markdown copy of every help page
- Submissions can be filtered by date range, status and search text, sorted, and paged with
limit(1 to 150) andoffset - The spec types 38 question kinds as an enum, so each answer arrives with its field type
- Subprocessor list with countries and a column showing which ones may process submission data
Weaknesses
- No operation creates or edits a form. Zite's MCP server lists forms and its docs say creating forms is not supported over MCP
- One API key per organisation with no scopes or read-only mode. Regenerating it stops the old key immediately
- The spec documents only 200 responses. A request with no key returned 400, not 401, when we tried it
- No idempotency key on
POST /forms/{formId}/submissions, and no webhook signing or retry policy in the reviewed docs - The only official SDK is TypeScript,
@fillout/api1.5.0, last published on 5 May 2025
Before you call it notes for agents
- 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
Who's behind it provenance 85/100
- Legal entity namedRestly, Inc.20/20
- Domain agefillout.com, registered 2001-05-31 (25 years)15/15
- Endpoint on the vendor's domainapi.fillout.com15/15
- Terms of serviceread, states 6 of the 7 things a reader expects, and has 2 clauses that cost points5.1/10
- Privacy policyread, states 8 of the 8 things a reader expects10/10
- Status pagefillout.statuspage.io10/10
- Changelogpublished10/10
- security.txtnot found0/10
Terms and privacy, as read
Terms of service dated 2022-07-02, states 6 of 7, 5 to know
TL;DR Dated 2022-07-02. States 6 of the 7 things a reader expects, and we didn't find a service level. To know before relying on it, limits on benchmarking, changes without notice, cut-off without notice or for any reason, arbitration or a class action waiver and no update in three years.
Restricts benchmarking or competitive usecosts points
You shall not use the Services for purposes of competitive analysis, the development of a competing product or service, or any other purpose that is to our commercial disadvantage;
A clause against publishing test results or using the service to build something that competes.
Says the terms or the service can change without noticecosts points
We reserve the right to modify, suspend or discontinue all or any aspect of the Services with or without notice to you, including the suspension or takedown of any Form.
A customer may not hear about a change before it applies.
Says access can be ended without notice or for any reason
We may suspend or cancel your Account without notice to you if you violate this Agreement, or for any reason at all.
The vendor can suspend or close an account without warning, which would stop an agent mid-task.
Requires arbitration or waives class actions
The parties further agree that any arbitration shall be conducted in their individual capacities only and not as a class action or other representative action, and the parties expressly waive their right to file a class action or seek relief on a class basis.
Disputes go to an arbitrator, or a customer gives up joining a class action or a jury trial.
Has not been updated for three years or more
Effective Date: July 2, 2022
The date the document gives for itself is more than three years ago.
Gives the date it was last updated Last updated 2022-07-02
Effective Date: July 2, 2022
Without a date nobody can tell which version they agreed to.
Names the governing law or courts The law of the State of Illinois
The Terms and the relationship between you and Fillout shall be governed by the laws of the State of Illinois without regard to conflict of law provisions
Says where a dispute would be heard and under whose law.
States a limit on its liability Rules out indirect and consequential losses, with no cap named in this sentence
EXCEPT AS OTHERWISE SPECIFICALLY PROVIDED IN NO EVENT SHALL FILLOUT, NOR ITS OFFICERS, DIRECTORS, EMPLOYEES, AGENTS, AFFILIATES, PARTNERS, SUPPLIERS, CONTRACTORS, OR CONTENT PROVIDERS, BE LIABLE UNDER CONTRACT, TORT, STRICT LIABILITY, NEGLIGENCE, OR ANY OTHER LEGAL OR EQUITABLE THEORY WITH RESPECT TO THE SERVICE (I) F…
Says the most the vendor would owe if the service causes a loss.
Says how the agreement or account can be ended
If your payment fails or if your payment information expires, you will be notified by Fillout and access to the Services will be suspended until payment is received.
Says when the vendor can cut off access and what notice it gives.
Says how changes to the terms are announced Says it gives notice of a change
If changes to the Terms or Privacy Policy occur, we will notify you by posting the updated terms on the Site, or by email to the email affiliated with your account.
Says whether a customer hears about a change before it binds them.
Lists what users may not do
As a condition of use, you agree not to use the Services for any purpose that is prohibited by the Terms or law.
The acceptable-use rules an agent acting for a user has to stay inside.
Refers to a service level or uptime commitment
Not found in the text.
Says whether availability is promised and where the promise is written.
Paid subscriptions renew automatically unless written notice of cancellation is given at least 30 days before the next billing period.
unless you notify us in writing of your intent to cancel your paid subscription at least 30 days prior to your next subscription billing period.
Noted by a second reader on 2026-10-08.
When an account is cancelled, Fillout may remove the account information and settings from its servers without liability or notice.
If your Account is cancelled, we reserve the right to remove your account information along with any account settings from our servers with NO liability or notice to you.
Noted by a second reader on 2026-10-08.
A dispute must first be described to Fillout in writing within 30 days of the event that gave rise to it.
In order to initiate this dispute resolution process, you must first send us a written description of your problem or dispute within thirty (30) days of the occurrence of the event giving rise to the dispute by sending an email to support@fillout.com.
Noted by a second reader on 2026-10-08.
The document · read 2026-10-08 · 6,817 words
Privacy policy dated 2025-10-07, states 8 of 8
TL;DR Dated 2025-10-07. States all 8 things a reader expects. The rules found no clause to flag.
Gives the date it was last updated Last updated 2025-10-07
Last modified: October 7, 2025
Without a date nobody can tell which version applied when data was collected.
Says what personal data is collected
This policy (“Privacy Policy”) describes the types of information we may collect from you and our practices for collecting, using, maintaining, protecting, and disclosing such information.
The basic statement a privacy policy exists to make.
Says how long data is kept For as long as needed, with no period named
We will only retain your Personal Data for as long as is necessary to fulfill the purposes for which it is collected, or to comply with our legal obligations.
Says when data sent to the service is deleted.
Says who else receives the data
Right to data portability: You have the right to transfer your information to a third party in a structured, commonly used and machine-readable format, in circumstances where the information is processed with your consent or by automated means.
Names the sub-processors or service providers the data is passed to, or where they are listed.
Says whether personal data is sold or shared for advertising Says it does not sell personal data
We do not sell or otherwise disclose Personal Data specific personal or transactional information to anyone except as described below.
A plain statement either way.
Says what rights people have over their data
Right to access: You have the right to access (and obtain a copy of, if required) the categories of personal information that we hold about you, including the information's source, purpose and period of processing, and the persons to whom the information is shared.
Access, correction, deletion and objection, and how to use them.
Gives a privacy contact privacy@fillout.com
If you have any questions or comments about this Privacy Policy, or if you would like to file a request about the data we hold or file a deletion request, please contact our Privacy team by email at privacy@fillout.com or by mail at:
An address or officer to send a request to.
Says where data is transferred or stored Relies on standard contractual clauses
For End Users that pay for our enterprise-level Services, Personal Data about End Users and Visitors can be stored in the European Union (EU) pursuant to European Commission-approved Standard Contractual Clauses as needed to perform our Services that you have requested from us, or with your consent.
The countries data goes to and the safeguard used.
The policy says the Services are intended only for use inside the United States by United States residents aged 18 or over.
The Services are only intended to be used inside the United States by residents of the United States who are 18 years of age or older.
Noted by a second reader on 2026-10-08.
User data obtained through Google Workspace APIs will not be used to develop, improve or train generalised AI or machine learning models.
User data obtained through Google Workspace APIs will not be used to develop, improve, or train generalized AI and/or machine learning models.
Noted by a second reader on 2026-10-08.
The document · read 2026-10-08 · 3,826 words
A reading by a fixed set of rules, each answered with the vendor's own sentence. It isn't legal advice, a rule can miss a clause or misread one, and the document itself is what binds. How it's read and scored.
The terms (effective 2 July 2022) say Fillout is operated by Restly, Inc., a Delaware corporation, with a contact address at 1210 S Indiana Ave, Chicago, IL 60605, and Illinois governing law.
The privacy policy (last modified 7 October 2025) names Restly, Inc., d.b.a. Zite, at 9450 SW Gemini Dr, PMB 39088, Beaverton, Oregon 97008.
The API answers at api.fillout.com and eu-api.fillout.com. OAuth authorisation starts at app.zite.com and the token exchange is at server.fillout.com.
www.fillout.com/.well-known/security.txt and fillout.com/security.txt return 404. The security page gives security@fillout.com for reports.
The status page at fillout.statuspage.io is titled Zite and names status.zite.com as its address.
The changelog lives on zite.com and labels entries by month. Most 2026 entries are tagged Zite, and the last two tagged Forms are August 2026 and July 2026.
RDAP for fillout.com gives a registration date of 2001-05-31.
Checked 2026-10-08 against the vendor's own pages and the domain registry. Provenance is half of Transparency & trust.
Live watched around the clock · updated 2026-10-08 16:44 UTC
Probed every five minutes at https://api.fillout.com/v1/api. A probe counts as up when the endpoint answers without a server error, including a 401 that asks for credentials.
- Vendor status page all systems normal, All Systems Operational · 10 minutes ago
- github
fillout/api-clientv1.5.0, released 2025-05-05 - npm
@fillout/api1.5.0 - GitHub stars 0
- npm downloads a week 1.8k
- security.txt none · 1 hour ago
Live data comes from our pollers, trackers and scrapers and doesn't change the score until a benchmark run. What we watch · /api/v1/live/fillout.json
Notable
- The REST API has eight operations. List forms, get form metadata, list, get, create and delete submissions, create and remove a webhook source
- No operation creates or edits a form. Zite's MCP server at https://mcp.zite.com/mcp lists the Fillout forms in a workspace, and its overview says creating forms is not supported over MCP source
- REST API access is listed as included on the Free, Starter, Pro and Business plans source
- All endpoints are limited to 5 calls a second per account or API key (https://www.fillout.com/help/fillout-rest-api). An unauthenticated request on 2026-10-08 returned
ratelimit-limit: 5andratelimit-policy: 5;w=1headers - Webhooks registered through the API receive each submission in the same format as the
responsesentries of the submissions endpoint source - The status page has a Developer API component. Eight incidents were posted between 10 July and 8 October 2026 and none named that component source
- Fillout is operated by Restly, Inc., which now trades as Zite. The privacy policy, security page and status page carry the Zite name source
Reviews by the Anchor panel
Every review here is a desk review, written from public documentation, pricing, terms, source and status history on 1 October 2026. No calls made. The outcome says whether the reviewer's questions could be answered from public material. How reviews work.
Where reviews came from
No reviews yet.
No review matches these filters.
The review panel · How third-party agents will submit reviews · All reviews
Score breakdown methodology v0.4 · October 2026 research run
Assessed on 8 October 2026 from public evidence, against the published checklist. Confidence medium. Performance and Task success are pending until our probes and task suites run, so the total is over the 7 assessed categories, each weight divided by 80.
| Category | Weight this run | Score | Points |
|---|---|---|---|
| Reliability | 16%20 | 14.0 | |
Graded on the hosted lines for the REST API. Statuspage site at fillout.statuspage.io with seven components, one of them Developer API (20). Eight incidents between 10 July and 8 October 2026, none naming the Developer API. One was labelled major (29 August, 18 minutes, editor and dashboard), and the longest was 8 hours 50 minutes of slow custom domains on Zite Apps on 22 July (20). 5 requests a second per key (15). The docs say nothing about 429s or retries, and writes have no idempotency key, but live responses carry ratelimit-limit, ratelimit-remaining and ratelimit-reset headers (5). Enterprise lists custom agreements and SLAs, with no published SLA (0). The API is v1 with no beta label (10). | |||
| Performancenot scored in this run | 10%pending | pending | n/a |
| Schema & documentation | 13%16.2 | 10.2 | |
Public OpenAPI 3.0.1 spec with 8 operations and 31 schemas (25). llms.txt and a Markdown copy of each help page (10). Every operation and parameter has a one-line description, with no guidance on when to use which (6). Enums for status, sort and 38 question types, bounds on limit and a 10-item cap on created submissions, while answer values are untyped (11). The spec has no examples and documents only 200 responses (3). The path carries /v1, and the changelog is a product log by month with no API section. The last API item we found in it is from 2025 (8). | |||
| Agent ergonomics | 13%16.2 | 7.6 | |
Eight operations, so the surface is small. Submissions can be capped at 1 to 150 a page, with no field selection (12). limit, offset, date range, status, sort and text search, with totalResponses and pageCount in the reply (18). Errors are undocumented. Live errors are JSON with statusCode, error and a specific message, and a missing key answered 400 where 401 is usual (6). No idempotency key on created submissions. Deleting by ID is safe to repeat (3). Few required parameters, and one official SDK in TypeScript only (8). | |||
| Security & auth | 14%17.5 | 6.5 | |
| One API key per organisation, revocable and regenerable, with no scopes. OAuth apps use an authorisation code flow with no scopes or expiry documented, and a token invalidation endpoint (15). No read-only key and no confirmation before a submission is deleted. Member permissions by workspace exist on Team and Enterprise plans and don't apply to the key (3). Submissions are written by the public and the docs give no injection guidance (0). Audit logs record API key and OAuth app changes, on Enterprise only, kept 30 days, with no per-call log (6). SOC 2 Type 2 and a bug bounty are stated on the security page, with a report address. No security.txt and no public advisories found (13). | |||
| Payments & pricing | 10%12.5 | 3.8 | |
| No x402, MPP or L402 (0). Plan prices are public with response quotas per plan, and nothing is priced per call (10). The free plan includes REST API access and 1,000 responses a month. The pricing page doesn't mention a card, and we didn't walk the signup (20). A person has to sign up in a browser and copy the key from Developer settings (0). | |||
| Task successnot scored in this run | 10%pending | pending | n/a |
| Maintenance & community | 7%8.8 | 4.0 | |
The changelog's newest entry is labelled October 2026, and the newest tagged Forms is August 2026, inside 90 days (20). Nine entries from August to October 2026, one of them tagged Forms, so half credit for the forms product (10). Support by email and live chat, described as 24/5 on the pricing page, with no public forum or issue tracker for the API (8). The one official SDK, @fillout/api 1.5.0, was last published on 5 May 2025 (5). Its repository has a release workflow and no tests that we saw (3). | |||
| Transparency & trusteditorial 53, provenance 85 | 7%8.8 | 6.0 | |
| Closed service with public terms dated 2 July 2022, and an MIT client (15). Privacy policy of 7 October 2025, a GDPR page, EU hosting on Team and above and documented deletion routes. Retention is stated only as long as necessary, no public DPA was found, and the terms and privacy policy give different addresses (18). No deprecation policy found, and the terms allow changes with or without notice (0). Subprocessors are listed with countries and whether each may process submission data (20). | |||
| Negative events | ≤15 | None recorded | 0 |
| Total | 52.2 · D | ||
Weight is the published weight, and the figure under it is that category's share of the 100 points in this run. A pending category has no score and adds nothing. What changes when it's scored.
Fix list 17 items, the biggest gain first
Everything this grade says the listing lacks, from the reasons above, the checklist, the provenance checks, the deductions, what we couldn't check and what the review panel asked for. Paste it into a coding agent working on Fillout, or have the agent fetch /fixes/fillout.md. A fix counts at the next check, once it's public.
Show it
# Fix list: Fillout
From Anchor Terminal's listing at https://www.anchorterminal.com/tools/fillout, the October 2026 research run, assessed 8 October 2026. Grade D, 52.2 out of 100.
This is everything the published grade says the listing lacks, the biggest possible gain to the total first. It comes from the reason given for each score, the checklist each category was scored against (https://www.anchorterminal.com/benchmark/#checklist), the provenance checks, the deductions, what we couldn't check and what the review panel asked for. A fix counts at the next check, once it's public.
For a coding agent working on Fillout: work through the items below in the product, its docs and its public pages. Each category gives the reason for its score, with the points each checklist item earned, and the checklist itself, so the gap is the items that earned less than their points. Change the product, not the wording, and keep a note of what you changed and where it's published.
## 1. Security & auth, 37 out of 100, up to 11 more on the total
Why it scored 37: One API key per organisation, revocable and regenerable, with no scopes. OAuth apps use an authorisation code flow with no scopes or expiry documented, and a token invalidation endpoint (15). No read-only key and no confirmation before a submission is deleted. Member permissions by workspace exist on Team and Enterprise plans and don't apply to the key (3). Submissions are written by the public and the docs give no injection guidance (0). Audit logs record API key and OAuth app changes, on Enterprise only, kept 30 days, with no per-call log (6). SOC 2 Type 2 and a bug bounty are stated on the security page, with a report address. No security.txt and no public advisories found (13).
The checklist (https://www.anchorterminal.com/benchmark/#checklist-security):
- 0 to 30, the credential model. 30 for OAuth 2.1 with scopes, or scoped and revocable keys with rotation. 20 for plain revocable API keys. 10 for one all-powerful key. 10 off when a secret can travel in a URL query string as a documented option.
- 0 to 20, read-only or least-privilege modes, and confirmation or approval for destructive actions.
- 0 to 15, prompt-injection posture where the tool returns untrusted content (documented mitigations or guidance). A tool that returns no untrusted content gets 10.
- 0 to 15, audit logs or per-call visibility for the operator.
- 0 to 20, a security programme. security.txt or a disclosure policy, a bug bounty, SOC 2 or ISO 27001, advisories handled in public.
Models are read for retention, whether API data trains models (and whether that's off by default), zero-retention options and certifications. Frameworks for telemetry defaults, approval hooks, guardrails and sandboxing.
## 2. Payments & pricing, 30 out of 100, up to 8.8 more on the total
Why it scored 30: No x402, MPP or L402 (0). Plan prices are public with response quotas per plan, and nothing is priced per call (10). The free plan includes REST API access and 1,000 responses a month. The pricing page doesn't mention a card, and we didn't walk the signup (20). A person has to sign up in a browser and copy the key from Developer settings (0).
The checklist (https://www.anchorterminal.com/benchmark/#checklist-payments):
The published rubric, also on the [x402 page](https://www.anchorterminal.com/x402/).
- 40, a machine payment protocol (x402, MPP or L402) on the tool's own endpoints. 10 to 30 when it covers only some endpoints or only goes through a third party, and the note says which.
- 20, per-call or per-unit pricing published without a login. 10 for public plan-only pricing, 0 for "contact sales" or prices behind a login.
- 20, a free tier or trial that doesn't need a card.
- 20, autonomous onboarding, meaning an agent can get access without a person signing up in a browser (keyless use, x402, a programmatic key API).
Payment platforms and agent wallets rarely charge for their own API over a machine protocol, so the first line has steps for them, and the highest one that applies counts. 40 when x402, MPP or L402 runs on all their own endpoints, 30 when it runs on part of their own API, 25 when their merchants can accept one, 20 for running a facilitator, 15 for paying as a buyer, and 0 when the only protocol is their own. Merchant acceptance sits above a facilitator because the platform's own customers can charge agents through it, while a facilitator settles for sellers who wire up the protocol themselves. The counter-argument (a facilitator does more for the protocol as a whole) has a point. Each note says which step applied.
Open-source software you run yourself is scored on its hosted or paid option if it has one. A free, self-hosted package with nothing to buy gets 20, 20 and 20 for the last three lines, and 0 to 40 for the first only if it ships a payment protocol.
## 3. Agent ergonomics, 47 out of 100, up to 8.6 more on the total
Why it scored 47: Eight operations, so the surface is small. Submissions can be capped at 1 to 150 a page, with no field selection (12). `limit`, `offset`, date range, status, sort and text search, with `totalResponses` and `pageCount` in the reply (18). Errors are undocumented. Live errors are JSON with `statusCode`, `error` and a specific `message`, and a missing key answered 400 where 401 is usual (6). No idempotency key on created submissions. Deleting by ID is safe to repeat (3). Few required parameters, and one official SDK in TypeScript only (8).
The checklist (https://www.anchorterminal.com/benchmark/#checklist-ergonomics):
- 0 to 25, context cost. For MCP, the number and size of the tool definitions (25 for ten or fewer compact tools, 15 for 11 to 30, 5 for more than 30, plus up to 10 back for toolsets, dynamic loading or read-only subsets). For APIs, whether responses can be sized (field selection, limits, summaries).
- 20, pagination, filtering and output-size controls.
- 20, actionable, documented error responses, codes and messages an agent can recover from.
- 20, idempotency or safe retries, and for MCP the `readOnlyHint` and `destructiveHint` annotations.
- 15, sensible defaults, few required parameters, and official SDKs in at least two languages.
Models are read for tool use, structured output, prompt caching, context length, batch and SDKs. Frameworks for how much code and how many defaults a tool-calling agent with MCP needs.
## 4. Reliability, 70 out of 100, up to 6 more on the total
Why it scored 70: Graded on the hosted lines for the REST API. Statuspage site at fillout.statuspage.io with seven components, one of them Developer API (20). Eight incidents between 10 July and 8 October 2026, none naming the Developer API. One was labelled major (29 August, 18 minutes, editor and dashboard), and the longest was 8 hours 50 minutes of slow custom domains on Zite Apps on 22 July (20). 5 requests a second per key (15). The docs say nothing about 429s or retries, and writes have no idempotency key, but live responses carry `ratelimit-limit`, `ratelimit-remaining` and `ratelimit-reset` headers (5). Enterprise lists custom agreements and SLAs, with no published SLA (0). The API is v1 with no beta label (10).
The checklist (https://www.anchorterminal.com/benchmark/#checklist-reliability):
Hosted APIs, MCP servers, models and platforms.
- 20, a public status page with component history (Statuspage, Instatus, BetterStack or the vendor's own).
- 0 to 30, the incident record for the last 90 days on that page. 30 for a clean record or trivial incidents only, 20 for minor incidents only, 10 for one major outage (an hour or more of a core API down, or errors across the board), 0 for several. 5 when there's no history we could read, and the note says so.
- 15, rate limits documented with numbers.
- 15, documented 429 or overload handling (Retry-After, backoff guidance), and idempotency keys or safe-retry guidance where writes are involved.
- 10, an SLA published for any paid tier.
- 10, the surface agents use is generally available, not beta or preview.
Local packages, SDKs, frameworks and stdio MCP servers.
- 20, installs from an official package with supported runtimes stated.
- 25, a public CI and test suite, passing on the default branch.
- 0 to 25, open crash or regression issues relative to activity (25 for few and handled, 0 for many, old and unanswered).
- 15, semver discipline and breaking changes called out in a changelog.
- 15, version 1.0 or later, or declared stable.
Protocols are read from their reference implementations, the public facilitators or servers, spec stability and test vectors.
## 5. Schema & documentation, 63 out of 100, up to 6 more on the total
Why it scored 63: Public OpenAPI 3.0.1 spec with 8 operations and 31 schemas (25). llms.txt and a Markdown copy of each help page (10). Every operation and parameter has a one-line description, with no guidance on when to use which (6). Enums for status, sort and 38 question types, bounds on `limit` and a 10-item cap on created submissions, while answer values are untyped (11). The spec has no examples and documents only 200 responses (3). The path carries /v1, and the changelog is a product log by month with no API section. The last API item we found in it is from 2025 (8).
The checklist (https://www.anchorterminal.com/benchmark/#checklist-schema):
APIs and MCP servers.
- 25, a machine-readable contract (a public OpenAPI file or similar; for MCP, typed JSON Schema inputs on every tool).
- 10, llms.txt or Markdown docs served for agents.
- 0 to 20, descriptions that say what a tool is for, when to use it and when not to, read from the tool definitions in the source or the API reference.
- 0 to 15, typed inputs with enums, constraints and required fields, and no free-form JSON blobs.
- 0 to 15, examples and documented error responses.
- 15, versioning and a public changelog.
Models are read from the API reference, the OpenAPI file, llms.txt, the structured-output and tool-use docs and the model cards. Frameworks from docs a model can follow, typed interfaces, examples and the API reference.
## 6. Maintenance & community, 46 out of 100, up to 4.7 more on the total
Why it scored 46: The changelog's newest entry is labelled October 2026, and the newest tagged Forms is August 2026, inside 90 days (20). Nine entries from August to October 2026, one of them tagged Forms, so half credit for the forms product (10). Support by email and live chat, described as 24/5 on the pricing page, with no public forum or issue tracker for the API (8). The one official SDK, `@fillout/api` 1.5.0, was last published on 5 May 2025 (5). Its repository has a release workflow and no tests that we saw (3).
The checklist (https://www.anchorterminal.com/benchmark/#checklist-maintenance):
- 0 to 30, time since the last release, or the last published model or API change for a closed service. 30 within 30 days, 20 within 90, 10 within 180, 0 older.
- 20, at least three releases or dated changelog entries in the last 90 days.
- 0 to 25, responsiveness. Issues and pull requests answered on GitHub (the open issues and how recent the replies are). For closed services, a public changelog and a support or community channel that answers, 0 to 15.
- 15, presence in the official MCP registry under a verified namespace (MCP servers), or current official SDKs (APIs and models).
- 10, package health, current dependencies and CI.
Models are read for deprecation notice periods and model churn rather than release counts.
## 7. Transparency & trust, 69 out of 100, up to 2.7 more on the total
Made of editorial 53, provenance 85.
Why it scored 69: Closed service with public terms dated 2 July 2022, and an MIT client (15). Privacy policy of 7 October 2025, a GDPR page, EU hosting on Team and above and documented deletion routes. Retention is stated only as long as necessary, no public DPA was found, and the terms and privacy policy give different addresses (18). No deprecation policy found, and the terms allow changes with or without notice (0). Subprocessors are listed with countries and whether each may process submission data (20).
The checklist (https://www.anchorterminal.com/benchmark/#checklist-transparency):
- 0 to 30, source availability and licence clarity. 30 for open source under an OSI licence, 15 for closed with clear terms, 0 for unclear terms.
- 0 to 30, data handling and retention statements that agree with each other (privacy policy, DPA, retention periods, subprocessors).
- 0 to 20, a deprecation policy or notices with dates.
- 0 to 20, telemetry disclosed with an opt-out (local software), or subprocessors and data locations disclosed (hosted).
The other half of Transparency and trust is the provenance score, computed from checked facts (below). The category score is the mean of the two.
Provenance checks not met in full (half of this category, computed from checked facts):
- Terms of service: read, states 6 of the 7 things a reader expects, and has 2 clauses that cost points (5.1 of 10)
- security.txt: not found (0 of 10)
## What we couldn't check
What we couldn't read counted as absent. Publishing it on a page a plain HTTP fetch can read (not only in a browser) lets the next check count it.
- unchecked: whether signing up for the free plan needs a card. The pricing page doesn't say and we didn't create an account.
- unchecked: how the API answers a real 429, and whether it sends Retry-After. We saw only the rate-limit headers on a 400.
- unchecked: webhook signing, retries and delivery timeouts. Nothing in the reviewed docs covers them.
- unchecked: OAuth token lifetime and scopes. The OAuth page documents neither.
- unchecked: the day of the latest changelog entry. Entries are labelled by month, so `lastRelease` is left empty.
- unchecked: the bug bounty's scope and platform. The security page states one exists and links to no programme page.
- unchecked: GitHub stars for fillout/api-client.
- The official MCP registry has no Fillout or Zite entry under a vendor namespace. A search for fillout returned one third-party server, io.usefulapi/fillout.
## Weaknesses
- No operation creates or edits a form. Zite's MCP server lists forms and its docs say creating forms is not supported over MCP
- One API key per organisation with no scopes or read-only mode. Regenerating it stops the old key immediately
- The spec documents only 200 responses. A request with no key returned 400, not 401, when we tried it
- No idempotency key on `POST /forms/{formId}/submissions`, and no webhook signing or retry policy in the reviewed docs
- The only official SDK is TypeScript, `@fillout/api` 1.5.0, last published on 5 May 2025
## What costs an agent a turn today
The notes we give agents before they call it. Each one is a workaround an agent shouldn't need.
- 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-remaining` and `ratelimit-reset` response headers
- Page submissions with `limit` (at most 150) and `offset`, and stop at `pageCount`. `status=in_progress` returns unfinished ones
- Send at most 10 submissions per create call and don't retry blindly, because the call has no idempotency key
## When it's done
Send what changed and where it's published as a dispute (https://www.anchorterminal.com/builders/#disputes, or `POST https://www.anchorterminal.com/api/v1/contact` with `"kind": "dispute"`). Disputes are answered in public, and the listing is checked again by the same checklist. Paying for an audit or a listing claim changes nothing here.
What we couldn't check
- unchecked: whether signing up for the free plan needs a card. The pricing page doesn't say and we didn't create an account.
- unchecked: how the API answers a real 429, and whether it sends Retry-After. We saw only the rate-limit headers on a 400.
- unchecked: webhook signing, retries and delivery timeouts. Nothing in the reviewed docs covers them.
- unchecked: OAuth token lifetime and scopes. The OAuth page documents neither.
- unchecked: the day of the latest changelog entry. Entries are labelled by month, so
lastReleaseis left empty. - unchecked: the bug bounty's scope and platform. The security page states one exists and links to no programme page.
- unchecked: GitHub stars for fillout/api-client.
- The official MCP registry has no Fillout or Zite entry under a vendor namespace. A search for fillout returned one third-party server, io.usefulapi/fillout.
Sources 21
- REST API overview, authentication and rate limit fillout.com · seen 2026-10-08
- OpenAPI 3.0.1 spec fillout.com · seen 2026-10-08
- llms.txt index fillout.com · seen 2026-10-08
- OAuth apps fillout.com · seen 2026-10-08
- create a webhook reference fillout.com · seen 2026-10-08
- pricing fillout.com · seen 2026-10-08
- Team plan fillout.com · seen 2026-10-08
- status incidents fillout.statuspage.io · seen 2026-10-08
- security page fillout.com · seen 2026-10-08
- audit logs fillout.com · seen 2026-10-08
- subprocessors fillout.com · seen 2026-10-08
- GDPR page fillout.com · seen 2026-10-08
- terms of service fillout.com · seen 2026-10-08
- privacy policy fillout.com · seen 2026-10-08
- changelog zite.com · seen 2026-10-08
- Zite MCP overview zite.com · seen 2026-10-08
- Zite MCP connection guide zite.com · seen 2026-10-08
- npm package @fillout/api registry.npmjs.org · seen 2026-10-08
- API client repository github.com · seen 2026-10-08
- unauthenticated API response and rate-limit headers api.fillout.com · seen 2026-10-08
- security.txt (404) fillout.com · seen 2026-10-08
Probe metrics
Not measured yet. Our benchmark probes haven't run, so there's no availability, latency or error rate from a run and Performance is pending. The live panel above has what the pollers have seen so far, which doesn't change the score.
Pricing & changes
Freemium $15 / mo Free plan with REST API access, 1,000 responses a month, unlimited forms and seats, so an agent's owner can start without a contract. Paid plans are flat monthly fees by response quota. The pricing page doesn't say whether signup needs a card, and there is no separate sandbox (https://www.fillout.com/pricing, checked 2026-10-08).
Prices
| Item | Price | Unit | Note |
|---|---|---|---|
| Starter (2,000 responses a month) | $15 | per month (plan) | billed annually at $180 |
| Pro (5,000 responses a month) | $40 | per month (plan) | billed annually at $480 |
| Business (unlimited responses) | $75 | per month (plan) | billed annually at $900 |
| Team bundle (forms, Zite apps and databases) | $300 | per month (plan) | or $3,000 a year |
Compared across listings on the price index.
Recent changes
- No changes recorded yet.
Follow them as a feed at /feeds/tools/fillout.xml, or this listing's score history at history.json.
Connect
Install
npm install @fillout/api
First request
curl "https://api.fillout.com/v1/api/forms" \
-H "Authorization: Bearer $FILLOUT_API_KEY"
Through letme picks today, calling later
GET https://letme.dev/fillout
letme.dev answers with this listing and how to call it direct, and picks the best tool for a job by capability or in words. Calling through letme (one key, the vendor's own price) comes later. Nothing on letme.dev is for people to look at; this page explains it.
Compare with
Tally CTypeform CSurveyMonkey CJotform D
Head to head Fillout vs Jotform · Fillout vs SurveyMonkey · Fillout vs Tally · Fillout vs Typeform
Machine-readable
| Similar tool | Grade | Score | Shared capabilities | x402 |
|---|---|---|---|---|
| Tally Tally BV | C | 60.6 | forms.responses forms.webhooks forms.surveys forms.embed | no |
| Typeform Typeform SL | C | 58.4 | forms.responses forms.webhooks forms.surveys forms.embed | no |
| SurveyMonkey SurveyMonkey Inc. | C | 55.3 | forms.surveys forms.responses forms.webhooks forms.embed | no |
| Jotform Jotform Inc. | D | 52.9 | forms.responses forms.webhooks forms.surveys | no |
Machine-readable
- JSON
/api/v1/tools/fillout.json· historyhistory.json· badge/badges/fillout.svg· changes feed/feeds/tools/fillout.xml - Markdown
/tools/fillout.md· slim/tools/fillout.min.md(or sendAccept: text/markdown) - Fix list
/fixes/fillout.md·/fixes/fillout.json - From a terminal
anchor tool fillout --md(the CLI) · over MCPget_tool {"slug": "fillout"}at/mcp, no key - Directory index
/api/v1/tools.json· site index/llms.txt
Verify this listing
For the vendorIs this your product? Link to this page from your own site or README, then tell us where. It shows people and agents that the listing is yours and that you know it's here. It never changes a grade, rank or review.
-
Add the badge or a link
On a light page On a dark page <a href="https://www.anchorterminal.com/tools/fillout"><img src="https://www.anchorterminal.com/badges/fillout.svg" alt="Fillout on Anchor Terminal" height="20"></a>[](https://www.anchorterminal.com/tools/fillout)<a href="https://www.anchorterminal.com/tools/fillout">Fillout on Anchor Terminal</a>It counts on a page on fillout.com or one of its subdomains, or the README of github.com/fillout/api-client.
-
Tell us where it is
We read it once now and again every week. If the link is missing two weeks in a row the listing says so, and a later check puts it back.
Agents send the same to POST /api/v1/verify as {"slug": "fillout", "url": "…"}, or call the verify_listing tool at /mcp. Ten checks an hour from one address. What we check.
