Quota Policy

BigQuery limits the maximum rate of incoming requests and enforces appropriate quotas on a per-project basis. Specific policies vary depending on resource availability, user profile, service usage history, and other factors, and are subject to change without notice.

The lists below outline the current rate limits and quota limits of the system.



The following limits apply to jobs.query() and query-type jobs.insert() function calls.

  • Concurrent rate limit (applies to on-demand queries only): 1 TB of concurrent queries + 1 additional query of unlimited size, up to 20 concurrent queries. Queries that return cached results, or queries configured using the dryRun property, do not count against this limit.

  • Daily limit (shared between interactive and batch queries): 20,000 queries. Queries that return cached results do count against this limit.
  • Daily update limit: 1,000 updates per table per day; applies only to the destination table in a query.
  • Maximum query length: 256 KB1
  • Maximum response size: 128 MB compressed2 (unlimited when returning large query results)
    1Approximate size based on compression ratios.
    2Sizes vary depending on compression ratios for the data; the actual response size may be significantly larger than 128 MB.

Load Jobs

The following limits apply for loading data into BigQuery.

  • Daily limit: 1,000 load jobs per table per day (including failures), 10,000 load jobs per project per day (including failures)
  • Maximum File Sizes:

    For CSV and JSON:

    File Type Compressed Uncompressed
    CSV 4 GB
    • With new-lines in strings: 4 GB
    • Without new-lines in strings: 5 TB
    JSON 4 GB 5 TB
  • Maximum size per load job: 5 TB across all input files for CSV and JSON.
  • Maximum number of files per load job: 10,000
  • There are several additional limits that are specific to BigQuery's supported data formats. For more information, see preparing data for BigQuery.

Export Requests

The following limits apply for exporting data from BigQuery.

  • Daily Limit: 1,000 exports per day, up to 10 TB
  • Multiple Wildcard URI Limit: 500 URIs per export

Streaming Inserts

The following limits apply for streaming data into BigQuery.

  • Maximum row size: 1 MB
  • HTTP request size limit: 10 MB
  • Maximum rows per second: 100,000 rows per second, per table. Exceeding this amount will cause quota_exceeded errors.
  • Maximum rows per request: 500
  • Maximum bytes per second: 100 MB per second, per table. Exceeding this amount will cause quota_exceeded errors.

API Requests

  • API requests per second, per user: If you make more than 100 requests per second, throttling might occur. This limit does not apply for streaming inserts.

Error Codes

Quota and limit errors return a 403 HTTP response code. See troubleshooting errors for a full list of error codes and troubleshooting steps.