Understanding Snowflake Data Transfer Billing¶
Cloud providers apply data egress charges in either of the following use cases:
Data is transferred from one region to another within the same cloud platform.
Data is transferred out of the cloud platform.
To recover these expenses, Snowflake charges a per-byte fee when users transfer data from your Snowflake account (hosted on AWS, Google Cloud Platform, or Microsoft Azure) into cloud storage in another region on the same cloud platform, or into cloud storage in another cloud platform.
The amount charged per byte depends on the region where your Snowflake account is hosted. For data transfer pricing, see the pricing guide (on the Snowflake website):
Note that Snowflake does not charge data ingress fees; however, contact your cloud storage provider (Amazon S3, Google Cloud Storage, or Microsoft Azure) to determine whether they apply data egress charges to transfer data from their network and region of origin to the cloud provider’s network and region where your Snowflake account is hosted.
In this Topic:
Data Transfer Billing Use Cases¶
Snowflake currently applies data egress charges only in the following use cases:
- Unloading Data from Snowflake
Using COPY INTO <location> to unload data to cloud storage in a region or cloud platform different from where your Snowflake account is hosted.
- Database Replication
Replicating data to a Snowflake account in a region or cloud platform different from where your primary (origin) Snowflake account is hosted.
- External Functions
Data transfers sent from your Snowflake account are billed at the cross-cloud platform rate regardless of the cloud platform that hosts your Snowflake account or the region in which your account is located.
Data sent via API Gateway Private Endpoints incurs PrivateLink charges for both ingress and egress.
Data transfers within the same region are free, and therefore there are no charges for Snowflake to pass on to the account.
Snowflake does not apply data egress charges when any Snowflake client or driver retrieves query results across regions within the same cloud platform or across different cloud platforms.
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:
Note that regardless of the method used to access this information, the data transfer numbers for both ingress and egress flows are provided. The current Snowflake account is charged only for data egress.