---
title: "BigQuery public datasets: find, query and keep them cheap"
canonical: "https://www.owox.com/blog/articles/bigquery-public-datasets"
updated: "2026-10-16"
---

# BigQuery public datasets: how to find, query and pay for them

BigQuery public datasets are tables Google hosts in the bigquery-public-data project for anyone to query. Storage is free; queries are billed like any other, so one careless SELECT \* can read terabytes. This guide shows how to find and add them, measures what different queries read, explains the 10 MB minimum and the free tier, and shows how to join a public table with your own data.

[Google BigQuery](/blog/topics/bigquery) · Updated October 16, 2026 · [Alyona Samovar](/team/alyona-samovar) · [Ievgen Krasovytskyi](/team/ievgen-krasovytskyi) · 5 min read

![BigQuery public datasets: how to find, query and pay for them](https://cdn.owox.com/www/content-marketing-article/bigquery-public-datasets/thumbnail-20261016124438.png/public)

BigQuery public datasets are tables that Google stores in the project **`bigquery-public-data`** and that anyone with a Google Cloud project can query. Google pays for storing them. **You pay for the queries**, at the normal rates, and the first 1 TiB of on-demand query data each month is free.

That last point is where people get caught. Some public tables are enormous:

| Query on `bigquery-public-data.github_repos.contents` | Bytes it would read |
| --- | --- |
| `SELECT *` | 2.68 TB |
| `SELECT id, size` | 14.06 GB |
| `SELECT COUNT(*)` | 0 bytes |

These are dry-run estimates from 16 October 2026: what each query would be billed for, without running it. The first is more than the monthly free tier on its own. The second reads two columns out of five and costs 190 times less. Always check the estimate the console shows before you click Run.

**_Note:_** _Originally published in April 2024. Fully rewritten in October 2026: every query and estimate below was run in BigQuery on 16 October 2026._

## Find a dataset

*   **In the console:** in BigQuery Explorer, click **Add**, then **Star a project by name**, and enter `bigquery-public-data`. Its datasets then appear in the Explorer under that project. You can also search the Explorer for a dataset name.
*   **In the Marketplace:** Google Cloud’s Marketplace lists public datasets with descriptions; each listing links to its tables in BigQuery.
*   **By name in a query:** any public table can be read by its full name without adding anything first, as in the queries on this page.

Listing every dataset in the project with `INFORMATION_SCHEMA.SCHEMATA` does not work: it returned “Access Denied … (‘bigquery.datasets.get’ permission(s) at the dataset level)”. The tables are readable; the project’s metadata as a whole is not.

## Datasets worth knowing

| Dataset | What is in it | Good for |
| --- | --- | --- |
| `ga4_obfuscated_sample_ecommerce` | three months of GA4 export data from the Google Merchandise Store | learning the GA4 export; see [query examples](/blog/articles/bigquery-query-examples) |
| `samples` | small classic tables such as `shakespeare` | first queries |
| `google_trends` | top and rising search terms | marketing research |
| `github_repos` | GitHub repository contents and commits | large-scale examples (watch the size) |
| `noaa_gsod` | daily global weather | joins with sales by date and place |
| `usa_names` | US baby names by year | practice with GROUP BY and window functions |

Dataset names and contents change; check the table’s **Details** tab for its size and last update before relying on it.

## The Turning Point

OWOX Data Marts

See your first report built in real time. _15 minutes._

1.  Connect your data warehouse
2.  Pick your metrics
3.  Get a live Google Sheets report

In the time it takes to write a ticket. Then imagine never writing that ticket again.

[Book a Demo](/book-a-call)

We'll use your actual use case

## A first query

```
SELECT
  word,
  SUM(word_count) AS uses,
  COUNT(DISTINCT corpus) AS works
FROM `bigquery-public-data.samples.shakespeare`
GROUP BY word
ORDER BY uses DESC
LIMIT 5;
```

| word | uses | works |
| --- | --- | --- |
| the | 25568 | 42 |
| I | 21028 | 42 |
| and | 19649 | 42 |
| to | 17361 | 42 |
| of | 16438 | 42 |

The table has four columns, `word`, `word_count`, `corpus` and `corpus_date`, read from `samples.INFORMATION_SCHEMA.COLUMNS`. The query processed 5.1 MB and was **billed 10 MB**: on-demand queries are billed at least 10 MB for each table they reference, and at least 10 MB per query, however small the table ([pricing](https://cloud.google.com/bigquery/pricing), read in October 2026).

## Keep public queries cheap

*   **Name the columns.** BigQuery bills by the columns read. `SELECT *` on a wide table is the most expensive habit there is.
*   **`LIMIT` does not help.** It cuts the rows returned, not the data read.
*   **Filter on the partition column** when the table has one; the Details tab says whether it does. More in [partitioned tables](/blog/articles/bigquery-partitioned-tables).
*   **Preview instead of querying.** The table’s Preview tab shows rows for free.
*   **Copy what you reuse.** If you will query the same slice daily, save it to a small table in your own dataset once.

What each part of the bill is, and the free tier, are in [BigQuery pricing](/blog/articles/bigquery-pricing). No billing account at all? The [BigQuery sandbox](/blog/articles/bigquery-sandbox) runs public queries inside the free limits.

## Join public data with your own

A public table can be joined with your tables in the same query, as long as **both are in the same location**. Each public dataset has its own location, shown on its details page; the samples used here are in the US multi-region, so a dataset of yours in the EU cannot join them in an ordinary query. Google’s global queries can span regions, but as of October 2026 they are in Preview, off by default, need an administrator to enable them, and add the cost of copying data between locations ([global queries](https://cloud.google.com/bigquery/docs/global-queries)). For most teams the simpler route is to keep the dataset that joins public data in the same location.

```
SELECT s.data_date, COUNT(*) AS matches
FROM `myproject.searchconsole.searchdata_site_impression` AS s
JOIN `bigquery-public-data.samples.shakespeare` AS w
  ON LOWER(s.query) = w.word
WHERE s.data_date = '2026-10-01'
GROUP BY s.data_date;
```

This join between a Search Console export in our project and the Shakespeare sample was estimated at 1.95 MB, because the date filter limits the export table to one day. Weather, holidays and search trends are the public tables most often joined with marketing data, to explain a sales dip or a campaign spike.

To query across datasets you only need read access to each and the right to run jobs in one project; see [BigQuery IAM roles](/blog/articles/bigquery-iam-roles-and-permissions).

## From practice data to your own

Public datasets are good for learning SQL and for adding context, and Google’s GA4 sample is the closest thing to a real export most people can practise on. Your own reports, though, run on your own data, and the same query written against public data needs the same care when it moves to production. In [OWOX Data Marts](https://www.owox.com/app-signup) a query that works is published as a Data Mart, runs in your own BigQuery project, and feeds the sheets and dashboards people read. OWOX Data Marts does not transform the data.

## Your New Normal

Turn your data into decisions.

Governed data marts give you the clean foundation ML needs to actually work.

*   No AI hallucinations
*   Analyst-governed definitions
*   Every number traces to SQL

[Get started free](https://www.owox.com/app-signup)

## FAQ

## Frequently Asked Questions

Are BigQuery public datasets free?

Google pays to store them; you pay for the queries you run, at normal on-demand rates, with the first 1 TiB of query data each month free. Some tables are huge: SELECT \* on github\_repos.contents was estimated at 2.68 TB, while selecting two columns was 14.06 GB. Check the estimate before running.

How do I query a BigQuery public dataset?

Use its full name in the query editor: SELECT word, SUM(word\_count) FROM \`bigquery-public-data.samples.shakespeare\` GROUP BY word. You need a Google Cloud project to run the query in; the BigQuery sandbox works without a billing account.

How do I find BigQuery public datasets?

In BigQuery Explorer, click Add, then Star a project by name, and enter bigquery-public-data; its datasets then appear in the Explorer. Google Cloud's Marketplace also lists public datasets with descriptions.

Can I join a public dataset with my own data in BigQuery?

Yes, in one query, as long as both datasets are in the same location. Most public datasets are in the US multi-region, so a dataset of yours in the EU cannot join them directly. You need read access to both and the right to run jobs in one project.

Why was my small public-data query billed 10 MB?

On-demand queries are billed at least 10 MB per table read. A query on the Shakespeare sample processed 5.1 MB and was billed 10 MB.

How do I see what a BigQuery public table contains?

Open the table in the Explorer: the Schema tab lists columns, Details shows size and last update, and Preview shows rows without running a query, for free. INFORMATION\_SCHEMA.COLUMNS on the dataset returns the columns with SQL.

## Who wrote this

![Alyona Samovar](https://cdn.owox.com/www/webflow/6799099d337aa8a997b03b56_Alyona-Samovar.png/public)

[Alyona Samovar](/team/alyona-samovar) · Senior Digital Analyst

Alyona Samovar is a Senior Digital Analyst who spent years at OWOX helping enterprise clients design analytics systems, build BigQuery reporting pipelines, and optimize marketing measurement. She specializes in SQL-based analytics, data modeling, and turning raw marketing data into actionable insights. Alyona writes about practical analytics workflows, BigQuery best practices, and data-driven decision-making.

![Ievgen Krasovytskyi](https://cdn.owox.com/www/webflow/68404586b341508a789a4aa5_.png/public)

[Ievgen Krasovytskyi](/team/ievgen-krasovytskyi) · Head of Marketing

Ievgen Krasovytskyi is the Head of Marketing at OWOX, leading strategy across content, SEO, product marketing, and AI-powered automation. With deep expertise in analytics infrastructure, data warehouses, and marketing technology, he builds systems that connect marketing performance to business outcomes. Ievgen writes about SaaS growth, analytics workflows, and the future of AI in marketing operations.

[LinkedIn](https://www.linkedin.com/in/ievgen-krasovytskyi-a38a1253/) · [All articles](/team/ievgen-krasovytskyi)

[Google BigQuery](/blog/topics/bigquery)

## Related articles

[Google BigQuery · BigQuery data types: which to use, with sizes, limits and tested examples · October 16, 2026](/blog/articles/bigquery-top-essential-data-types)

[Google BigQuery · How to Connect GA4 to BigQuery: Setup, Limits and First Queries · October 6, 2026](/blog/articles/google-analytics-4-to-bigquery-guide)

[Google BigQuery · How to Connect BigQuery to Google Sheets: Three Ways · October 6, 2026](/blog/articles/bigquery-reports-in-google-sheets)

[See all articles →](/blog/articles)

## Book a call

You are booked. The invitation is on its way to , with the calendar invite and the meeting link.

[Reschedule](#)

[Cancel](#)

## Schedule a meeting

You are booked. The invitation is on its way to , with the calendar invite and the meeting link.

[Reschedule](#)

[Cancel](#)

## Links

Pages this page links to, on this site and on docs.owox.com. Where the page has a Markdown twin, its address follows the link.

- [Google BigQuery](https://www.owox.com/blog/topics/bigquery) — /blog/topics/bigquery.md
- [Alyona Samovar](https://www.owox.com/team/alyona-samovar) — /team/alyona-samovar.md
- [Ievgen Krasovytskyi](https://www.owox.com/team/ievgen-krasovytskyi) — /team/ievgen-krasovytskyi.md
- [query examples](https://www.owox.com/blog/articles/bigquery-query-examples) — /blog/articles/bigquery-query-examples.md
- [Book a Demo](https://www.owox.com/book-a-call) — /book-a-call.md
- [partitioned tables](https://www.owox.com/blog/articles/bigquery-partitioned-tables) — /blog/articles/bigquery-partitioned-tables.md
- [BigQuery pricing](https://www.owox.com/blog/articles/bigquery-pricing) — /blog/articles/bigquery-pricing.md
- [BigQuery sandbox](https://www.owox.com/blog/articles/bigquery-sandbox) — /blog/articles/bigquery-sandbox.md
- [BigQuery IAM roles](https://www.owox.com/blog/articles/bigquery-iam-roles-and-permissions) — /blog/articles/bigquery-iam-roles-and-permissions.md
- [OWOX Data Marts](https://www.owox.com/app-signup)
- [Google BigQuery · BigQuery data types: which to use, with sizes, limits and tested examples ·…](https://www.owox.com/blog/articles/bigquery-top-essential-data-types) — /blog/articles/bigquery-top-essential-data-types.md
- [Google BigQuery · How to Connect GA4 to BigQuery: Setup, Limits and First Queries · October 6, 2026](https://www.owox.com/blog/articles/google-analytics-4-to-bigquery-guide) — /blog/articles/google-analytics-4-to-bigquery-guide.md
- [Google BigQuery · How to Connect BigQuery to Google Sheets: Three Ways · October 6, 2026](https://www.owox.com/blog/articles/bigquery-reports-in-google-sheets) — /blog/articles/bigquery-reports-in-google-sheets.md
- [See all articles →](https://www.owox.com/blog/articles) — /blog/articles.md
