Google BigQuery Tabledata API

Operations for reading and inserting table rows

Operations 2

GET /projects/{projectId}/datasets/{datasetId}/tables/{tableId}/data Google BigQuery List table rows #
POST /projects/{projectId}/datasets/{datasetId}/tables/{tableId}/insertAll Google BigQuery Insert rows #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/google-bigquery-tabledata-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

google-bigquery-tabledata-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Google BigQuery Datasets Tabledata API
  description: The BigQuery API provides programmatic access to Google BigQuery for creating, managing, and querying datasets, tables, jobs, models, and routines. It enables developers to run SQL queries over petabytes of data, load and export data, manage access control, and orchestrate analytics workloads using serverless infrastructure.
  version: '2'
  contact:
    name: Google Cloud Support
    url: https://cloud.google.com/bigquery/docs/support
  termsOfService: https://cloud.google.com/terms
servers:
- url: https://bigquery.googleapis.com/bigquery/v2
  description: Production Server
security:
- oauth2: []
tags:
- name: Tabledata
  description: Operations for reading and inserting table rows
paths:
  /projects/{projectId}/datasets/{datasetId}/tables/{tableId}/data:
    get:
      operationId: listTabledata
      summary: Google BigQuery List table rows
      description: Lists the rows of a table, returning rows in the response body.
      tags:
      - Tabledata
      parameters:
      - $ref: '#/components/parameters/projectId'
      - $ref: '#/components/parameters/datasetId'
      - $ref: '#/components/parameters/tableId'
      - $ref: '#/components/parameters/maxResults'
      - $ref: '#/components/parameters/pageToken'
      - name: startIndex
        in: query
        description: Zero-based index of the starting row to read
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TableDataList'
        '401':
          description: Unauthorized
        '404':
          description: Table not found
  /projects/{projectId}/datasets/{datasetId}/tables/{tableId}/insertAll:
    post:
      operationId: insertAllTabledata
      summary: Google BigQuery Insert rows
      description: Streams data into BigQuery one record at a time without needing to run a load job.
      tags:
      - Tabledata
      parameters:
      - $ref: '#/components/parameters/projectId'
      - $ref: '#/components/parameters/datasetId'
      - $ref: '#/components/parameters/tableId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TableDataInsertAllRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TableDataInsertAllResponse'
        '400':
          description: Bad request
        '401':
          description: Unauthorized
components:
  parameters:
    projectId:
      name: projectId
      in: path
      required: true
      description: The ID of the project
      schema:
        type: string
    maxResults:
      name: maxResults
      in: query
      description: Maximum number of results to return
      schema:
        type: integer
        format: int32
    tableId:
      name: tableId
      in: path
      required: true
      description: The ID of the table
      schema:
        type: string
    pageToken:
      name: pageToken
      in: query
      description: Page token for pagination
      schema:
        type: string
    datasetId:
      name: datasetId
      in: path
      required: true
      description: The ID of the dataset
      schema:
        type: string
  schemas:
    TableDataInsertAllResponse:
      type: object
      properties:
        kind:
          type: string
          description: The resource type
        insertErrors:
          type: array
          items:
            type: object
            properties:
              index:
                type: integer
                description: The index of the row with the error
              errors:
                type: array
                items:
                  $ref: '#/components/schemas/ErrorProto'
          description: Insert errors for individual rows
    ErrorProto:
      type: object
      properties:
        reason:
          type: string
          description: A short error code that summarizes the error
        location:
          type: string
          description: Specifies where the error occurred
        message:
          type: string
          description: A human-readable description of the error
    TableDataInsertAllRequest:
      type: object
      properties:
        kind:
          type: string
          description: The resource type
        skipInvalidRows:
          type: boolean
          description: Whether to insert rows that contain values that do not match the schema
        ignoreUnknownValues:
          type: boolean
          description: Whether to accept rows with fields not matching the schema
        rows:
          type: array
          items:
            type: object
            properties:
              insertId:
                type: string
                description: A unique ID for deduplication
              json:
                type: object
                description: A JSON object with a row of data
          description: The rows to insert
    TableDataList:
      type: object
      properties:
        kind:
          type: string
          description: The resource type
        rows:
          type: array
          items:
            type: object
          description: Rows of results
        pageToken:
          type: string
          description: A token to request the next page of results
        totalRows:
          type: string
          description: The total number of rows in the table
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://accounts.google.com/o/oauth2/auth
          tokenUrl: https://oauth2.googleapis.com/token
          scopes:
            https://www.googleapis.com/auth/bigquery: Full access to BigQuery
            https://www.googleapis.com/auth/bigquery.readonly: Read-only access to BigQuery
externalDocs:
  description: BigQuery API Documentation
  url: https://cloud.google.com/bigquery/docs/reference/rest