How to find and export your BigQuery data.

BigQuery shows storage per table in the INFORMATION_SCHEMA.TABLE_STORAGE view and in the Storage info section of a table's Details tab. Querying the view needs the BigQuery Metadata Viewer role on the project. Report total logical bytes, the uncompressed size, in GB.

At a glance

Report in
GB
Category
Databases and warehouses
Checked
September 2026
Check your data

Where BigQuery shows how much you have.

  1. Get the BigQuery Metadata Viewer role (roles/bigquery.metadataViewer) on the project, or the bigquery.tables.get and bigquery.tables.list permissions.
  2. In the BigQuery query editor, run: SELECT table_schema, SUM(total_rows) AS row_count, ROUND(SUM(total_logical_bytes)/POW(1024,3),2) AS logical_gb, ROUND(SUM(total_physical_bytes)/POW(1024,3),2) AS physical_gb FROM region-us.INFORMATION_SCHEMA.TABLE_STORAGE WHERE NOT deleted GROUP BY table_schema ORDER BY logical_gb DESC;
  3. Replace region-us with the region your datasets are in, such as region-eu. The query must run in that same location, so datasets in several regions need one query per region.
  4. To check one table, select it in the Explorer pane and read the Storage info section of its Details tab.
  5. Find how far back the data goes by querying the earliest event or created timestamp in your largest tables, for example SELECT MIN(event_date) FROM mydataset.events;

Plan and role. Available in every BigQuery project on either storage billing model. You need roles/bigquery.metadataViewer on the project, or the bigquery.tables.get and bigquery.tables.list permissions; billing account access is not required.

What to report on the Polyshares intake.

Report BigQuery in GB. The intake also asks how many years the company has used it and how many seats it has.

On the Polyshares intake, report the sum of total_logical_bytes in GB. Logical bytes are the uncompressed size of the data. total_physical_bytes is the compressed size on disk and also counts time travel bytes, so it understates how much data you have and mixes in deleted or changed data.

Leave out time_travel_physical_bytes and fail_safe_physical_bytes. Time travel keeps changed or deleted data for a window of 2 to 7 days (7 by default), and fail-safe keeps it for another 7 days. The view usually updates within minutes, but storage changes from table expiration or a changed time travel window can take up to a day to appear.

For years in use, use the earliest event or created timestamp in your core tables. The creation_time column only shows when a table was made, and loaded history can be older. For seats, count the users or accounts whose activity the tables record, not the analysts who query BigQuery.

Export the full history.

  1. Create a Cloud Storage bucket in the same location as the dataset. The exporting account needs bigquery.tables.export (included in BigQuery Data Viewer) and bigquery.jobs.create, plus storage.objects.create and storage.objects.delete on the bucket, which Storage Object Admin provides.
  2. Export each table with a wildcard in the file name so BigQuery can split output over 1 GB: bq extract --destination_format PARQUET --compression SNAPPY mydataset.mytable gs://my-bucket/mytable/part-*.parquet
  3. Or use SQL, which also lets you pick columns and order rows: EXPORT DATA OPTIONS (uri='gs://my-bucket/mytable/*.parquet', format='PARQUET', overwrite=true) AS SELECT * FROM mydataset.mytable;
  4. In the console, select the table and choose Export / sync > Cloud Storage, then pick the bucket, format and compression and click Save.
  5. Repeat for every table. A single extract job cannot export more than one table.

Cloud Storage is the only export destination; you cannot export table data to a local file, Google Sheets or Google Drive. Each file holds at most 1 GB of logical data, so larger tables need a wildcard URI, and file sizes vary.

Formats are CSV, newline-delimited JSON, Avro and Parquet. CSV cannot hold nested or repeated fields, so use Avro, JSON or Parquet for those. Parquet supports SNAPPY, GZIP and ZSTD, Avro supports DEFLATE and SNAPPY, and CSV and JSON support GZIP. The console only offers GZIP, and JSON exports write INT64 values as strings.

Extract jobs on the free shared slot pool are limited to 50 TiB per day per project. Assigning the project to a slot reservation with job type PIPELINE lifts that limit and is billed at capacity pricing. Google recommends turning off Bucket Lock and Soft Delete retention on the destination bucket until the export finishes.

The intake only needs the size, so you do not have to run an export to fill it in. You also do not need to clean or scrub an export. Polyshares handles anonymization before anything moves.

Why BigQuery data has value for AI training.

BigQuery usually holds a company's consolidated event history: product analytics, transactions, logs and marketing data loaded from many systems over years. Tables are often already modeled and partitioned by date, so long time ranges come out consistent.

Warehouse tables tie behavior to outcomes, such as sessions to purchases or support contacts to renewals. Those links, recorded at scale over time, are useful for training and evaluating models that forecast or explain business activity.

What stays private.

EXPORT DATA runs a query, so columns such as emails, device IDs or payment fields can be dropped before anything is written to Cloud Storage.

We anonymize identifying details before anything moves. Polyshares does that work, so your team does not have to scrub records first.

Your company keeps ownership of its data. The license is bounded to defined material and a defined use.

Polyshares is the buyer and pays your company directly. There is no fee or commission, and Polyshares reviews the record before it makes any offer.

Common questions about BigQuery data.

Should I report logical bytes or physical bytes?

Report total logical bytes, the uncompressed size of your data. Physical bytes are compressed and include time travel data, so they do not measure how much current data you hold.

Why does my INFORMATION_SCHEMA.TABLE_STORAGE query fail?

The view needs a region qualifier such as region-us, and the query has to run in that same location. If your datasets sit in several regions, run one query per region.

Can I export a table larger than 1 GB?

Yes. Put a wildcard in the destination file name, such as gs://my-bucket/mytable/part-*.parquet, and BigQuery splits the output across as many files as it needs.

Is there a daily limit on how much I can export?

Extract jobs on the shared slot pool can export up to 50 TiB per day per project. Larger exports can run on a slot reservation assigned with job type PIPELINE.

Source: BigQuery: TABLE_STORAGE view, BigQuery: Export table data to Cloud Storage, BigQuery: Data retention with time travel and fail-safe, BigQuery: Quotas and limits. Checked September 2026.

Put your numbers on the intake.

List your systems, their sizes and your headcount in one intake. Polyshares reviews the record and prices it. There is no fee or commission to your company.

Check your data