{
  "data": {
    "similar": [
      {
        "grade": "C",
        "json": "https://www.anchorterminal.com/tools/tally.json",
        "name": "Tally",
        "score": 60.6,
        "shared": [
          "forms.create",
          "forms.responses",
          "forms.webhooks",
          "forms.surveys"
        ],
        "slug": "tally"
      },
      {
        "grade": "C",
        "json": "https://www.anchorterminal.com/tools/typeform.json",
        "name": "Typeform",
        "score": 58.4,
        "shared": [
          "forms.create",
          "forms.responses",
          "forms.webhooks",
          "forms.surveys"
        ],
        "slug": "typeform"
      },
      {
        "grade": "C",
        "json": "https://www.anchorterminal.com/tools/formbricks.json",
        "name": "Formbricks",
        "score": 57.7,
        "shared": [
          "forms.surveys",
          "forms.create",
          "forms.responses",
          "forms.webhooks"
        ],
        "slug": "formbricks"
      },
      {
        "grade": "C",
        "json": "https://www.anchorterminal.com/tools/surveymonkey.json",
        "name": "SurveyMonkey",
        "score": 55.3,
        "shared": [
          "forms.create",
          "forms.surveys",
          "forms.responses",
          "forms.webhooks"
        ],
        "slug": "surveymonkey"
      },
      {
        "grade": "D",
        "json": "https://www.anchorterminal.com/tools/jotform.json",
        "name": "Jotform",
        "score": 52.9,
        "shared": [
          "forms.create",
          "forms.responses",
          "forms.webhooks",
          "forms.surveys"
        ],
        "slug": "jotform"
      },
      {
        "grade": "C",
        "json": "https://www.anchorterminal.com/tools/paperform.json",
        "name": "Paperform",
        "score": 56,
        "shared": [
          "forms.responses",
          "forms.webhooks",
          "forms.surveys"
        ],
        "slug": "paperform"
      }
    ],
    "tool": {
      "slug": "google-forms",
      "name": "Google Forms API",
      "vendor": "Google",
      "vendorUrl": "https://developers.google.com/workspace/forms",
      "kind": "http-api",
      "category": "forms",
      "summary": "REST API from Google for creating and editing Google Forms forms and quizzes, reading responses and quiz grades, and subscribing to change notifications through Cloud Pub/Sub. Access is by OAuth 2.0.",
      "url": "https://www.anchorterminal.com/tools/google-forms",
      "markdownUrl": "https://www.anchorterminal.com/tools/google-forms.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/google-forms.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/google-forms.json",
      "repo": "https://github.com/googleapis/google-api-nodejs-client",
      "license": "Proprietary service under the Google APIs Terms of Service. The client libraries are Apache-2.0",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://forms.googleapis.com/v1",
      "packages": [
        {
          "registry": "npm",
          "name": "@googleapis/forms"
        },
        {
          "registry": "pypi",
          "name": "google-api-python-client"
        }
      ],
      "auth": "oauth",
      "authNotes": "OAuth 2.0, set up by a person in a Google Cloud project with a consent screen. No partner or sales approval. Six scopes work with the API. forms.body, forms.body.readonly and forms.responses.readonly are specific to Forms, and drive, drive.file and drive.readonly are the Drive scopes. Reading responses needs forms.responses.readonly, drive or drive.file. Google's troubleshooting page says apps asking for sensitive scopes must pass verification to remove the unverified-app warning. The limits page says calls by a service account count as one account for quota. Watches also need a Pub/Sub topic that grants publish rights to forms-notifications@system.gserviceaccount.com.",
      "pricing": "free",
      "pricingNotes": "Standard use of the Forms API has no additional cost, and a Google account can enable it without a card or contract. Quotas are 975 reads, 450 response-list reads and 375 writes a minute per project, with no daily limit. Google says exceeding the quota request limits is planned to incur charges to the Cloud billing account later in 2026, with no price published and 90 days' notice promised. Push notifications use Cloud Pub/Sub, which is billed separately and needs billing enabled. There is no separate sandbox; a test form in any account does that job (https://developers.google.com/workspace/forms/api/limits; https://developers.google.com/workspace/tools-safety).",
      "priceSummary": "Free",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Forms API docs, the limits page or the discovery document (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 0,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 31730,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://developers.google.com/workspace/forms/api/guides",
      "capabilities": [
        "forms.create",
        "forms.responses",
        "forms.webhooks",
        "forms.surveys"
      ],
      "tags": [
        "hosted",
        "official",
        "closed-source",
        "free",
        "oauth",
        "webhooks",
        "typescript",
        "python",
        "enterprise",
        "status-page",
        "soc2"
      ],
      "lastRelease": "2026-09-24",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 70.8,
        "grade": "BB",
        "agentReady": true,
        "rank": 127,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 1,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 72,
          "maintenance": 61,
          "payments": 35,
          "reliability": 91,
          "schema": 78,
          "security": 66,
          "transparency": 80
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "breakdown": [
          {
            "key": "reliability",
            "name": "Reliability",
            "weight": 16,
            "effectiveWeight": 20,
            "score": 91,
            "points": 18.2,
            "reason": "Graded on the REST API, the only surface. The Google Workspace Status Dashboard lists Forms, with an incidents feed that ran from 9 October 2025 to 25 September 2026 when read on 8 October (20). The feed's only Forms incident is 12 November 2025, 4 hours 45 minutes with Docs, Sheets and Slides, so the 90 days to 8 October are clean. The dashboard tracks the Forms product, not the API alone (30). 975 reads, 450 response-list reads and 375 writes a minute per project, with per-user figures (15). The limits page gives a truncated exponential backoff formula for 429, batchUpdate is atomic and writeControl.requiredRevisionId makes a form edit safe to retry, but forms.create has no idempotency key (11 of 15). The Workspace SLA names Google Forms at 99.9 per cent but measures Downtime in the user web interface and doesn't name the API (5 of 10). GA since 17 March 2022 (10). Total 91."
          },
          {
            "key": "performance",
            "name": "Performance",
            "weight": 10,
            "effectiveWeight": 0,
            "pending": true,
            "points": 0,
            "reason": "Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes."
          },
          {
            "key": "schema",
            "name": "Schema \u0026 documentation",
            "weight": 13,
            "effectiveWeight": 16.25,
            "score": 78,
            "points": 12.68,
            "reason": "Google publishes a discovery document, not OpenAPI, which is a machine-readable contract all the same, at revision 20261004 with 10 methods and 64 schemas (25). `llms.txt` returned 404 at developers.google.com, `/workspace` and `/workspace/forms` on 8 October, but doc pages return Markdown when `.md.txt` is appended to the URL; we found no index or link that advertises it (5 of 10). Reference pages say what each method does and where it stops, such as forms.create copying only the title, but that description points to a forms.update method that doesn't exist and two guides still refer to Early Adopter Programme instructions (14 of 20). Typed parameters and unions with enums for choice type, event type, watch state and file type (14 of 15). Python, Node.js and Apps Script samples in the guides, but no error reference beyond an authentication troubleshooting page and 429 on the limits page (9 of 15). v1 in the path and release notes with a feed, though only two entries, and the change to unpublished forms after 30 June 2026 sits on a separate page (11 of 15). Total 78."
          },
          {
            "key": "ergonomics",
            "name": "Agent ergonomics",
            "weight": 13,
            "effectiveWeight": 16.25,
            "score": 72,
            "points": 11.7,
            "reason": "Responses size with a fields mask and pageSize, and batchUpdate returns the form only when includeFormInResponse is set. forms.responses.list returns up to 5,000 responses when no pageSize is given (20 of 25). pageSize, pageToken and a timestamp filter on responses, but no other filter and no method that lists forms, which needs the Drive API (14 of 20). Standard Google error bodies with a status and a reason, as a 401 showed on 8 October, thinly documented for Forms (12 of 20). Atomic batches, a revision check through writeControl and a caller-chosen watchId, but no idempotency key on forms.create (13 of 20). Google API client libraries for Go, Java, .NET, Node.js, PHP, Python and Ruby. A new form takes two calls, three with publishing (13 of 15). Total 72."
          },
          {
            "key": "security",
            "name": "Security \u0026 auth",
            "weight": 14,
            "effectiveWeight": 17.5,
            "score": 66,
            "points": 11.55,
            "reason": "OAuth 2.0 with six scopes and short-lived revocable tokens (30), less 10 because the discovery document lists access_token, oauth_token and key as URL query parameters (20). forms.body.readonly and forms.responses.readonly split structure from answers and drive.file limits an app to chosen files, but nothing confirms a deleteItem and no scope is narrower than one form (17 of 20). Responses are text written by respondents, and we found no prompt-injection guidance in the Forms API docs (0 of 15). The Drive log events page records access through Workspace APIs as Item content accessed with the API method, for Workspace admins. It doesn't name the Forms API, and no per-call log for personal accounts was found (9 of 15). `security.txt` valid to 1 April 2030, Google's vulnerability reward programme, and Google's SOC 2 page lists Google Forms (20). Total 66."
          },
          {
            "key": "payments",
            "name": "Payments \u0026 pricing",
            "weight": 10,
            "effectiveWeight": 12.5,
            "score": 35,
            "points": 4.38,
            "reason": "No x402, MPP or L402 (0). Standard use is free within published quotas, but the charge for exceeding them, planned for later in 2026, has no published price (15 of 20). No charge and no card needed to enable the API, though watches need Cloud Pub/Sub with billing enabled (20). A person creates a Cloud project and an OAuth consent screen and grants consent (0). Total 35."
          },
          {
            "key": "tasks",
            "name": "Task success",
            "weight": 10,
            "effectiveWeight": 0,
            "pending": true,
            "points": 0,
            "reason": "Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored."
          },
          {
            "key": "maintenance",
            "name": "Maintenance \u0026 community",
            "weight": 7,
            "effectiveWeight": 8.75,
            "score": 61,
            "points": 5.34,
            "reason": "The API's own release notes were last updated on 8 April 2025. The discovery document is at revision 20261004 and `@googleapis/forms` 11.0.1 was published on 24 September 2026 with the note update the API, and Google's notice set 30 June 2026 for the change to unpublished forms. We count the client release but mark down for the silent release notes, a judgement call (20 of 30). Client releases 7.0.0 on 3 August, 10.0.0, 11.0.0 and 11.0.1 in September 2026, all generated, with no dated API changelog entry in the 90 days (10 of 20). An issue tracker component, a developer forum and a Stack Overflow tag are listed; we didn't sample replies, and the release notes are stale (8 of 15). Current official client libraries, with `google-api-python-client` 2.201.0 on 30 September 2026 (15). Clients regenerate from discovery, the Node package moved to a Node 22 minimum through breaking majors in September 2026, and we didn't check the CI pass state (8 of 10). Total 61."
          },
          {
            "key": "transparency",
            "name": "Transparency \u0026 trust",
            "weight": 7,
            "effectiveWeight": 8.75,
            "score": 80,
            "points": 7,
            "note": "editorial 66, provenance 94",
            "reason": "Closed service under the Google APIs Terms of Service, last modified 9 November 2021, with Apache-2.0 client libraries (15 of 30). The Google privacy policy (effective 1 October 2026) covers end users, the Cloud Data Processing Addendum sets deletion within a maximum of 180 days for Workspace customers, and the Workspace API user data policy limits what apps may do with user data. We found no retention statement specific to Forms API data (18 of 30). A dated notice for the change to unpublished forms after 30 June 2026 and 90 days' notice promised before quota charges, but no stated deprecation period, and the API terms let Google discontinue an API at any time (13 of 20). The Workspace subprocessor list, last modified 23 July 2026, covers Forms among the Workspace services. It applies to Workspace customers, not personal accounts (20). Total 66."
          }
        ],
        "assessment": {
          "date": "2026-10-08",
          "basis": "public evidence",
          "confidence": "medium",
          "notes": {
            "ergonomics": "Responses size with a fields mask and pageSize, and batchUpdate returns the form only when includeFormInResponse is set. forms.responses.list returns up to 5,000 responses when no pageSize is given (20 of 25). pageSize, pageToken and a timestamp filter on responses, but no other filter and no method that lists forms, which needs the Drive API (14 of 20). Standard Google error bodies with a status and a reason, as a 401 showed on 8 October, thinly documented for Forms (12 of 20). Atomic batches, a revision check through writeControl and a caller-chosen watchId, but no idempotency key on forms.create (13 of 20). Google API client libraries for Go, Java, .NET, Node.js, PHP, Python and Ruby. A new form takes two calls, three with publishing (13 of 15). Total 72.",
            "maintenance": "The API's own release notes were last updated on 8 April 2025. The discovery document is at revision 20261004 and `@googleapis/forms` 11.0.1 was published on 24 September 2026 with the note update the API, and Google's notice set 30 June 2026 for the change to unpublished forms. We count the client release but mark down for the silent release notes, a judgement call (20 of 30). Client releases 7.0.0 on 3 August, 10.0.0, 11.0.0 and 11.0.1 in September 2026, all generated, with no dated API changelog entry in the 90 days (10 of 20). An issue tracker component, a developer forum and a Stack Overflow tag are listed; we didn't sample replies, and the release notes are stale (8 of 15). Current official client libraries, with `google-api-python-client` 2.201.0 on 30 September 2026 (15). Clients regenerate from discovery, the Node package moved to a Node 22 minimum through breaking majors in September 2026, and we didn't check the CI pass state (8 of 10). Total 61.",
            "payments": "No x402, MPP or L402 (0). Standard use is free within published quotas, but the charge for exceeding them, planned for later in 2026, has no published price (15 of 20). No charge and no card needed to enable the API, though watches need Cloud Pub/Sub with billing enabled (20). A person creates a Cloud project and an OAuth consent screen and grants consent (0). Total 35.",
            "reliability": "Graded on the REST API, the only surface. The Google Workspace Status Dashboard lists Forms, with an incidents feed that ran from 9 October 2025 to 25 September 2026 when read on 8 October (20). The feed's only Forms incident is 12 November 2025, 4 hours 45 minutes with Docs, Sheets and Slides, so the 90 days to 8 October are clean. The dashboard tracks the Forms product, not the API alone (30). 975 reads, 450 response-list reads and 375 writes a minute per project, with per-user figures (15). The limits page gives a truncated exponential backoff formula for 429, batchUpdate is atomic and writeControl.requiredRevisionId makes a form edit safe to retry, but forms.create has no idempotency key (11 of 15). The Workspace SLA names Google Forms at 99.9 per cent but measures Downtime in the user web interface and doesn't name the API (5 of 10). GA since 17 March 2022 (10). Total 91.",
            "schema": "Google publishes a discovery document, not OpenAPI, which is a machine-readable contract all the same, at revision 20261004 with 10 methods and 64 schemas (25). `llms.txt` returned 404 at developers.google.com, `/workspace` and `/workspace/forms` on 8 October, but doc pages return Markdown when `.md.txt` is appended to the URL; we found no index or link that advertises it (5 of 10). Reference pages say what each method does and where it stops, such as forms.create copying only the title, but that description points to a forms.update method that doesn't exist and two guides still refer to Early Adopter Programme instructions (14 of 20). Typed parameters and unions with enums for choice type, event type, watch state and file type (14 of 15). Python, Node.js and Apps Script samples in the guides, but no error reference beyond an authentication troubleshooting page and 429 on the limits page (9 of 15). v1 in the path and release notes with a feed, though only two entries, and the change to unpublished forms after 30 June 2026 sits on a separate page (11 of 15). Total 78.",
            "security": "OAuth 2.0 with six scopes and short-lived revocable tokens (30), less 10 because the discovery document lists access_token, oauth_token and key as URL query parameters (20). forms.body.readonly and forms.responses.readonly split structure from answers and drive.file limits an app to chosen files, but nothing confirms a deleteItem and no scope is narrower than one form (17 of 20). Responses are text written by respondents, and we found no prompt-injection guidance in the Forms API docs (0 of 15). The Drive log events page records access through Workspace APIs as Item content accessed with the API method, for Workspace admins. It doesn't name the Forms API, and no per-call log for personal accounts was found (9 of 15). `security.txt` valid to 1 April 2030, Google's vulnerability reward programme, and Google's SOC 2 page lists Google Forms (20). Total 66.",
            "transparency": "Closed service under the Google APIs Terms of Service, last modified 9 November 2021, with Apache-2.0 client libraries (15 of 30). The Google privacy policy (effective 1 October 2026) covers end users, the Cloud Data Processing Addendum sets deletion within a maximum of 180 days for Workspace customers, and the Workspace API user data policy limits what apps may do with user data. We found no retention statement specific to Forms API data (18 of 30). A dated notice for the change to unpublished forms after 30 June 2026 and 90 days' notice promised before quota charges, but no stated deprecation period, and the API terms let Google discontinue an API at any time (13 of 20). The Workspace subprocessor list, last modified 23 July 2026, covers Forms among the Workspace services. It applies to Workspace customers, not personal accounts (20). Total 66."
          },
          "sources": [
            {
              "what": "Forms API overview",
              "url": "https://developers.google.com/workspace/forms/api/guides",
              "seen": "2026-10-08"
            },
            {
              "what": "Usage limits and pricing statement",
              "url": "https://developers.google.com/workspace/forms/api/limits",
              "seen": "2026-10-08"
            },
            {
              "what": "Discovery document v1, revision 20261004",
              "url": "https://forms.googleapis.com/$discovery/rest?version=v1",
              "seen": "2026-10-08"
            },
            {
              "what": "REST reference",
              "url": "https://developers.google.com/workspace/forms/api/reference/rest",
              "seen": "2026-10-08"
            },
            {
              "what": "forms.responses.list reference",
              "url": "https://developers.google.com/workspace/forms/api/reference/rest/v1/forms.responses/list",
              "seen": "2026-10-08"
            },
            {
              "what": "forms.batchUpdate reference",
              "url": "https://developers.google.com/workspace/forms/api/reference/rest/v1/forms/batchUpdate",
              "seen": "2026-10-08"
            },
            {
              "what": "Push notifications guide",
              "url": "https://developers.google.com/workspace/forms/api/guides/push-notifications",
              "seen": "2026-10-08"
            },
            {
              "what": "Retrieve forms and responses",
              "url": "https://developers.google.com/workspace/forms/api/guides/retrieve-forms-responses",
              "seen": "2026-10-08"
            },
            {
              "what": "Update a form or quiz",
              "url": "https://developers.google.com/workspace/forms/api/guides/update-form-quiz",
              "seen": "2026-10-08"
            },
            {
              "what": "Publish and manage responders",
              "url": "https://developers.google.com/workspace/forms/api/guides/publish-form",
              "seen": "2026-10-08"
            },
            {
              "what": "API changes to Google Forms (unpublished by default)",
              "url": "https://developers.google.com/workspace/forms/api/guides/api-changes-to-google-forms",
              "seen": "2026-10-08"
            },
            {
              "what": "REST API compared with Apps Script",
              "url": "https://developers.google.com/workspace/forms/api/guides/compare-rest-apps-script",
              "seen": "2026-10-08"
            },
            {
              "what": "Performance tips (fields mask)",
              "url": "https://developers.google.com/workspace/forms/api/guides/performance",
              "seen": "2026-10-08"
            },
            {
              "what": "Client libraries",
              "url": "https://developers.google.com/workspace/forms/api/guides/libraries",
              "seen": "2026-10-08"
            },
            {
              "what": "Support channels",
              "url": "https://developers.google.com/workspace/forms/api/support",
              "seen": "2026-10-08"
            },
            {
              "what": "Authentication troubleshooting",
              "url": "https://developers.google.com/workspace/forms/api/troubleshoot-authentication-authorization",
              "seen": "2026-10-08"
            },
            {
              "what": "Forms API release notes",
              "url": "https://developers.google.com/workspace/forms/release-notes",
              "seen": "2026-10-08"
            },
            {
              "what": "Release notes feed",
              "url": "https://developers.google.com/feeds/forms-release-notes.xml",
              "seen": "2026-10-08"
            },
            {
              "what": "Unauthenticated request, 401 error body",
              "url": "https://forms.googleapis.com/v1/forms/abc",
              "seen": "2026-10-08"
            },
            {
              "what": "Workspace model for agent tools and APIs",
              "url": "https://developers.google.com/workspace/tools-safety",
              "seen": "2026-10-08"
            },
            {
              "what": "Workspace MCP servers setup (no Forms server)",
              "url": "https://developers.google.com/workspace/guides/configure-mcp-servers",
              "seen": "2026-10-08"
            },
            {
              "what": "Workspace API user data and developer policy",
              "url": "https://developers.google.com/workspace/workspace-api-user-data-developer-policy",
              "seen": "2026-10-08"
            },
            {
              "what": "Workspace status incidents feed",
              "url": "https://www.google.com/appsstatus/dashboard/incidents.json",
              "seen": "2026-10-08"
            },
            {
              "what": "Workspace SLA",
              "url": "https://workspace.google.com/terms/sla.html",
              "seen": "2026-10-08"
            },
            {
              "what": "Workspace subprocessors",
              "url": "https://workspace.google.com/terms/subprocessors.html",
              "seen": "2026-10-08"
            },
            {
              "what": "Google APIs Terms of Service",
              "url": "https://developers.google.com/terms",
              "seen": "2026-10-08"
            },
            {
              "what": "Google privacy policy",
              "url": "https://policies.google.com/privacy",
              "seen": "2026-10-08"
            },
            {
              "what": "Cloud Data Processing Addendum",
              "url": "https://cloud.google.com/terms/data-processing-addendum",
              "seen": "2026-10-08"
            },
            {
              "what": "SOC 2 page listing Google Forms",
              "url": "https://cloud.google.com/security/compliance/soc-2",
              "seen": "2026-10-08"
            },
            {
              "what": "Drive log events",
              "url": "https://knowledge.workspace.google.com/admin/reports/drive-log-events",
              "seen": "2026-10-08"
            },
            {
              "what": "`security.txt`",
              "url": "https://www.google.com/.well-known/security.txt",
              "seen": "2026-10-08"
            },
            {
              "what": "`llms.txt` (404)",
              "url": "https://developers.google.com/workspace/forms/llms.txt",
              "seen": "2026-10-08"
            },
            {
              "what": "Markdown copy of a doc page",
              "url": "https://developers.google.com/workspace/forms/api/guides.md.txt",
              "seen": "2026-10-08"
            },
            {
              "what": "`@googleapis/forms` changelog",
              "url": "https://github.com/googleapis/google-api-nodejs-client/blob/main/src/apis/forms/CHANGELOG.md",
              "seen": "2026-10-08"
            },
            {
              "what": "npm registry, `@googleapis/forms`",
              "url": "https://registry.npmjs.org/@googleapis/forms",
              "seen": "2026-10-08"
            },
            {
              "what": "npm weekly downloads",
              "url": "https://api.npmjs.org/downloads/point/last-week/@googleapis/forms",
              "seen": "2026-10-08"
            },
            {
              "what": "PyPI, `google-api-python-client`",
              "url": "https://pypi.org/pypi/google-api-python-client/json",
              "seen": "2026-10-08"
            },
            {
              "what": "RDAP for google.com",
              "url": "https://rdap.verisign.com/com/v1/domain/google.com",
              "seen": "2026-10-08"
            }
          ],
          "openQuestions": [
            "The notice says API-created forms start unpublished after 30 June 2026, while the discovery document at revision 20261004 still says an unset unpublished parameter creates a published form. We didn't create a form to see which holds",
            "Google hasn't said when quota overage charges start or what they cost; the Workspace model page promises 90 days' notice",
            "The Workspace SLA measures Downtime in the user web interface; whether failures of the Forms API alone count isn't stated",
            "Whether Forms API calls appear in Drive log events isn't stated; the page names the Drive and Sheets APIs as examples",
            "unchecked: which Forms scopes Google classes as sensitive or restricted; the Forms docs have no scopes page",
            "unchecked: replies on Google's public issue tracker component 978479 for the Forms API",
            "unchecked: GitHub stars and the CI pass state of `google-api-nodejs-client`; the GitHub API answered 403",
            "unchecked: the SOC 2 reports themselves; we read only the public page that lists Google Forms",
            "unchecked: weekly PyPI downloads for `google-api-python-client`, which serves every Google API in any case",
            "The lead's description was right. No MCP server for Forms was found"
          ]
        },
        "negative": 0,
        "verdict": "Six OAuth scopes separate form structure from responses, and batchUpdate applies a batch atomically with a revision check. Notifications go only to a Cloud Pub/Sub topic and carry no response data, the API can't list forms or create file upload questions, and the release notes were last updated on 8 April 2025.",
        "bestFor": "Agents that build forms and quizzes in a Google account and read the answers back, where people already use Google Forms.",
        "strengths": [
          "Separate read-only scopes for form structure (forms.body.readonly) and responses (forms.responses.readonly), plus the per-file drive.file scope",
          "forms.batchUpdate applies every request or none, and writeControl.requiredRevisionId rejects a write made against a stale revision",
          "Public discovery document for v1 (revision 20261004, 10 methods, 64 schemas) and Markdown copies of doc pages at `.md.txt` URLs",
          "Quotas are 975 reads, 450 response-list reads and 375 writes a minute per project, with no daily cap",
          "No Forms incident on the Workspace status dashboard since 12 November 2025, read on 8 October 2026"
        ],
        "weaknesses": [
          "Push notifications go only to a Cloud Pub/Sub topic in the caller's project, which needs Cloud billing, and they carry no form or response data",
          "A watch expires after seven days unless renewed, with at most 20 watches per form and event type for each project",
          "No method lists forms or deletes one, the API can't create file upload questions, and it can't submit a response",
          "The release notes have two entries, the latest dated 8 April 2025, and no error reference page was found beyond authentication and 429",
          "forms.create copies only the title, so a ten-question form takes forms.create, forms.batchUpdate and, by the vendor's notice, forms.setPublishSettings"
        ],
        "agentNotes": [
          "Call forms.create with a title only, then add items with forms.batchUpdate. Any other field in the create body is disallowed",
          "Publish with forms.setPublishSettings before sharing. Google's notice says forms created through the API after 30 June 2026 start unpublished",
          "Pass pageSize on forms.responses.list. With none set a page can hold up to 5,000 responses. Use filter=timestamp \u003e N to fetch only new ones",
          "After a Pub/Sub notification, call forms.responses.list yourself. The message holds only formId, watchId and eventType. Renew each watch within seven days",
          "Send writeControl.requiredRevisionId on forms.batchUpdate, and read the form before retrying a timed-out forms.create, which has no idempotency key"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 70.8
          }
        ],
        "editorialScores": {
          "ergonomics": 72,
          "maintenance": 61,
          "payments": 35,
          "reliability": 91,
          "schema": 78,
          "security": 66,
          "transparency": 66
        },
        "provenanceScore": 94
      },
      "connect": {
        "install": "npm install @googleapis/forms",
        "http": "curl \"https://forms.googleapis.com/v1/forms/$FORM_ID/responses?pageSize=50\" \\\n  -H \"Authorization: Bearer $GOOGLE_ACCESS_TOKEN\""
      },
      "letme": {
        "capability": "https://letme.dev/forms.create",
        "tool": "https://letme.dev/google-forms"
      },
      "sameCompany": [
        "gemini-api",
        "gemini-embedding",
        "vertex-ai-tuning",
        "google-model-armor",
        "google-imagen",
        "google-veo",
        "google-lyria",
        "google-speech-to-text",
        "google-adk",
        "google-secret-manager",
        "google-weather-api",
        "chrome-devtools-mcp",
        "google-maps-platform",
        "google-cloud-translation",
        "google-calendar-api",
        "google-drive-api",
        "gemini-cli",
        "google-ads-api",
        "google-sheets-api",
        "gmail-api"
      ],
      "notable": [
        "The v1 discovery document, revision 20261004 on 8 October 2026, lists 10 methods and 64 schemas. The methods are forms.create, get, batchUpdate and setPublishSettings, responses.get and list, and watches.create, list, renew and delete (https://forms.googleapis.com/$discovery/rest?version=v1)",
        "Quotas are 975 read requests a minute per project and 390 per user, 450 and 180 for forms.responses.list, and 375 and 150 for writes, with no daily limit (https://developers.google.com/workspace/forms/api/limits)",
        "The limits page says standard use has no additional cost and that exceeding the quota request limits is planned to incur charges to the Cloud billing account later in 2026. No price is published (https://developers.google.com/workspace/forms/api/limits; https://developers.google.com/workspace/tools-safety)",
        "The only notification target is a Cloud Pub/Sub topic owned by the calling project. Messages carry formId, watchId and eventType (SCHEMA or RESPONSES) and no form or response data (https://developers.google.com/workspace/forms/api/guides/push-notifications)",
        "A watch lasts seven days unless renewed. A project can hold up to 20 watches per form and event type and one per end user, and a form 50 per event type across all projects (https://developers.google.com/workspace/forms/api/guides/push-notifications)",
        "forms.create copies only info.title and info.documentTitle. Items and settings are added afterwards with forms.batchUpdate, whose six request kinds are createItem, updateItem, moveItem, deleteItem, updateFormInfo and updateSettings (https://forms.googleapis.com/$discovery/rest?version=v1)",
        "Google's notice says forms created through the API after 30 June 2026 start unpublished and must be published with forms.setPublishSettings. The discovery description of the unpublished parameter, revision 20261004, still says an unset value creates a published form (https://developers.google.com/workspace/forms/api/guides/api-changes-to-google-forms)",
        "forms.responses.list takes pageSize, pageToken and a filter that supports only timestamp \u003e N and timestamp \u003e= N. With no pageSize, at most 5,000 responses are returned (https://developers.google.com/workspace/forms/api/reference/rest/v1/forms.responses/list)",
        "The comparison page says the REST API can't submit form responses, and the FileUploadQuestion schema says the API can't create file upload questions (https://developers.google.com/workspace/forms/api/guides/compare-rest-apps-script)",
        "The release notes have two entries. The API went GA on 17 March 2022 and publishing arrived on 8 April 2025 (https://developers.google.com/workspace/forms/release-notes)",
        "The Workspace MCP setup page lists Developer Preview servers for Gmail, Drive, Docs, Sheets, Slides, Calendar and Chat. Forms is not among them (https://developers.google.com/workspace/guides/configure-mcp-servers)",
        "The Workspace status feed, covering 9 October 2025 to 25 September 2026, has one Forms incident, on 12 November 2025 for 4 hours 45 minutes together with Docs, Sheets and Slides (https://www.google.com/appsstatus/dashboard/incidents.json)",
        "`@googleapis/forms` 11.0.1 was published on 24 September 2026 and requires Node 22 or later. Versions 10.0.0 and 11.0.0 in September 2026 were breaking releases for the Node 22 minimum (https://github.com/googleapis/google-api-nodejs-client/blob/main/src/apis/forms/CHANGELOG.md)",
        "Doc pages have Markdown copies when `.md.txt` is appended to the URL, while `llms.txt` returns 404 at developers.google.com, under `/workspace` and under `/workspace/forms` (https://developers.google.com/workspace/forms/api/guides.md.txt)"
      ],
      "area": "business",
      "details": [
        {
          "label": "Price",
          "value": "No charge for standard use. Charges for exceeding quota are planned for later in 2026, unpriced, with 90 days' notice. Cloud Pub/Sub for notifications is billed separately"
        },
        {
          "label": "Quota",
          "value": "Per minute per project, 975 reads, 450 forms.responses.list calls and 375 writes. Per user per project, 390, 180 and 150. No daily limit"
        },
        {
          "label": "Interface",
          "value": "REST at https://forms.googleapis.com/v1, 10 methods in discovery revision 20261004, on forms, forms.responses and forms.watches"
        },
        {
          "label": "Building a form",
          "value": "forms.create takes a title only. forms.batchUpdate adds and edits items atomically, with six request kinds and a revision check. forms.setPublishSettings publishes"
        },
        {
          "label": "Question types",
          "value": "Choice (radio, checkbox, drop-down), text, scale, date, time, rating and grid rows, plus sections, text, image and video items. File upload questions can be read but not created"
        },
        {
          "label": "Responses",
          "value": "forms.responses.get and list, read-only. Answers are keyed by question ID and returned as text, with grades for quizzes. pageSize, pageToken and a timestamp filter"
        },
        {
          "label": "Notifications",
          "value": "Watches on SCHEMA or RESPONSES events, sent to a Cloud Pub/Sub topic. Seven-day expiry, at-least-once, no payload beyond form, watch and event type"
        },
        {
          "label": "Scopes",
          "value": "forms.body, forms.body.readonly, forms.responses.readonly, drive, drive.file, drive.readonly"
        },
        {
          "label": "MCP server",
          "value": "None found for Forms. Google's Workspace MCP servers cover Gmail, Drive, Docs, Sheets, Slides, Calendar and Chat"
        },
        {
          "label": "Client libraries",
          "value": "Google API client libraries, Apache-2.0. `@googleapis/forms` 11.0.1 (24 September 2026, Node 22 or later) and `google-api-python-client` 2.201.0 (30 September 2026)"
        }
      ],
      "provenance": {
        "legalEntity": "Google LLC",
        "domain": "google.com",
        "domainRegistered": "1997-09-15",
        "domainNote": "The endpoint is on googleapis.com, Google's API domain. google.com was registered in 1997.",
        "endpointOnVendorDomain": true,
        "terms": "https://developers.google.com/terms",
        "privacy": "https://policies.google.com/privacy",
        "statusPage": "https://www.google.com/appsstatus/dashboard/",
        "changelog": "https://developers.google.com/workspace/forms/release-notes",
        "securityTxt": "valid",
        "checked": "2026-10-08",
        "notes": [
          "The Google APIs Terms of Service (last modified 9 November 2021) name Google LLC, 1600 Amphitheatre Parkway, Mountain View.",
          "RDAP for google.com gives a registration date of 1997-09-15.",
          "www.google.com/.well-known/security.txt expires on 1 April 2030 and names g.co/vulnz, security@google.com and the vulnerability reward programme.",
          "Google publishes a discovery document for the API, not an OpenAPI spec.",
          "The release notes page has two entries, 17 March 2022 and 8 April 2025.",
          "The Google privacy policy read on 8 October 2026 is the version effective 1 October 2026."
        ],
        "score": 94,
        "checks": [
          {
            "check": "Legal entity named",
            "value": "Google LLC",
            "points": 20,
            "max": 20,
            "state": "ok"
          },
          {
            "check": "Domain age",
            "value": "google.com, registered 1997-09-15 (29 years)",
            "points": 15,
            "max": 15,
            "state": "ok"
          },
          {
            "check": "Endpoint on the vendor's domain",
            "value": "forms.googleapis.com",
            "points": 15,
            "max": 15,
            "state": "ok"
          },
          {
            "check": "Terms of service",
            "value": "read, states 6 of the 7 things a reader expects, and has 1 clause that costs points",
            "points": 7.1,
            "max": 10,
            "state": "part"
          },
          {
            "check": "Privacy policy",
            "value": "read, states 7 of the 8 things a reader expects, and has 1 clause that costs points",
            "points": 7.3,
            "max": 10,
            "state": "part"
          },
          {
            "check": "Status page",
            "value": "www.google.com/appsstatus/dashboard",
            "points": 10,
            "max": 10,
            "state": "ok"
          },
          {
            "check": "Changelog",
            "value": "published",
            "points": 10,
            "max": 10,
            "state": "ok"
          },
          {
            "check": "security.txt",
            "value": "valid",
            "points": 10,
            "max": 10,
            "state": "ok"
          }
        ],
        "policies": [
          {
            "kind": "terms",
            "url": "https://developers.google.com/terms",
            "state": "read",
            "readAt": "2026-10-08",
            "statedDate": "2021-11-09",
            "words": 3831,
            "points": 7.1,
            "max": 10,
            "expected": [
              {
                "key": "terms.date",
                "label": "Gives the date it was last updated",
                "found": true,
                "quote": "Last modified: November 9, 2021 (see previous version)",
                "says": "Last updated 2021-11-09"
              },
              {
                "key": "terms.law",
                "label": "Names the governing law or courts",
                "found": true,
                "quote": "Except as set forth below: (i) the laws of California, U.S.A., excluding California's conflict of laws rules, will apply to any disputes arising out of or related to the Terms or the APIs and (ii) ALL CLAIMS ARISING OUT OF OR RELATING TO THE TERMS OR THE APIS WILL BE LITIGATED EXCLUSIVELY IN THE FEDERAL OR STATE COURT…",
                "says": "The law of California, with disputes in the courts of Santa Clara County, California"
              },
              {
                "key": "terms.liability",
                "label": "States a limit on its liability",
                "found": true,
                "quote": "…ITS SUPPLIERS AND DISTRIBUTORS, FOR ANY CLAIM UNDER THE TERMS, INCLUDING FOR ANY IMPLIED WARRANTIES, IS LIMITED TO THE AMOUNT YOU PAID US TO USE THE APPLICABLE APIS (OR, IF WE CHOOSE, TO SUPPLYING YOU THE APIS AGAIN) DURING THE SIX MONTHS PRIOR TO THE EVENT GIVING RISE TO THE LIABILITY.",
                "says": "Capped at the fees paid in the 6 months before the claim"
              },
              {
                "key": "terms.termination",
                "label": "Says how the agreement or account can be ended",
                "found": true,
                "quote": "Google may suspend access to the APIs by you or your API Client without notice if we reasonably believe that you are in violation of the Terms."
              },
              {
                "key": "terms.changes",
                "label": "Says how changes to the terms are announced",
                "found": true,
                "quote": "We'll post notice of modifications to the Terms within the documentation of each applicable API, to this website, and/or in the Google developers console.",
                "says": "Says it gives notice of a change"
              },
              {
                "key": "terms.use",
                "label": "Lists what users may not do",
                "found": true,
                "quote": "You may not use the APIs and may not accept the Terms if (a) you are not of legal age to form a binding contract with Google, or (b) you are a person barred from using or receiving the APIs under the applicable laws of the United States or other countries including the country in which you are resident or from which y…"
              },
              {
                "key": "terms.sla",
                "label": "Refers to a service level or uptime commitment",
                "found": false
              }
            ],
            "toKnow": [
              {
                "key": "terms.automated",
                "label": "Restricts automated access",
                "found": true,
                "quote": "Scrape, build databases, or otherwise create permanent copies of such content, or keep cached copies longer than permitted by the cache header;",
                "costsPoints": true
              },
              {
                "key": "terms.cutoff",
                "label": "Says access can be ended without notice or for any reason",
                "found": true,
                "quote": "Google reserves the right to terminate the Terms with you or discontinue the APIs or any portion or feature or your access thereto for any reason and at any time without liability or other obligation to you."
              },
              {
                "key": "old",
                "label": "Has not been updated for three years or more",
                "found": true,
                "quote": "Last modified: November 9, 2021 (see previous version)"
              }
            ],
            "notes": [
              {
                "date": "2026-10-08",
                "text": "Content submitted through the APIs is licensed to Google on a perpetual, irrevocable and sublicensable basis, for the stated sole purpose of enabling Google to provide, secure and improve the APIs.",
                "quote": "For the sole purpose of enabling Google to provide, secure, and improve the APIs (and the related service(s)) and only in accordance with the applicable Google privacy policies, you give Google a perpetual, irrevocable, worldwide, sublicensable, royalty-free, and non-exclusive license to Use content"
              },
              {
                "date": "2026-10-08",
                "text": "A developer may not misrepresent or mask its own identity or the identity of its API client when using the APIs or developer accounts.",
                "quote": "You will not misrepresent or mask either your identity or your API Client's identity when using the APIs or developer accounts."
              },
              {
                "date": "2026-10-08",
                "text": "Google may use the developer's company or product name, and screenshots or video of its API client, when promoting or demonstrating the APIs.",
                "quote": "In the course of promoting, marketing, or demonstrating the APIs you are using and the associated Google products, Google may produce and distribute incidental depictions, including screenshots, video, or other content from your API Client, and may use your company or product name."
              }
            ]
          },
          {
            "kind": "privacy",
            "url": "https://policies.google.com/privacy",
            "state": "read",
            "readAt": "2026-10-08",
            "statedDate": "2026-10-01",
            "words": 14332,
            "points": 7.3,
            "max": 10,
            "expected": [
              {
                "key": "privacy.date",
                "label": "Gives the date it was last updated",
                "found": true,
                "quote": "Effective October 1, 2026 | Archived versions | Download PDF",
                "says": "Last updated 2026-10-01"
              },
              {
                "key": "privacy.collected",
                "label": "Says what personal data is collected",
                "found": true,
                "quote": "This Privacy Policy is meant to help you understand what information we collect, why we collect it, and how you can update, manage, export, and delete your information."
              },
              {
                "key": "privacy.retention",
                "label": "Says how long data is kept",
                "found": true,
                "quote": "The types of location data we collect and how long we store it depend in part on your device and account settings."
              },
              {
                "key": "privacy.processors",
                "label": "Says who else receives the data",
                "found": true,
                "quote": "For example, we use service providers to help operate our data centers, deliver our products and services, improve our internal business processes, and offer additional support to customers and users."
              },
              {
                "key": "privacy.sale",
                "label": "Says whether personal data is sold or shared for advertising",
                "found": true,
                "quote": "If Google is involved in a merger, acquisition, or sale of assets, we’ll continue to ensure the confidentiality of your personal information and give affected users notice before personal information is transferred or becomes subject to a different privacy policy."
              },
              {
                "key": "privacy.rights",
                "label": "Says what rights people have over their data",
                "found": true,
                "quote": "If European Union or United Kingdom data protection law applies to the processing of your information, you can review the European requirements section below to learn more about your rights and Google’s compliance with these laws."
              },
              {
                "key": "privacy.contact",
                "label": "Gives a privacy contact",
                "found": true,
                "quote": "And if you have any questions about this Privacy Policy, you can contact us."
              },
              {
                "key": "privacy.transfers",
                "label": "Says where data is transferred or stored",
                "found": false
              }
            ],
            "toKnow": [
              {
                "key": "training",
                "label": "Says it may use customer content to train or improve models, and no opt-out was found",
                "found": true,
                "quote": "We use your interactions with AI models and technologies like Gemini Apps to develop, train, fine-tune, and improve these models to better handle your requests, and update their classifiers and filters including for safety, language understanding, and factuality.",
                "costsPoints": true
              }
            ],
            "notes": [
              {
                "date": "2026-10-08",
                "text": "Members of organisations using Google Workspace or Google Cloud Platform are referred to the separate Google Cloud Privacy Notice for how those services collect and use personal information.",
                "quote": "If you’re a member of an organization that uses Google Workspace or Google Cloud Platform, learn how these services collect and use your personal information in the Google Cloud Privacy Notice."
              },
              {
                "date": "2026-10-08",
                "text": "Google says it uses publicly available information from the web and other public sources to help train machine learning models behind products such as Google Translate, Gemini Apps and Cloud AI.",
                "quote": "We use publicly available information online or from other public sources to help train new machine learning models and build foundational technologies that power various Google products such as Google Translate, Gemini Apps, and Cloud AI capabilities."
              }
            ]
          }
        ]
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/google-forms.json",
      "live": {
        "slug": "google-forms",
        "probe": {
          "target": "https://forms.googleapis.com/v1",
          "method": "get",
          "lastAt": "2026-10-08T21:41:38.368620307Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 603,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 604,
          "p95ms24h": 664,
          "samples24h": 26,
          "samples30d": 26,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 26,
              "ok": 26
            }
          ]
        },
        "updatedAt": "2026-10-08T21:41:38.368620307Z"
      }
    },
    "verify": {
      "accepts": "a page on google.com or one of its subdomains, or the README of github.com/googleapis/google-api-nodejs-client",
      "badgeUrl": "https://www.anchorterminal.com/badges/google-forms.svg",
      "body": {
        "slug": "google-forms",
        "url": "the page with the badge or the link"
      },
      "docs": "https://www.anchorterminal.com/builders/#verify",
      "effect": "none, it never changes a grade, rank or review",
      "endpoint": "https://www.anchorterminal.com/api/v1/verify",
      "listingUrl": "https://www.anchorterminal.com/tools/google-forms",
      "mcpTool": "verify_listing",
      "recheck": "weekly; two failed checks in a row and it lapses, a later pass restores it",
      "snippets": {
        "html": "\u003ca href=\"https://www.anchorterminal.com/tools/google-forms\"\u003e\u003cimg src=\"https://www.anchorterminal.com/badges/google-forms.svg\" alt=\"Google Forms API on Anchor Terminal\" height=\"20\"\u003e\u003c/a\u003e",
        "markdown": "[![Google Forms API on Anchor Terminal](https://www.anchorterminal.com/badges/google-forms.svg)](https://www.anchorterminal.com/tools/google-forms)",
        "link": "\u003ca href=\"https://www.anchorterminal.com/tools/google-forms\"\u003eGoogle Forms API on Anchor Terminal\u003c/a\u003e"
      }
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/tools/google-forms",
    "json": "https://www.anchorterminal.com/tools/google-forms.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/tools/google-forms.md",
    "slim": "https://www.anchorterminal.com/tools/google-forms.min.md"
  },
  "markdown": "## Overview\n\n**Grade BB · 70.8/100 · rank #127 of 722 · #1 in Forms, surveys \u0026 structured intake · agent-ready · confidence medium**\n\n\nMore from Google, listed separately because each is its own product: [Gemini Developer API](https://www.anchorterminal.com/tools/gemini-api.md) (Model APIs \u0026 inference), [Gemini Embedding](https://www.anchorterminal.com/tools/gemini-embedding.md) (Embeddings \u0026 rerankers), [Vertex AI Gemini tuning](https://www.anchorterminal.com/tools/vertex-ai-tuning.md) (Fine-tuning), [Google Cloud Model Armor](https://www.anchorterminal.com/tools/google-model-armor.md) (Guardrails \u0026 safety filters), [Google Imagen](https://www.anchorterminal.com/tools/google-imagen.md) (Image generation), [Google Veo](https://www.anchorterminal.com/tools/google-veo.md) (Video generation), [Google Lyria](https://www.anchorterminal.com/tools/google-lyria.md) (Music generation), [Google Cloud Speech-to-Text](https://www.anchorterminal.com/tools/google-speech-to-text.md) (Speech-to-text), [Agent Development Kit (ADK)](https://www.anchorterminal.com/tools/google-adk.md) (Agent frameworks \u0026 SDKs), [Google Cloud Secret Manager](https://www.anchorterminal.com/tools/google-secret-manager.md) (Secrets \u0026 credential vaults), [Google Weather API (Maps Platform)](https://www.anchorterminal.com/tools/google-weather-api.md) (Weather \u0026 climate data), [Chrome DevTools MCP](https://www.anchorterminal.com/tools/chrome-devtools-mcp.md) (Browser automation), [Google Maps Platform + Grounding Lite MCP](https://www.anchorterminal.com/tools/google-maps-platform.md) (Maps, geocoding \u0026 places), [Google Cloud Translation](https://www.anchorterminal.com/tools/google-cloud-translation.md) (Translation), [Google Calendar API](https://www.anchorterminal.com/tools/google-calendar-api.md) (Calendars \u0026 scheduling), [Google Drive API + MCP](https://www.anchorterminal.com/tools/google-drive-api.md) (File storage \u0026 sharing), [Gemini CLI](https://www.anchorterminal.com/tools/gemini-cli.md) (Agent harnesses), [Google Ads API](https://www.anchorterminal.com/tools/google-ads-api.md) (Advertising \u0026 campaign operations), [Google Sheets API](https://www.anchorterminal.com/tools/google-sheets-api.md) (Spreadsheets \u0026 operational tables), [Gmail API](https://www.anchorterminal.com/tools/gmail-api.md) (Mailbox access).\n\n## Assessment\n\nSix OAuth scopes separate form structure from responses, and batchUpdate applies a batch atomically with a revision check. Notifications go only to a Cloud Pub/Sub topic and carry no response data, the API can't list forms or create file upload questions, and the release notes were last updated on 8 April 2025.\n\n## Facts\n\n| Field | Value |\n| --- | --- |\n| Vendor | Google (https://developers.google.com/workspace/forms) |\n| Kind | HTTP API |\n| Category | Forms, surveys \u0026 structured intake (https://www.anchorterminal.com/categories/forms) |\n| Transport | HTTP |\n| Endpoint | `https://forms.googleapis.com/v1` |\n| Auth | OAuth · OAuth 2.0, set up by a person in a Google Cloud project with a consent screen. No partner or sales approval. Six scopes work with the API. forms.body, forms.body.readonly and forms.responses.readonly are specific to Forms, and drive, drive.file and drive.readonly are the Drive scopes. Reading responses needs forms.responses.readonly, drive or drive.file. Google's troubleshooting page says apps asking for sensitive scopes must pass verification to remove the unverified-app warning. The limits page says calls by a service account count as one account for quota. Watches also need a Pub/Sub topic that grants publish rights to forms-notifications@system.gserviceaccount.com. |\n| Pricing | Free (Free) · Standard use of the Forms API has no additional cost, and a Google account can enable it without a card or contract. Quotas are 975 reads, 450 response-list reads and 375 writes a minute per project, with no daily limit. Google says exceeding the quota request limits is planned to incur charges to the Cloud billing account later in 2026, with no price published and 90 days' notice promised. Push notifications use Cloud Pub/Sub, which is billed separately and needs billing enabled. There is no separate sandbox; a test form in any account does that job (https://developers.google.com/workspace/forms/api/limits; https://developers.google.com/workspace/tools-safety). |\n| x402 | No · No x402, MPP or L402 in the Forms API docs, the limits page or the discovery document (checked 2026-10-08). |\n| Licence | Proprietary service under the Google APIs Terms of Service. The client libraries are Apache-2.0 |\n| Tools exposed | 0 |\n| Packages | npm: `@googleapis/forms`; pypi: `google-api-python-client` |\n| Source | https://github.com/googleapis/google-api-nodejs-client |\n| Docs | https://developers.google.com/workspace/forms/api/guides |\n| llms.txt | not found |\n| Last release | 2026-09-24 |\n| npm downloads / week | 31,730 |\n| Price | No charge for standard use. Charges for exceeding quota are planned for later in 2026, unpriced, with 90 days' notice. Cloud Pub/Sub for notifications is billed separately |\n| Quota | Per minute per project, 975 reads, 450 forms.responses.list calls and 375 writes. Per user per project, 390, 180 and 150. No daily limit |\n| Interface | REST at https://forms.googleapis.com/v1, 10 methods in discovery revision 20261004, on forms, forms.responses and forms.watches |\n| Building a form | forms.create takes a title only. forms.batchUpdate adds and edits items atomically, with six request kinds and a revision check. forms.setPublishSettings publishes |\n| Question types | Choice (radio, checkbox, drop-down), text, scale, date, time, rating and grid rows, plus sections, text, image and video items. File upload questions can be read but not created |\n| Responses | forms.responses.get and list, read-only. Answers are keyed by question ID and returned as text, with grades for quizzes. pageSize, pageToken and a timestamp filter |\n| Notifications | Watches on SCHEMA or RESPONSES events, sent to a Cloud Pub/Sub topic. Seven-day expiry, at-least-once, no payload beyond form, watch and event type |\n| Scopes | forms.body, forms.body.readonly, forms.responses.readonly, drive, drive.file, drive.readonly |\n| MCP server | None found for Forms. Google's Workspace MCP servers cover Gmail, Drive, Docs, Sheets, Slides, Calendar and Chat |\n| Client libraries | Google API client libraries, Apache-2.0. `@googleapis/forms` 11.0.1 (24 September 2026, Node 22 or later) and `google-api-python-client` 2.201.0 (30 September 2026) |\n| Capabilities | forms.create, forms.responses, forms.webhooks, forms.surveys |\n| Tags | hosted, official, closed-source, free, oauth, webhooks, typescript, python, enterprise, status-page, soc2 |\n| JSON | https://www.anchorterminal.com/api/v1/tools/google-forms.json |\n\n## Score breakdown (methodology v0.4, October 2026 research run)\n\nAssessed 2026-10-08 from public evidence against the published checklist (https://www.anchorterminal.com/benchmark/#checklist). Confidence: medium. Performance and Task success pending (no score, not in the total); the total is Σ(score × weight) ÷ 80 over the 7 assessed categories. \"This run\" is each category's share of the 100 points.\n\n| Category | Weight | This run | Score (0–100) | Points |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% | 20 | 91 | 18.2 |\n| Performance | 10% | pending | pending | n/a |\n| Schema \u0026 documentation | 13% | 16.2 | 78 | 12.7 |\n| Agent ergonomics | 13% | 16.2 | 72 | 11.7 |\n| Security \u0026 auth | 14% | 17.5 | 66 | 11.6 |\n| Payments \u0026 pricing | 10% | 12.5 | 35 | 4.4 |\n| Task success | 10% | pending | pending | n/a |\n| Maintenance \u0026 community | 7% | 8.8 | 61 | 5.3 |\n| Transparency \u0026 trust (editorial 66, provenance 94) | 7% | 8.8 | 80 | 7.0 |\n| Negative events | up to −15 | up to −15 | none recorded | 0 |\n| **Total** | | | | **70.8 → BB** |\n\n### Why each score\n\n- Reliability 91: Graded on the REST API, the only surface. The Google Workspace Status Dashboard lists Forms, with an incidents feed that ran from 9 October 2025 to 25 September 2026 when read on 8 October (20). The feed's only Forms incident is 12 November 2025, 4 hours 45 minutes with Docs, Sheets and Slides, so the 90 days to 8 October are clean. The dashboard tracks the Forms product, not the API alone (30). 975 reads, 450 response-list reads and 375 writes a minute per project, with per-user figures (15). The limits page gives a truncated exponential backoff formula for 429, batchUpdate is atomic and writeControl.requiredRevisionId makes a form edit safe to retry, but forms.create has no idempotency key (11 of 15). The Workspace SLA names Google Forms at 99.9 per cent but measures Downtime in the user web interface and doesn't name the API (5 of 10). GA since 17 March 2022 (10). Total 91.\n- Performance: Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes.\n- Schema \u0026 documentation 78: Google publishes a discovery document, not OpenAPI, which is a machine-readable contract all the same, at revision 20261004 with 10 methods and 64 schemas (25). `llms.txt` returned 404 at developers.google.com, `/workspace` and `/workspace/forms` on 8 October, but doc pages return Markdown when `.md.txt` is appended to the URL; we found no index or link that advertises it (5 of 10). Reference pages say what each method does and where it stops, such as forms.create copying only the title, but that description points to a forms.update method that doesn't exist and two guides still refer to Early Adopter Programme instructions (14 of 20). Typed parameters and unions with enums for choice type, event type, watch state and file type (14 of 15). Python, Node.js and Apps Script samples in the guides, but no error reference beyond an authentication troubleshooting page and 429 on the limits page (9 of 15). v1 in the path and release notes with a feed, though only two entries, and the change to unpublished forms after 30 June 2026 sits on a separate page (11 of 15). Total 78.\n- Agent ergonomics 72: Responses size with a fields mask and pageSize, and batchUpdate returns the form only when includeFormInResponse is set. forms.responses.list returns up to 5,000 responses when no pageSize is given (20 of 25). pageSize, pageToken and a timestamp filter on responses, but no other filter and no method that lists forms, which needs the Drive API (14 of 20). Standard Google error bodies with a status and a reason, as a 401 showed on 8 October, thinly documented for Forms (12 of 20). Atomic batches, a revision check through writeControl and a caller-chosen watchId, but no idempotency key on forms.create (13 of 20). Google API client libraries for Go, Java, .NET, Node.js, PHP, Python and Ruby. A new form takes two calls, three with publishing (13 of 15). Total 72.\n- Security \u0026 auth 66: OAuth 2.0 with six scopes and short-lived revocable tokens (30), less 10 because the discovery document lists access_token, oauth_token and key as URL query parameters (20). forms.body.readonly and forms.responses.readonly split structure from answers and drive.file limits an app to chosen files, but nothing confirms a deleteItem and no scope is narrower than one form (17 of 20). Responses are text written by respondents, and we found no prompt-injection guidance in the Forms API docs (0 of 15). The Drive log events page records access through Workspace APIs as Item content accessed with the API method, for Workspace admins. It doesn't name the Forms API, and no per-call log for personal accounts was found (9 of 15). `security.txt` valid to 1 April 2030, Google's vulnerability reward programme, and Google's SOC 2 page lists Google Forms (20). Total 66.\n- Payments \u0026 pricing 35: No x402, MPP or L402 (0). Standard use is free within published quotas, but the charge for exceeding them, planned for later in 2026, has no published price (15 of 20). No charge and no card needed to enable the API, though watches need Cloud Pub/Sub with billing enabled (20). A person creates a Cloud project and an OAuth consent screen and grants consent (0). Total 35.\n- Task success: Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored.\n- Maintenance \u0026 community 61: The API's own release notes were last updated on 8 April 2025. The discovery document is at revision 20261004 and `@googleapis/forms` 11.0.1 was published on 24 September 2026 with the note update the API, and Google's notice set 30 June 2026 for the change to unpublished forms. We count the client release but mark down for the silent release notes, a judgement call (20 of 30). Client releases 7.0.0 on 3 August, 10.0.0, 11.0.0 and 11.0.1 in September 2026, all generated, with no dated API changelog entry in the 90 days (10 of 20). An issue tracker component, a developer forum and a Stack Overflow tag are listed; we didn't sample replies, and the release notes are stale (8 of 15). Current official client libraries, with `google-api-python-client` 2.201.0 on 30 September 2026 (15). Clients regenerate from discovery, the Node package moved to a Node 22 minimum through breaking majors in September 2026, and we didn't check the CI pass state (8 of 10). Total 61.\n- Transparency \u0026 trust 80: Closed service under the Google APIs Terms of Service, last modified 9 November 2021, with Apache-2.0 client libraries (15 of 30). The Google privacy policy (effective 1 October 2026) covers end users, the Cloud Data Processing Addendum sets deletion within a maximum of 180 days for Workspace customers, and the Workspace API user data policy limits what apps may do with user data. We found no retention statement specific to Forms API data (18 of 30). A dated notice for the change to unpublished forms after 30 June 2026 and 90 days' notice promised before quota charges, but no stated deprecation period, and the API terms let Google discontinue an API at any time (13 of 20). The Workspace subprocessor list, last modified 23 July 2026, covers Forms among the Workspace services. It applies to Workspace customers, not personal accounts (20). Total 66.\n\nFix list for a coding agent, everything this grade says the listing lacks, the biggest gain first (19 items): https://www.anchorterminal.com/fixes/google-forms.md (JSON https://www.anchorterminal.com/fixes/google-forms.json)\n\n### What we couldn't check\n\n- The notice says API-created forms start unpublished after 30 June 2026, while the discovery document at revision 20261004 still says an unset unpublished parameter creates a published form. We didn't create a form to see which holds\n- Google hasn't said when quota overage charges start or what they cost; the Workspace model page promises 90 days' notice\n- The Workspace SLA measures Downtime in the user web interface; whether failures of the Forms API alone count isn't stated\n- Whether Forms API calls appear in Drive log events isn't stated; the page names the Drive and Sheets APIs as examples\n- unchecked: which Forms scopes Google classes as sensitive or restricted; the Forms docs have no scopes page\n- unchecked: replies on Google's public issue tracker component 978479 for the Forms API\n- unchecked: GitHub stars and the CI pass state of `google-api-nodejs-client`; the GitHub API answered 403\n- unchecked: the SOC 2 reports themselves; we read only the public page that lists Google Forms\n- unchecked: weekly PyPI downloads for `google-api-python-client`, which serves every Google API in any case\n- The lead's description was right. No MCP server for Forms was found\n\n### Sources\n\n- Forms API overview: \u003chttps://developers.google.com/workspace/forms/api/guides\u003e (seen 2026-10-08)\n- Usage limits and pricing statement: \u003chttps://developers.google.com/workspace/forms/api/limits\u003e (seen 2026-10-08)\n- Discovery document v1, revision 20261004: \u003chttps://forms.googleapis.com/$discovery/rest?version=v1\u003e (seen 2026-10-08)\n- REST reference: \u003chttps://developers.google.com/workspace/forms/api/reference/rest\u003e (seen 2026-10-08)\n- forms.responses.list reference: \u003chttps://developers.google.com/workspace/forms/api/reference/rest/v1/forms.responses/list\u003e (seen 2026-10-08)\n- forms.batchUpdate reference: \u003chttps://developers.google.com/workspace/forms/api/reference/rest/v1/forms/batchUpdate\u003e (seen 2026-10-08)\n- Push notifications guide: \u003chttps://developers.google.com/workspace/forms/api/guides/push-notifications\u003e (seen 2026-10-08)\n- Retrieve forms and responses: \u003chttps://developers.google.com/workspace/forms/api/guides/retrieve-forms-responses\u003e (seen 2026-10-08)\n- Update a form or quiz: \u003chttps://developers.google.com/workspace/forms/api/guides/update-form-quiz\u003e (seen 2026-10-08)\n- Publish and manage responders: \u003chttps://developers.google.com/workspace/forms/api/guides/publish-form\u003e (seen 2026-10-08)\n- API changes to Google Forms (unpublished by default): \u003chttps://developers.google.com/workspace/forms/api/guides/api-changes-to-google-forms\u003e (seen 2026-10-08)\n- REST API compared with Apps Script: \u003chttps://developers.google.com/workspace/forms/api/guides/compare-rest-apps-script\u003e (seen 2026-10-08)\n- Performance tips (fields mask): \u003chttps://developers.google.com/workspace/forms/api/guides/performance\u003e (seen 2026-10-08)\n- Client libraries: \u003chttps://developers.google.com/workspace/forms/api/guides/libraries\u003e (seen 2026-10-08)\n- Support channels: \u003chttps://developers.google.com/workspace/forms/api/support\u003e (seen 2026-10-08)\n- Authentication troubleshooting: \u003chttps://developers.google.com/workspace/forms/api/troubleshoot-authentication-authorization\u003e (seen 2026-10-08)\n- Forms API release notes: \u003chttps://developers.google.com/workspace/forms/release-notes\u003e (seen 2026-10-08)\n- Release notes feed: \u003chttps://developers.google.com/feeds/forms-release-notes.xml\u003e (seen 2026-10-08)\n- Unauthenticated request, 401 error body: \u003chttps://forms.googleapis.com/v1/forms/abc\u003e (seen 2026-10-08)\n- Workspace model for agent tools and APIs: \u003chttps://developers.google.com/workspace/tools-safety\u003e (seen 2026-10-08)\n- Workspace MCP servers setup (no Forms server): \u003chttps://developers.google.com/workspace/guides/configure-mcp-servers\u003e (seen 2026-10-08)\n- Workspace API user data and developer policy: \u003chttps://developers.google.com/workspace/workspace-api-user-data-developer-policy\u003e (seen 2026-10-08)\n- Workspace status incidents feed: \u003chttps://www.google.com/appsstatus/dashboard/incidents.json\u003e (seen 2026-10-08)\n- Workspace SLA: \u003chttps://workspace.google.com/terms/sla.html\u003e (seen 2026-10-08)\n- Workspace subprocessors: \u003chttps://workspace.google.com/terms/subprocessors.html\u003e (seen 2026-10-08)\n- Google APIs Terms of Service: \u003chttps://developers.google.com/terms\u003e (seen 2026-10-08)\n- Google privacy policy: \u003chttps://policies.google.com/privacy\u003e (seen 2026-10-08)\n- Cloud Data Processing Addendum: \u003chttps://cloud.google.com/terms/data-processing-addendum\u003e (seen 2026-10-08)\n- SOC 2 page listing Google Forms: \u003chttps://cloud.google.com/security/compliance/soc-2\u003e (seen 2026-10-08)\n- Drive log events: \u003chttps://knowledge.workspace.google.com/admin/reports/drive-log-events\u003e (seen 2026-10-08)\n- `security.txt`: \u003chttps://www.google.com/.well-known/security.txt\u003e (seen 2026-10-08)\n- `llms.txt` (404): \u003chttps://developers.google.com/workspace/forms/llms.txt\u003e (seen 2026-10-08)\n- Markdown copy of a doc page: \u003chttps://developers.google.com/workspace/forms/api/guides.md.txt\u003e (seen 2026-10-08)\n- `@googleapis/forms` changelog: \u003chttps://github.com/googleapis/google-api-nodejs-client/blob/main/src/apis/forms/CHANGELOG.md\u003e (seen 2026-10-08)\n- npm registry, `@googleapis/forms`: \u003chttps://registry.npmjs.org/@googleapis/forms\u003e (seen 2026-10-08)\n- npm weekly downloads: \u003chttps://api.npmjs.org/downloads/point/last-week/@googleapis/forms\u003e (seen 2026-10-08)\n- PyPI, `google-api-python-client`: \u003chttps://pypi.org/pypi/google-api-python-client/json\u003e (seen 2026-10-08)\n- RDAP for google.com: \u003chttps://rdap.verisign.com/com/v1/domain/google.com\u003e (seen 2026-10-08)\n\n## Who's behind it (provenance 94/100, checked 2026-10-08)\n\n| Check | Finding | Points |\n| --- | --- | --- |\n| Legal entity named | Google LLC | 20/20 |\n| Domain age | google.com, registered 1997-09-15 (29 years) | 15/15 |\n| Endpoint on the vendor's domain | forms.googleapis.com | 15/15 |\n| Terms of service | read, states 6 of the 7 things a reader expects, and has 1 clause that costs points | 7.1/10 |\n| Privacy policy | read, states 7 of the 8 things a reader expects, and has 1 clause that costs points | 7.3/10 |\n| Status page | www.google.com/appsstatus/dashboard | 10/10 |\n| Changelog | published | 10/10 |\n| security.txt | valid | 10/10 |\n\nThe endpoint is on googleapis.com, Google's API domain. google.com was registered in 1997.\n\nThe Google APIs Terms of Service (last modified 9 November 2021) name Google LLC, 1600 Amphitheatre Parkway, Mountain View.\n\nRDAP for google.com gives a registration date of 1997-09-15.\n\nwww.google.com/.well-known/security.txt expires on 1 April 2030 and names g.co/vulnz, security@google.com and the vulnerability reward programme.\n\nGoogle publishes a discovery document for the API, not an OpenAPI spec.\n\nThe release notes page has two entries, 17 March 2022 and 8 April 2025.\n\nThe Google privacy policy read on 8 October 2026 is the version effective 1 October 2026.\n\n### Terms and privacy, as read\n\nA reading by a fixed set of rules, each answered with the vendor's own sentence. Not legal advice.\n\n**Terms of service** (https://developers.google.com/terms), read 2026-10-08, dated 2021-11-09, states 6 of the 7 things a reader expects.\n\n- To know. Restricts automated access (costs points). \"Scrape, build databases, or otherwise create permanent copies of such content, or keep cached copies longer than permitted by the cache header;\"\n- To know. Says access can be ended without notice or for any reason. \"Google reserves the right to terminate the Terms with you or discontinue the APIs or any portion or feature or your access thereto for any reason and at any time without liability or other obligation to you.\"\n- To know. Has not been updated for three years or more. \"Last modified: November 9, 2021 (see previous version)\"\n- Gives the date it was last updated. Last updated 2021-11-09.\n- Names the governing law or courts. The law of California, with disputes in the courts of Santa Clara County, California.\n- States a limit on its liability. Capped at the fees paid in the 6 months before the claim.\n- Says how changes to the terms are announced. Says it gives notice of a change.\n- Not found in the text. Refers to a service level or uptime commitment.\n- Also in the text (2026-10-08). Content submitted through the APIs is licensed to Google on a perpetual, irrevocable and sublicensable basis, for the stated sole purpose of enabling Google to provide, secure and improve the APIs. \"For the sole purpose of enabling Google to provide, secure, and improve the APIs (and the related service(s)) and only in accordance with the applicable Google privacy policies, you give Google a perpetual, irrevocable, worldwide, sublicensable, royalty-free, and non-exclusive license to Use content\"\n- Also in the text (2026-10-08). A developer may not misrepresent or mask its own identity or the identity of its API client when using the APIs or developer accounts. \"You will not misrepresent or mask either your identity or your API Client's identity when using the APIs or developer accounts.\"\n- Also in the text (2026-10-08). Google may use the developer's company or product name, and screenshots or video of its API client, when promoting or demonstrating the APIs. \"In the course of promoting, marketing, or demonstrating the APIs you are using and the associated Google products, Google may produce and distribute incidental depictions, including screenshots, video, or other content from your API Client, and may use your company or product name.\"\n\n**Privacy policy** (https://policies.google.com/privacy), read 2026-10-08, dated 2026-10-01, states 7 of the 8 things a reader expects.\n\n- To know. Says it may use customer content to train or improve models, and no opt-out was found (costs points). \"We use your interactions with AI models and technologies like Gemini Apps to develop, train, fine-tune, and improve these models to better handle your requests, and update their classifiers and filters including for safety, language understanding, and factuality.\"\n- Gives the date it was last updated. Last updated 2026-10-01.\n- Not found in the text. Says where data is transferred or stored.\n- Also in the text (2026-10-08). Members of organisations using Google Workspace or Google Cloud Platform are referred to the separate Google Cloud Privacy Notice for how those services collect and use personal information. \"If you’re a member of an organization that uses Google Workspace or Google Cloud Platform, learn how these services collect and use your personal information in the Google Cloud Privacy Notice.\"\n- Also in the text (2026-10-08). Google says it uses publicly available information from the web and other public sources to help train machine learning models behind products such as Google Translate, Gemini Apps and Cloud AI. \"We use publicly available information online or from other public sources to help train new machine learning models and build foundational technologies that power various Google products such as Google Translate, Gemini Apps, and Cloud AI capabilities.\"\n\n## Live (updated 2026-10-08 21:41 UTC)\n\n- Right now: up, HTTP 404, 603 ms, checked 2026-10-08 21:41 UTC (get on `https://forms.googleapis.com/v1`)\n- Uptime 24h 100.0% (26 probes) · 30 days 100.0% (26 probes) · p50 604 ms · p95 664 ms\n- Always current: https://www.anchorterminal.com/api/v1/live/google-forms.json\n\n## Probe metrics\n\nNot measured yet. Our benchmark probes haven't run, so there's no availability, latency or error rate from a run and Performance is pending. Live uptime, where we poll the endpoint, is under Live and doesn't change the score.\n\n## Strengths\n\n- Separate read-only scopes for form structure (forms.body.readonly) and responses (forms.responses.readonly), plus the per-file drive.file scope\n- forms.batchUpdate applies every request or none, and writeControl.requiredRevisionId rejects a write made against a stale revision\n- Public discovery document for v1 (revision 20261004, 10 methods, 64 schemas) and Markdown copies of doc pages at `.md.txt` URLs\n- Quotas are 975 reads, 450 response-list reads and 375 writes a minute per project, with no daily cap\n- No Forms incident on the Workspace status dashboard since 12 November 2025, read on 8 October 2026\n\n## Weaknesses\n\n- Push notifications go only to a Cloud Pub/Sub topic in the caller's project, which needs Cloud billing, and they carry no form or response data\n- A watch expires after seven days unless renewed, with at most 20 watches per form and event type for each project\n- No method lists forms or deletes one, the API can't create file upload questions, and it can't submit a response\n- The release notes have two entries, the latest dated 8 April 2025, and no error reference page was found beyond authentication and 429\n- forms.create copies only the title, so a ten-question form takes forms.create, forms.batchUpdate and, by the vendor's notice, forms.setPublishSettings\n\n## Before you call it (notes for agents)\n\n1. Call forms.create with a title only, then add items with forms.batchUpdate. Any other field in the create body is disallowed\n2. Publish with forms.setPublishSettings before sharing. Google's notice says forms created through the API after 30 June 2026 start unpublished\n3. Pass pageSize on forms.responses.list. With none set a page can hold up to 5,000 responses. Use filter=timestamp \u003e N to fetch only new ones\n4. After a Pub/Sub notification, call forms.responses.list yourself. The message holds only formId, watchId and eventType. Renew each watch within seven days\n5. Send writeControl.requiredRevisionId on forms.batchUpdate, and read the form before retrying a timed-out forms.create, which has no idempotency key\n\n## Connect\n\nInstall:\n\n```bash\nnpm install @googleapis/forms\n```\n\nFirst request:\n\n```bash\ncurl \"https://forms.googleapis.com/v1/forms/$FORM_ID/responses?pageSize=50\" \\\n  -H \"Authorization: Bearer $GOOGLE_ACCESS_TOKEN\"\n```\n\nThrough letme (picks today, calling later): https://letme.dev/google-forms (letme picks it for forms.responses, the top-graded tool for the job, letme picks it for forms.surveys, the top-graded tool for the job, letme picks it for forms.webhooks, the top-graded tool for the job). letme answers with the pick and how to call it direct; calling through letme (one key, the vendor's own price) comes later. How it works: https://www.anchorterminal.com/letme/index.md\n\n## Similar tools\n\nRanked by shared capabilities, then score. Same-category tools with no shared capability key are listed last.\n\n| Tool | Grade | Score | Rank | Shared capabilities | x402 | Markdown |\n| --- | --- | --- | --- | --- | --- | --- |\n| Tally | C | 60.6 | 395 | forms.create, forms.responses, forms.webhooks, forms.surveys | no | https://www.anchorterminal.com/tools/tally.md |\n| Typeform | C | 58.4 | 452 | forms.create, forms.responses, forms.webhooks, forms.surveys | no | https://www.anchorterminal.com/tools/typeform.md |\n| Formbricks | C | 57.7 | 465 | forms.surveys, forms.create, forms.responses, forms.webhooks | no | https://www.anchorterminal.com/tools/formbricks.md |\n| SurveyMonkey | C | 55.3 | 513 | forms.create, forms.surveys, forms.responses, forms.webhooks | no | https://www.anchorterminal.com/tools/surveymonkey.md |\n| Jotform | D | 52.9 | 556 | forms.create, forms.responses, forms.webhooks, forms.surveys | no | https://www.anchorterminal.com/tools/jotform.md |\n| Paperform | C | 56 | 496 | forms.responses, forms.webhooks, forms.surveys | no | https://www.anchorterminal.com/tools/paperform.md |\n\n## Panel reviews (0)\n\nReviewed by the Anchor panel (https://www.anchorterminal.com/reviewers/index.md): .\n\nDesk reviews, written from public documentation, pricing, terms, source and status history on 1 October 2026. No calls made. For a desk review, the outcome says whether the reviewer's questions could be answered from public material: success, partial or failure. How reviews work: https://www.anchorterminal.com/reviews/how-it-works.md\n\n## Notable\n\n- The v1 discovery document, revision 20261004 on 8 October 2026, lists 10 methods and 64 schemas. The methods are forms.create, get, batchUpdate and setPublishSettings, responses.get and list, and watches.create, list, renew and delete (source: \u003chttps://forms.googleapis.com/$discovery/rest?version=v1\u003e)\n- Quotas are 975 read requests a minute per project and 390 per user, 450 and 180 for forms.responses.list, and 375 and 150 for writes, with no daily limit (source: \u003chttps://developers.google.com/workspace/forms/api/limits\u003e)\n- The limits page says standard use has no additional cost and that exceeding the quota request limits is planned to incur charges to the Cloud billing account later in 2026. No price is published (source: \u003chttps://developers.google.com/workspace/forms/api/limits\u003e, \u003chttps://developers.google.com/workspace/tools-safety\u003e)\n- The only notification target is a Cloud Pub/Sub topic owned by the calling project. Messages carry formId, watchId and eventType (SCHEMA or RESPONSES) and no form or response data (source: \u003chttps://developers.google.com/workspace/forms/api/guides/push-notifications\u003e)\n- A watch lasts seven days unless renewed. A project can hold up to 20 watches per form and event type and one per end user, and a form 50 per event type across all projects (source: \u003chttps://developers.google.com/workspace/forms/api/guides/push-notifications\u003e)\n- forms.create copies only info.title and info.documentTitle. Items and settings are added afterwards with forms.batchUpdate, whose six request kinds are createItem, updateItem, moveItem, deleteItem, updateFormInfo and updateSettings (source: \u003chttps://forms.googleapis.com/$discovery/rest?version=v1\u003e)\n- Google's notice says forms created through the API after 30 June 2026 start unpublished and must be published with forms.setPublishSettings. The discovery description of the unpublished parameter, revision 20261004, still says an unset value creates a published form (source: \u003chttps://developers.google.com/workspace/forms/api/guides/api-changes-to-google-forms\u003e)\n- forms.responses.list takes pageSize, pageToken and a filter that supports only timestamp \u003e N and timestamp \u003e= N. With no pageSize, at most 5,000 responses are returned (source: \u003chttps://developers.google.com/workspace/forms/api/reference/rest/v1/forms.responses/list\u003e)\n- The comparison page says the REST API can't submit form responses, and the FileUploadQuestion schema says the API can't create file upload questions (source: \u003chttps://developers.google.com/workspace/forms/api/guides/compare-rest-apps-script\u003e)\n- The release notes have two entries. The API went GA on 17 March 2022 and publishing arrived on 8 April 2025 (source: \u003chttps://developers.google.com/workspace/forms/release-notes\u003e)\n- The Workspace MCP setup page lists Developer Preview servers for Gmail, Drive, Docs, Sheets, Slides, Calendar and Chat. Forms is not among them (source: \u003chttps://developers.google.com/workspace/guides/configure-mcp-servers\u003e)\n- The Workspace status feed, covering 9 October 2025 to 25 September 2026, has one Forms incident, on 12 November 2025 for 4 hours 45 minutes together with Docs, Sheets and Slides (source: \u003chttps://www.google.com/appsstatus/dashboard/incidents.json\u003e)\n- `@googleapis/forms` 11.0.1 was published on 24 September 2026 and requires Node 22 or later. Versions 10.0.0 and 11.0.0 in September 2026 were breaking releases for the Node 22 minimum (source: \u003chttps://github.com/googleapis/google-api-nodejs-client/blob/main/src/apis/forms/CHANGELOG.md\u003e)\n- Doc pages have Markdown copies when `.md.txt` is appended to the URL, while `llms.txt` returns 404 at developers.google.com, under `/workspace` and under `/workspace/forms` (source: \u003chttps://developers.google.com/workspace/forms/api/guides.md.txt\u003e)\n\n## Compare\n\n- [Formstack vs Google Forms API](https://www.anchorterminal.com/compare/formstack-vs-google-forms.md): D 49 vs BB 70.8\n- [Google Forms API vs Jotform](https://www.anchorterminal.com/compare/google-forms-vs-jotform.md): BB 70.8 vs D 52.9\n- [Google Forms API vs SurveyMonkey](https://www.anchorterminal.com/compare/google-forms-vs-surveymonkey.md): BB 70.8 vs C 55.3\n- [Google Forms API vs Tally](https://www.anchorterminal.com/compare/google-forms-vs-tally.md): BB 70.8 vs C 60.6\n- [Google Forms API vs Typeform](https://www.anchorterminal.com/compare/google-forms-vs-typeform.md): BB 70.8 vs C 58.4\n- [Fillout vs Google Forms API](https://www.anchorterminal.com/compare/fillout-vs-google-forms.md): D 52.2 vs BB 70.8\n- [Google Forms API vs Paperform](https://www.anchorterminal.com/compare/google-forms-vs-paperform.md): BB 70.8 vs C 56\n- [Formbricks vs Google Forms API](https://www.anchorterminal.com/compare/formbricks-vs-google-forms.md): C 57.7 vs BB 70.8\n\n## Verify this listing\n\nFor the vendor. The badge or a plain link to this page verifies the listing, from a page on google.com or one of its subdomains, or the README of github.com/googleapis/google-api-nodejs-client. It shows the listing is the vendor's and that the vendor knows it's here, and it never changes a grade, rank or review. The vendor sends the page's address to `POST https://www.anchorterminal.com/api/v1/verify` as `{\"slug\": \"google-forms\", \"url\": \"…\"}`, or calls the `verify_listing` tool at https://www.anchorterminal.com/mcp. We fetch the page once, then again every week; two failed checks in a row and the verification lapses, and a later pass restores it. What we check: https://www.anchorterminal.com/builders/index.md#verify\n\nHTML badge:\n\n```html\n\u003ca href=\"https://www.anchorterminal.com/tools/google-forms\"\u003e\u003cimg src=\"https://www.anchorterminal.com/badges/google-forms.svg\" alt=\"Google Forms API on Anchor Terminal\" height=\"20\"\u003e\u003c/a\u003e\n```\n\nMarkdown badge, for a README:\n\n```markdown\n[![Google Forms API on Anchor Terminal](https://www.anchorterminal.com/badges/google-forms.svg)](https://www.anchorterminal.com/tools/google-forms)\n```\n\nPlain link:\n\n```html\n\u003ca href=\"https://www.anchorterminal.com/tools/google-forms\"\u003eGoogle Forms API on Anchor Terminal\u003c/a\u003e\n```\n\n## Share this listing\n\nFor the vendor. Sharing assets for social media, two PNGs of 1200 × 630 that say Google Forms API is listed on Anchor Terminal, with the vendor's logo and this page's address and no grade or score.\n\n- Dark: https://www.anchorterminal.com/assets/share/google-forms-dark.png\n- Light: https://www.anchorterminal.com/assets/share/google-forms-light.png\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-08",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Terminal",
        "url": "https://www.anchorterminal.com/tools/"
      },
      {
        "name": "Forms, surveys \u0026 structured intake",
        "url": "https://www.anchorterminal.com/categories/forms"
      },
      {
        "name": "Google Forms API",
        "url": ""
      }
    ],
    "description": "REST API from Google for creating and editing Google Forms forms and quizzes, reading responses and quiz grades, and subscribing to change notifications through Cloud Pub/Sub. Access is by OAuth 2.0.",
    "facts": [
      "rank #127 of 722",
      "OAuth auth",
      "0 desk reviews"
    ],
    "h1": "Google Forms API",
    "image": "https://www.anchorterminal.com/assets/og/tools-google-forms.png",
    "path": "/tools/google-forms",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Google Forms API review for AI agents, grade BB (70.8/100)",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/tools/google-forms"
  },
  "tokens": {
    "markdown": 9450,
    "slim": 1680
  },
  "version": 1
}
