Snowflake configuration is available for ‘Datasets’ delivery and not available for data collectors (Web Scraper).
How to get started
In order to allow efficient delivery of Datasets to your Snowflake environment, we provide a step-by-step guide to set it up. Just follow these steps:1
Select or Create a Database
Firstly, decide if you will use an existing database or create a new one. If you opt for a new database, here’s the command you need:
2
Select or Create a Schema
Decide if you will use an existing schema or create a new one. By default every database has a PUBLIC schema. If you wish to use a different schema, here’s the command you need:
3
Select or Create a Warehouse
Choose an existing warehouse or create a new one. When creating a new warehouse, consider Snowflake’s recommendations for configuring a warehouse specifically for data loading. Use the following command to create a warehouse:
4
Select or Create an Internal Named Stage
Next, choose an existing internal named stage or create a new one. To create a new stage, use this command:
5
Create a Role
You’ll need a role that can write to your chosen stage. To create one, use:
6
Grant Warehouse Rights to the Role
Now, grant your new role the necessary rights to operate on your chosen warehouse using:
7
Enable Write Operations on the Stage for the Role
To enable your role to write on the stage, use the command:
8
Create a Snowflake service user for Bright Data
Next, create a service user that Bright Data will use to deliver datasets to your Snowflake environment. Service users use key-pair authentication rather than a password.
9
Generate a private and public key
Generate an RSA key pair in a secure environment managed by your organization. The private key is used by Bright Data to connect to Snowflake; the matching public key is assigned to your Snowflake service user. Keep the private key secret.The following example creates an unencrypted private key in PEM/PKCS#8 format and derives its public key:This creates
rsa_key.p8 (private key) and rsa_key.pub (public key). Protect the private-key file and share it only through your organization’s approved secure process.10
Assign the public key to your Snowflake user
A Snowflake administrator must assign the public key to the service user. Copy the key content only from Replace
rsa_key.pub. Exclude the -----BEGIN PUBLIC KEY----- and -----END PUBLIC KEY----- lines and line breaks.<user_name> with the user created above. Never put the private key in this SQL command. Snowflake also supports named key pairs; see Snowflake’s key-pair authentication and rotation guide if your organization uses that approach.11
Grant Role Privileges to the New User
Finally, grant your new user the privileges of the role you created:
12
Allowlist IPs
If you have an active Network Policy applied in your Snowflake account you need to whiltelist following IPs:And that’s it! You have now configured your Snowflake environment to receive data from Bright Data.If you have any issues or need further assistance, please contact our support team.If you want to learn more about Data Loading Performance and Warehouse Size Considerations click here.
13
Configure Snowflake delivery in Bright Data
In the Bright Data Control Panel, open your dataset’s Delivery Settings and select Snowflake. Choose Key-pair authentication, then enter your Snowflake account identifier, service-user login name, and the private key from
rsa_key.p8. Complete the other Snowflake delivery settings shown in the form, test the connection if the option is available, and save.Do not paste the public key into the private-key field. The public key belongs on the Snowflake user; the private key belongs in the Bright Data connection settings.Already using a password-based Snowflake delivery? Update its authentication settings to use a key pair before Snowflake enforces the restriction for your account. Snowflake’s Phase 3 enforcement is rolling out across accounts during August to October 2026; your account’s enforcement date may differ. Follow your Snowflake administrator’s migration plan and test the updated delivery before relying on it.