# Access Peach Data w/ Snowflake Reader Accounts

## What are Snowflake Reader Accounts?

Snowflake Reader Accounts are a way for Peach to share data with you if you do not already have a Snowflake account, but want the added convenience of data ingestion through Snowflake. We create and manage the reader account on your behalf, then grant you access to query the data we share with you through that account. This is a simple option for teams who want direct access to their Peach data without setting up and administering a full Snowflake environment themselves. Some key points to note about Snowflake Reader Accounts:

- **No separate Snowflake account is required on your side.** Reader accounts are specifically designed for data consumers who do not have, or do not want to operate, their own Snowflake account.
- **The account is created, owned, and managed by us.** We handle provisioning, access setup, and ongoing administration.
- **It can only be used to access data in Snowflake shared from Peach.** A reader account is tied to a single provider account (Peach in this case) and cannot be used to consume data from other Snowflake providers.
- **You cannot upload or modify data in the account.** Actions such as loading new data or performing inserts, updates, deletes, or merges are restricted.


## Is a Reader Account the Right Option?

### Use a Reader Account if:

- You don't already have a Snowflake account.
- You want the fastest path to query access.
- You are fine with a Peach managed environment.


### Use Snowflake Direct Share instead if:

- You already have your own Snowflake account.
- You want to manage your own users and compute in Snowflake.
- You want your Peach data to live with your other company data in your Snowflake account.


> **Note:** For details on the Direct Share option, see [Access Peach Data w/ Snowflake Direct Share](/data-reporting/snowflake-direct-share).


## How to Get Started

Getting started is simple, we handle the setup of your Snowflake Reader Account, and your team only needs to provide a few details so we can provision access correctly.

1. **Send us your setup details.**
  - A primary business contact name and email address
  - A primary technical contact name and email address
  - The ingestion tool or platform you plan to use (optional)
2. **Configure your tool once we send access details.**
After we provision your account, we will send over the connection details for the dedicated Snowflake user. Use those credentials to configure your ingestion tool and complete setup on your side.
3. **Validate that ingestion is working (see "Authentication Validation and Ingestion Test" section).**
Once you're connected, confirm that your ingestion tool can:
  - Reach the Snowflake reader account
  - View the shared database and schema
  - Successfully run a test query
  - Pull the data tables
4. **Send us any follow-up support requests.**
If you need changes made to the dataset, performance, or user setup, send those requests to us and we will handle the updates.


## Authentication Validation and Ingestion Test

Use the sample below to confirm that your dedicated integration user can connect to the Snowflake Reader Account and read a small sample from the shared dataset. This is a smoke test only; it is meant to validate connectivity and read access before you configure your full ingestion workflow. The Snowflake Connector for Python supports standard query operations like the example shown here.


```shell
pip install snowflake-connector-python
```


```python
import snowflake.connector

conn = snowflake.connector.connect(
    account="org-account",                # account identifier, not full URL
    user="client_ingestion_user",
    password="your_password_or_pat",       # PAT can be used here
    warehouse="READER_WH",
    database="SHARED_DB",
    schema="PUBLIC",
)

cur = conn.cursor()
cur.execute("SELECT 1")
print("Connection test:", cur.fetchone()[0])

cur.execute("SELECT * FROM TRANSACTIONS LIMIT 10")
rows = cur.fetchall()
print(f"Read {len(rows)} rows successfully")

cur.close()
conn.close()
```

## Questions

Contact [support@peachfinance.com](mailto:support@peachfinance.com)