Google Forms Responses API

Operations for reading form responses

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

google-forms-responses-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Google Forms Responses API
  description: The Google Forms API is a RESTful interface that lets you create and modify Google Forms programmatically, read form responses, and set up watches for notifications on form changes and new responses.
  version: v1
  contact:
    name: Google
    url: https://developers.google.com/forms/api
  license:
    name: Google APIs Terms of Service
    url: https://developers.google.com/terms
  x-generated-from: documentation
  x-last-validated: '2026-04-18'
servers:
- url: https://forms.googleapis.com
  description: Google Forms API production server
security:
- oauth2: []
tags:
- name: Responses
  description: Operations for reading form responses
paths:
  /v1/forms/{formId}/responses:
    get:
      operationId: listFormResponses
      summary: Google Forms List Form Responses
      description: List a form's responses with optional filtering by timestamp.
      tags:
      - Responses
      parameters:
      - name: formId
        in: path
        required: true
        description: The ID of the form whose responses to list.
        schema:
          type: string
      - name: filter
        in: query
        required: false
        description: Filter for responses using timestamp comparison.
        schema:
          type: string
      - name: pageSize
        in: query
        required: false
        description: The maximum number of responses to return.
        schema:
          type: integer
          format: int32
      - name: pageToken
        in: query
        required: false
        description: Page token returned from a previous list call.
        schema:
          type: string
      responses:
        '200':
          description: Successful response with list of form responses.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListFormResponsesResponse'
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Form not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /v1/forms/{formId}/responses/{responseId}:
    get:
      operationId: getFormResponse
      summary: Google Forms Get Form Response
      description: Get one response from the form by its response ID.
      tags:
      - Responses
      parameters:
      - name: formId
        in: path
        required: true
        description: The ID of the form.
        schema:
          type: string
      - name: responseId
        in: path
        required: true
        description: The ID of the response to retrieve.
        schema:
          type: string
      responses:
        '200':
          description: Successful response with the form response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FormResponse'
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Response not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    TextLink:
      type: object
      description: A text link.
      properties:
        uri:
          type: string
          description: The URI to link to.
          example: https://example.com/learn-more
        displayText:
          type: string
          description: The text to display for the link.
          example: Learn More
    FileUploadAnswers:
      type: object
      description: File upload answers to a question.
      properties:
        answers:
          type: array
          description: Output only. The file upload answers.
          items:
            $ref: '#/components/schemas/FileUploadAnswer'
    FileUploadAnswer:
      type: object
      description: A single file upload answer.
      properties:
        fileId:
          type: string
          description: Output only. The Google Drive file ID.
          readOnly: true
          example: 1AbCdEfGhIjKlMnOp
        fileName:
          type: string
          description: Output only. The file name.
          readOnly: true
          example: response-attachment.pdf
        mimeType:
          type: string
          description: Output only. The MIME type of the file.
          readOnly: true
          example: application/pdf
    ExtraMaterial:
      type: object
      description: Extra material that can be shown as feedback.
      properties:
        link:
          $ref: '#/components/schemas/TextLink'
        video:
          $ref: '#/components/schemas/VideoLink'
    VideoLink:
      type: object
      description: A video link.
      properties:
        displayText:
          type: string
          description: The text to display for the video.
          example: Watch Tutorial
        youtubeUri:
          type: string
          description: The YouTube URI of the video.
          example: https://www.youtube.com/watch?v=dQw4w9WgXcQ
    TextAnswers:
      type: object
      description: Text-based answers to a question.
      properties:
        answers:
          type: array
          description: Output only. The text answers.
          items:
            $ref: '#/components/schemas/TextAnswer'
    Error:
      type: object
      description: An error response from the API.
      properties:
        error:
          type: object
          properties:
            code:
              type: integer
              description: The HTTP status code.
              example: 404
            message:
              type: string
              description: A human-readable error message.
              example: Requested entity was not found.
            status:
              type: string
              description: The error status code.
              example: NOT_FOUND
    TextAnswer:
      type: object
      description: A single text answer value.
      properties:
        value:
          type: string
          description: Output only. The answer value.
          readOnly: true
          example: Very Satisfied
    Grade:
      type: object
      description: The grade for an answer on a quiz form.
      properties:
        score:
          type: number
          description: Output only. The numeric score awarded.
          readOnly: true
          example: 10.0
        correct:
          type: boolean
          description: Output only. Whether the answer was correct.
          readOnly: true
          example: true
        feedback:
          $ref: '#/components/schemas/Feedback'
    Feedback:
      type: object
      description: Feedback shown after answering a quiz question.
      properties:
        text:
          type: string
          description: The feedback text.
          example: Great job!
        material:
          type: array
          description: Additional material shown with feedback.
          items:
            $ref: '#/components/schemas/ExtraMaterial'
    ListFormResponsesResponse:
      type: object
      description: Response from listing form responses.
      properties:
        responses:
          type: array
          description: The list of form responses.
          items:
            $ref: '#/components/schemas/FormResponse'
        nextPageToken:
          type: string
          description: Token for retrieving the next page of responses.
          example: CiAKGjBpNDd2...
    Answer:
      type: object
      description: An answer to a question.
      properties:
        questionId:
          type: string
          description: Output only. The question's ID.
          readOnly: true
          example: 7e8f9a0b
        grade:
          $ref: '#/components/schemas/Grade'
        textAnswers:
          $ref: '#/components/schemas/TextAnswers'
        fileUploadAnswers:
          $ref: '#/components/schemas/FileUploadAnswers'
    FormResponse:
      type: object
      description: A response to a Google Form.
      properties:
        formId:
          type: string
          description: Output only. The form ID.
          readOnly: true
          example: 1BxiMVs0XRA5nFMdLXDSR2r9NphkU4V9qeeW0nQmGR8
        responseId:
          type: string
          description: Output only. The response ID.
          readOnly: true
          example: ACYDBNhq7TU3h6Vk...
        createTime:
          type: string
          format: date-time
          description: Output only. Timestamp for the first time the response was submitted.
          readOnly: true
          example: '2026-04-15T10:30:00Z'
        lastSubmittedTime:
          type: string
          format: date-time
          description: Output only. Timestamp for the most recent time the response was submitted.
          readOnly: true
          example: '2026-04-15T10:30:00Z'
        respondentEmail:
          type: string
          format: email
          description: Output only. The email address of the respondent if collected.
          readOnly: true
          example: respondent@example.com
        answers:
          type: object
          description: Output only. The actual answers keyed by question ID.
          additionalProperties:
            $ref: '#/components/schemas/Answer'
        totalScore:
          type: number
          description: Output only. Total points awarded for the submission on quiz forms.
          readOnly: true
          example: 85.0
  securitySchemes:
    oauth2:
      type: oauth2
      description: OAuth 2.0 authentication for Google Forms API.
      flows:
        authorizationCode:
          authorizationUrl: https://accounts.google.com/o/oauth2/v2/auth
          tokenUrl: https://oauth2.googleapis.com/token
          scopes:
            https://www.googleapis.com/auth/forms.body: View and manage your forms in Google Drive
            https://www.googleapis.com/auth/forms.body.readonly: View your forms in Google Drive
            https://www.googleapis.com/auth/forms.responses.readonly: View responses to your Google Forms
            https://www.googleapis.com/auth/drive: See, edit, create, and delete all of your Google Drive files
            https://www.googleapis.com/auth/drive.file: View and manage Google Drive files created with this app
            https://www.googleapis.com/auth/drive.readonly: View files in your Google Drive