Understanding Snowflake Data Transfer Billing

The data storage for a Snowflake account is located in a geographical Snowflake Region built on a cloud storage service. Snowflake supports unloading table data into an AWS S3, Google Cloud Storage, or Microsoft Azure via an external stage (i.e. a storage container located outside of Snowflake).

Cloud storage providers charge for data transferred between regions within their own networks. They also charge for data transferred out of their network into another cloud storage provider’s data centers, within the same geographical region or across regions. To recover these expenses, Snowflake charges a per-byte fee for unloading data into an external stage that points to a different cloud storage provider’s network or a region different from your Snowflake account. The amount charged per byte depends on your Snowflake region.

For data transfer pricing, see the pricing page (on the Snowflake website).


Note that Snowflake does not charge to load data from any external stage; however, contact your cloud storage provider (AWS S3, Google Cloud Storage, or Microsoft Azure) to determine whether they charge a separate egress fee if your data storage is located in a cloud provider service or region different from your Snowflake account.

In this Topic:

Data Transfer History

The COPY INTO <location> command can unload data from a table (or query) into files in an external stage. This activity is available to view for 14 days.

Viewing the Data Transfer History for Your Account

Users with the ACCOUNTADMIN role can use the Snowflake web interface or SQL to view the amount of data transferred (in bytes) for your Snowflake account within a specified date range.

To view the data transfer amounts for your account:

Web Interface:Click on Account Account tab » Billing & Usage
SQL:Query the DATA_TRANSFER_HISTORY table function (in the Information Schema).