Store unlimited data with S3-compatible API. Zero egress fees, automatic replication, and native integration with Koder Edge CDN.
import boto3 s3 = boto3.client('s3', endpoint_url='https://s3.koder.dev', aws_access_key_id='KODER_ACCESS_KEY', aws_secret_access_key='KODER_SECRET_KEY', ) s3.upload_file( 'backup.tar.gz', 'my-bucket', 'backups/2026-03-28.tar.gz' ) # Uploaded 2.4 GB in 8.2s
Everything you need for object storage, built from the ground up.
Drop-in replacement for AWS S3. Works with all existing S3 SDKs, CLIs, and tools — boto3, AWS CLI, rclone, Cyberduck, and more.
No charges for data transfer out. Download your data as much as you want without surprise bills at the end of the month.
Automatic cross-region data replication for durability and low-latency access. Configure replication rules per bucket or prefix.
Object versioning with lifecycle policies. Recover from accidental deletes, track changes, and maintain compliance with retention rules.
Generate secure temporary access links for uploads and downloads. Perfect for sharing files without exposing credentials.
Webhooks on upload, delete, and modify events. Trigger workflows, update indexes, or sync data in real time.
Auto-transition objects between storage tiers. Move infrequently accessed data to cold storage and auto-expire old objects.
Serve objects directly via Koder Edge CDN. One-click CDN enablement per bucket with automatic cache invalidation on updates.
Use any S3-compatible SDK or tool. Drop-in replacement — just change the endpoint.
import boto3 s3 = boto3.client('s3', endpoint_url='https://s3.koder.dev') # Upload with metadata s3.put_object( Bucket='assets', Key='images/logo.png', Body=data, ContentType='image/png', Metadata={'project': 'website'} ) # Download obj = s3.get_object( Bucket='assets', Key='images/logo.png')
Generate temporary, secure links for uploads and downloads without exposing credentials.
# Generate a presigned download URL url = s3.generate_presigned_url( 'get_object', Params={ 'Bucket': 'reports', 'Key': 'q1-2026.pdf' }, ExpiresIn=3600 # 1 hour ) # Generate a presigned upload URL url = s3.generate_presigned_url( 'put_object', Params={ 'Bucket': 'uploads', 'Key': 'user-avatar.jpg' }, ExpiresIn=900 # 15 min )
Automate storage management with lifecycle rules and keep full history with versioning.
# Enable versioning s3.put_bucket_versioning( Bucket='documents', VersioningConfiguration={ 'Status': 'Enabled' } ) # Set lifecycle rule s3.put_bucket_lifecycle_configuration( Bucket='documents', LifecycleConfiguration={ 'Rules': [{ 'ID': 'archive-old', 'Status': 'Enabled', 'Transitions': [{ 'Days': 90, 'StorageClass': 'COLD' }] }] } )
See how Koder S3 stacks up against the competition.
| Feature | Koder S3 | AWS S3 | Cloudflare R2 | MinIO | Backblaze B2 | Wasabi |
|---|---|---|---|---|---|---|
| S3-compatible API | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Zero egress fees | ✓ | — | ✓ | ✓ | Partial | ✓ |
| Multi-region replication | ✓ | ✓ | ✓ | Partial | — | — |
| Object versioning | ✓ | ✓ | — | ✓ | ✓ | ✓ |
| Presigned URLs | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Event notifications | ✓ | ✓ | Partial | ✓ | — | — |
| Lifecycle policies | ✓ | ✓ | Partial | ✓ | ✓ | — |
| Built-in CDN integration | ✓ | Partial | ✓ | — | — | — |
| Self-hosted / on-premise | ✓ | — | — | ✓ | — | — |
| No minimum storage duration | ✓ | — | ✓ | ✓ | — | — |
Yes. Koder S3 implements the full S3 API specification. Just change the endpoint URL in your existing code or configuration — boto3, AWS CLI, rclone, Cyberduck, and all other S3-compatible tools work without modification.
Like R2, Koder S3 offers zero egress fees and S3 compatibility. Unlike R2, Koder S3 supports object versioning, lifecycle policies, event notifications, and can be deployed on-premise. Plus, it integrates natively with the entire Koder ecosystem.
Absolutely. Enable static website hosting on any bucket and serve it directly or through Koder Edge CDN for global low-latency delivery with automatic TLS certificates.
Koder S3 stores data with erasure coding for 99.999999999% (11 nines) durability. Multi-region replication adds geographic redundancy so your data survives even complete region failures.
Yes. The free tier includes 10 GB of storage, unlimited egress, and 1 million requests per month. No credit card required to get started.
Yes. Use rclone, AWS CLI, or the Koder S3 migration tool to sync data from any S3-compatible provider. Live migration with zero downtime is supported via continuous replication.
S3-compatible object storage with zero egress fees