aws CLI
You must generate an Access Key before getting started. All examples will utilize access_key_id and access_key_secret variables which represent the Access Key ID and Secret Access Key values you generated.
With the aws ↗ CLI installed, you may run aws configure ↗ to configure a new profile. You will be prompted with a series of questions for the new profile's details.
aws configureAWS Access Key ID [None]: <ACCESS_KEY_ID>AWS Secret Access Key [None]: <SECRET_ACCESS_KEY>Default region name [None]: autoDefault output format [None]: jsonThe region value can be set to auto since it is required by the SDK but not used by R2.
You may then use the aws CLI for any of your normal workflows.
# Provide your Cloudflare account IDaws s3api list-buckets --endpoint-url https://<ACCOUNT_ID>.r2.cloudflarestorage.com# {# "Buckets": [# {# "Name": "my-bucket",# "CreationDate": "2022-05-18T17:19:59.645000+00:00"# }# ],# "Owner": {# "DisplayName": "134a5a2c0ba47b38eada4b9c8ead10b6",# "ID": "134a5a2c0ba47b38eada4b9c8ead10b6"# }# }
aws s3api list-objects-v2 --endpoint-url https://<ACCOUNT_ID>.r2.cloudflarestorage.com --bucket my-bucket# {# "Contents": [# {# "Key": "ferriswasm.png",# "LastModified": "2022-05-18T17:20:21.670000+00:00",# "ETag": "\"eb2b891dc67b81755d2b726d9110af16\"",# "Size": 87671,# "StorageClass": "STANDARD"# }# ]# }You can also generate presigned links which allow you to share public access to a file temporarily.
# You can pass the --expires-in flag to determine how long the presigned link is valid.aws s3 presign --endpoint-url https://<ACCOUNT_ID>.r2.cloudflarestorage.com s3://my-bucket/ferriswasm.png --expires-in 3600# https://<ACCOUNT_ID>.r2.cloudflarestorage.com/my-bucket/ferriswasm.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=<credential>&X-Amz-Date=<timestamp>&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=<signature>Was this helpful?
- Resources
- API
- New to Cloudflare?
- Directory
- Sponsorships
- Open Source
- Support
- Help Center
- System Status
- Compliance
- GDPR
- Company
- cloudflare.com
- Our team
- Careers
- © 2025 Cloudflare, Inc.
- Privacy Policy
- Terms of Use
- Report Security Issues
- Trademark
-