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

# Cloudflare R2

> Connect Cloudflare R2 buckets as sources and destinations for transfer tasks.

Cloudflare R2 — S3-compatible object storage with zero egress fees, addressed through an
account-specific endpoint.

## At a Glance

|                   |                                                            |
| ----------------- | ---------------------------------------------------------- |
| **Region**        | Not needed                                                 |
| **Endpoint URL**  | Required — `https://<account_id>.r2.cloudflarestorage.com` |
| **Credentials**   | Access key — `access_key_id`, `secret_access_key`          |
| **Task defaults** | `s3_no_check_bucket: true`, `fast_list: true`              |

## Credentials

Create a [secret](/secrets) with the **Cloudflare R2** provider type. The auth method is
`r2_access_key`, which requires:

| Field               | Description         |
| ------------------- | ------------------- |
| `access_key_id`     | R2 API token ID     |
| `secret_access_key` | R2 API token secret |

Create an R2 API token from the Cloudflare dashboard (**R2 → Manage R2 API Tokens**) with
read/write permission on the bucket.

The **account ID** does *not* belong in the secret — it goes in the location's `endpoint_url`.

## Location Setup

| Field             | Value                                                      |
| ----------------- | ---------------------------------------------------------- |
| **region**        | Leave blank                                                |
| **endpoint\_url** | Required — `https://<account_id>.r2.cloudflarestorage.com` |

Replace `<account_id>` with your Cloudflare account ID, found in the R2 dashboard.

Example:

| Field          | Example value                                   |
| -------------- | ----------------------------------------------- |
| name           | `R2 Assets`                                     |
| location\_type | Cloudflare R2                                   |
| bucket\_name   | `acme-assets`                                   |
| endpoint\_url  | `https://a1b2c3d4e5f6.r2.cloudflarestorage.com` |

## Provider Quirks

R2 buckets are managed through the dashboard — the API exposes no `CreateBucket`, so R2 locations
default to `s3_no_check_bucket: true`. R2 also handles list operations very efficiently, so
`fast_list` is on by default.

## Importing from rclone.conf

R2 remotes appear in `rclone.conf` as `type = s3` with `provider = Cloudflare`. If the remote has
an `account_id` but no `endpoint`, the importer builds the endpoint URL from the account ID
automatically. See the [rclone import guide](/guides/import-rclone-config).
