Tables: list

Requires authorization

Lists all tables in the specified dataset. Requires the READER dataset role.

Access control: For more information, see access control.

Request

HTTP request

GET https://www.googleapis.com/bigquery/v2/projects/projectId/datasets/datasetId/tables

Parameters

Parameter name Value Description
Path parameters
datasetId string Dataset ID of the tables to list
projectId string Project ID of the tables to list
Optional query parameters
maxResults unsigned integer Maximum number of results to return
pageToken string Page token, returned by a previous call, to request the next page of results

Authorization

This request requires authorization with at least one of the following scopes (read more about authentication and authorization).

Scope
https://www.googleapis.com/auth/bigquery
https://www.googleapis.com/auth/cloud-platform
https://www.googleapis.com/auth/cloud-platform.read-only

Request body

Do not supply a request body with this method.

Response

If successful, this method returns a response body with the following structure:

{
  "kind": "bigquery#tableList",
  "etag": etag,
  "nextPageToken": string,
  "tables": [
    {
      "kind": "bigquery#table",
      "id": string,
      "tableReference": {
        "projectId": string,
        "datasetId": string,
        "tableId": string
      },
      "friendlyName": string,
      "type": string,
      "timePartitioning": {
        "type": string,
        "expirationMs": long,
        "field": string,
        "requirePartitionFilter": boolean
      },
      "clustering": {
        "fields": [
          string
        ]
      },
      "labels": {
        (key): string
      },
      "view": {
        "useLegacySql": boolean
      },
      "creationTime": long,
      "expirationTime": long
    }
  ],
  "totalItems": integer
}
Property name Value Description Notes
kind bigquery#tableList The type of list.
etag etag A hash of this page of results.
nextPageToken string A token to request the next page of results.
tables[] list Tables in the requested dataset.
tables[].kind string The resource type.
tables[].id string An opaque ID of the table
tables[].tableReference nested object A reference uniquely identifying the table.
tables[].tableReference.projectId string [Required] The ID of the project containing this table.
tables[].tableReference.datasetId string [Required] The ID of the dataset containing this table.
tables[].tableReference.tableId string [Required] The ID of the table. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.
tables[].friendlyName string The user-friendly name for this table.
totalItems integer The total number of tables in the dataset.
tables[].type string The type of table. Possible values are: TABLE, VIEW.
tables[].view object Additional details for a view.
tables[].view.useLegacySql boolean True if view is defined in legacy SQL dialect, false if in standard SQL.
tables[].labels object The labels associated with this table. You can use these to organize and group your tables.
tables[].labels.(key) string
tables[].timePartitioning nested object The time-based partitioning specification for this table, if configured.
tables[].timePartitioning.type string [Required] The only type supported is DAY, which will generate one partition per day.
tables[].timePartitioning.expirationMs long [Optional] Number of milliseconds for which to keep the storage for partitions in the table. The storage in a partition will have an expiration time of its partition time plus this value.
tables[].timePartitioning.field string [Beta] [Optional] If not set, the table is partitioned by pseudo column, referenced via either '_PARTITIONTIME' as TIMESTAMP type, or '_PARTITIONDATE' as DATE type. If field is specified, the table is instead partitioned by this field. The field must be a top-level TIMESTAMP or DATE field. Its mode must be NULLABLE or REQUIRED.
tables[].creationTime long The time when this table was created, in milliseconds since the epoch.
tables[].expirationTime long [Optional] The time when this table expires, in milliseconds since the epoch. If not present, the table will persist indefinitely. Expired tables will be deleted and their storage reclaimed.
tables[].timePartitioning.requirePartitionFilter boolean [Beta] [Optional] If set to true, queries over this table require a partition filter that can be used for partition elimination to be specified.
tables[].clustering nested object [Beta] Clustering specification for this table, if configured.
tables[].clustering.fields[] list [Repeated] One or more fields on which data should be clustered. Only top-level, non-repeated, simple-type fields are supported. When you cluster a table using multiple columns, the order of columns you specify is important. The order of the specified columns determines the sort order of the data.

Try it!

Use the APIs Explorer below to call this method on live data and see the response. Alternatively, try the standalone Explorer.

Was this page helpful? Let us know how we did:

Send feedback about...