> ## Documentation Index
> Fetch the complete documentation index at: https://docs.evidence.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Data Sources

> Connect your database, flat files or cloud storage buckets for use in reports.

Evidence extracts data from your database to use in reports. [Why Extract?](#why-extract)

To build reports, first you need to import your data. This is all managed in the [**Connectors** tab](https://evidence.studio/connectors) in the sidebar.

This involves:

1. Creating a connection to your database
2. Adding tables as Evidence "sources"

Evidence supports importing data from a wide range of sources. See [Connector Types](/data-sources) for full details.

**Databases:**

* [Snowflake](/data-sources/snowflake), [BigQuery](/data-sources/bigquery), [PostgreSQL](/data-sources/postgres), [RDS PostgreSQL](/data-sources/rds-postgres), [Redshift](/data-sources/redshift), [MotherDuck](/data-sources/motherduck), [Athena](/data-sources/athena), [MySQL](/data-sources/mysql), [SQL Server](/data-sources/sqlserver), [Azure SQL Database](/data-sources/azure-sql), [Azure Postgres](/data-sources/azure-postgres), [Databricks](/data-sources/databricks)

**Direct Connectors:**

* [BigQuery](/direct-connectors/bigquery), [Snowflake](/direct-connectors/snowflake)

**Object Storage:**

* [AWS S3](/data-sources/s3), [Google Cloud Storage](/data-sources/gcs), [Azure Blob Storage](/data-sources/abs), [Cloudflare R2](/data-sources/r2), [Backblaze B2](/data-sources/backblaze), [Custom S3-compatible](/data-sources/custom)

**Data Lakes:**

* [Iceberg](/data-sources/iceberg), [Delta Lake](/data-sources/deltalake_s3)

**Applications:**

* [Linear](/data-sources/linear), [HubSpot](/data-sources/hubspot), [Stripe](/data-sources/stripe), [GitHub](/data-sources/github), [Attio](/data-sources/attio), [PostHog](/data-sources/posthog), [Google Ads](/data-sources/google-ads), [Facebook Ads](/data-sources/facebook-ads), [Twilio](/data-sources/twilio)

**Flat Files:**

* CSV, Parquet, JSONL, Excel

## Create a connection

(For databases only)

1. On the sources page, click New Connection
2. Enter the connection details for your database. Note that you require one connection per schema at this time.
3. Click **Test** to verify the connection is configured correctly.
4. Click **Save**.

### IP Whitelisting

If your database requires IP whitelisting, add the Evidence Studio IP addresses:

```
104.197.50.84
34.56.211.45
35.234.176.144
35.234.176.145
35.234.176.146
35.234.176.147
35.234.176.148
35.234.176.149
35.234.176.150
35.234.176.151
35.192.240.48
35.192.240.49
35.192.240.50
35.192.240.51
35.192.240.52
35.192.240.53
35.192.240.54
35.192.240.55
*.us-east4.gcp.proxy.prod.fivetran.com
*.us-central1.gcp.proxy.prod.fivetran.com
```

## Import a data source

1. On the sources page, click **New Source**.
2. Select the connection you just created.
3. Choose from the tables in the connection.
4. (Optional) Rename the source - this is used to reference the source in your reports.
5. Click **Save**.

## Import a file

1. On the sources page, click **Upload File**.
   * You can upload CSV, Parquet, and JSONL files.
2. Your file will be automatically imported, and named using a `snake_case` version of the filename.

## Updating data

<Warning>You can only update uploaded **files** by reuploading them.</Warning>

### Manual refresh

1. On the sources page, click the `...` menu on the right of the source and select **Publish**.

### Scheduled refresh

1. In the sources page, click the `...` menu on the right of the source and select **Schedule**.
2. Choose a refresh interval.
   * Current refresh intervals are: 5 mins, 15 mins, 1 hour, 1 day, 1 week. Contact Evidence for custom intervals.
3. Click **Save**.

## Why extract?

Evidence extracts data from your database to use in reports. This has the following benefits:

* **Performance**: Extracted data is very fast to query, as it uses a specialized storage format (Parquet), and an optimzed query engine based on ClickHouse.
* **Cross-database**: You can join data from different databases, or even join to data in flat files like CSV and Parquet.
* **Control**: You can control when data is extracted, and the frequency of the extraction.
* **DB Load**: When users access your reports, your database is not queried, only refreshing data causes queries to be run against your database.
