
Cloudflare R2
BetaThis source is currently in beta. It works end to end, but you may still hit rough edges. Let us know if you do.
Let AI connect your sources for you
Skip the manual setup — run this in your project and the wizard auto-detects your databases and APIs and connects them to PostHog.

Connect Cloudflare R2 to PostHog to sync your data into the PostHog data warehouse for analysis and modeling.
Import CSV, JSON Lines and Parquet files, and Delta Lake tables, from a Cloudflare R2 bucket. PostHog creates one table per folder, one per file directly in the folder the URL points to, and one per Delta table. A full refresh reads every file again, so the table matches the files. An incremental or append-only sync reads only new and changed files, and keeps the rows of files you delete.
Configuration
| Option | Description |
|---|---|
Files URLType: text Required: True | Use * to match any part of a file or folder name, and ** to match across folders. A URL without a wildcard imports the folder or file it points to. |
Access key IDType: text Required: True | Create an R2 API token with read access to the bucket, then copy its S3 credentials. |
Secret access keyType: password Required: True | |
File formatType: select Required: True | |
Combine every file into one table?Type: switch-group Required: False | Turn this on when the folder holds files that share the same columns, such as a daily export. Delta tables still get a table each. |
Linking Cloudflare R2 to PostHog
- Go to the Data pipeline page in PostHog
- Click New source and select Cloudflare R2
- Fill in the required configuration fields
- Click Next, select the tables you want to sync, and then press Import
Supported tables
The tables available from this source are discovered from your account when you connect it, so the exact list depends on your data. Once connected, you can pick which tables to sync from the sources tab.











