Connect Amazon S3 buckets or S3-compatible storage services (MinIO, DigitalOcean Spaces, Cloudflare R2, Tigris) to sync files into your Supermemory knowledge base.
The S3 connector requires a Scale Plan or higher. You can also create S3 connections directly from the Supermemory Console.
Quick Setup
Configuration Options
For S3, provider-specific connection fields are passed inside the top-level metadata object. General connection options stay top-level.
| Parameter | Location | Required | Description |
|---|
accessKeyId | metadata.accessKeyId | Yes | AWS access key ID or S3-compatible service key |
secretAccessKey | metadata.secretAccessKey | Yes | AWS secret access key |
bucket | metadata.bucket | Yes | S3 bucket name |
region | metadata.region | Yes | AWS region (e.g., us-east-1). Use auto for S3-compatible providers that don’t expose AWS-style regions (MinIO, R2, Tigris). |
endpoint | metadata.endpoint | No | Custom endpoint for S3-compatible services |
prefix | metadata.prefix | No | Key prefix filter (e.g., documents/) |
containerTagRegex | metadata.containerTagRegex | No | Regex to extract container tags from file paths |
containerTags | top-level | No | Tags for organizing connections |
documentLimit | top-level | No | Maximum documents to sync (default: 10,000) |
In the Python SDK, use container_tags for the top-level option, but keep S3 metadata keys in camelCase: accessKeyId, secretAccessKey, and containerTagRegex.
S3-Compatible Services
Use metadata.endpoint to connect to S3-compatible storage. These services don’t use AWS-style regions, so set metadata.region to auto — the value is still required for request signing but the service ignores it.
Common S3-compatible endpoint values:
| Service | metadata.endpoint | metadata.region |
|---|
| DigitalOcean Spaces | https://nyc3.digitaloceanspaces.com | nyc3 |
| Cloudflare R2 | https://<account-id>.r2.cloudflarestorage.com | auto |
| Tigris | https://t3.storage.dev | auto |
Cloudflare R2 example:
For S3-compatible services, metadata.endpoint is the base S3 endpoint. Do not include the bucket name in the endpoint URL; pass the bucket separately as metadata.bucket.
Prefix Filtering
Sync only files within a specific path:
Extract container tags from S3 key paths for multi-tenant setups:
The regex must contain a named capture group (?<userId>...) and be less than 200 characters.
Connection Management
Delete Connection
By default, deleting a connection removes all synced documents from Supermemory. To keep documents, pass deleteDocuments=false as a query parameter: DELETE /v3/connections/:id?deleteDocuments=false
Manual Sync
Sync Behavior
| Feature | Behavior |
|---|
| Initial sync | Fetches all files matching prefix filter |
| Incremental sync | Only files modified since last sync |
| Sync schedule | Every 4 hours + manual triggers |
| Document limit | 10,000 files per connection (default) |
IAM Permissions
Minimum required permissions:
Error Codes
| Code | Message | Solution |
|---|
| 401 | Authentication failed | Verify access key and secret |
| 403 | Access denied | Check IAM permissions and bucket policy |
| 404 | Bucket not found | Verify bucket name and region |