DEV Community

Alex Spinov
Alex Spinov

Posted on

Tigris Has a Free API: Globally Distributed S3-Compatible Object Storage

S3 lives in one region. Your users are global. Tigris automatically replicates your objects to the regions where they're accessed.

What Is Tigris?

Tigris is a globally distributed, S3-compatible object storage service. Objects are automatically cached and replicated near your users — no CDN configuration needed.

# S3-compatible — use any S3 SDK
aws s3 cp image.png s3://my-bucket/ --endpoint-url https://fly.storage.tigris.dev
Enter fullscreen mode Exit fullscreen mode

S3 SDK (Any Language)

import boto3

s3 = boto3.client('s3',
    endpoint_url='https://fly.storage.tigris.dev',
    aws_access_key_id='your_key',
    aws_secret_access_key='your_secret'
)

# Upload
s3.upload_file('photo.jpg', 'my-bucket', 'photos/photo.jpg')

# Download
s3.download_file('my-bucket', 'photos/photo.jpg', 'local.jpg')

# List objects
response = s3.list_objects_v2(Bucket='my-bucket', Prefix='photos/')
for obj in response['Contents']:
    print(obj['Key'], obj['Size'])

# Pre-signed URL (public access for 1 hour)
url = s3.generate_presigned_url('get_object',
    Params={'Bucket': 'my-bucket', 'Key': 'photos/photo.jpg'},
    ExpiresIn=3600)
Enter fullscreen mode Exit fullscreen mode

Why Tigris Over S3

Feature S3 Tigris
Regions Single Global (auto-replicated)
Egress fees $0.09/GB $0
CDN needed Yes (CloudFront) No (built-in)
Latency Regional Edge-local
S3 compatible Yes Yes (100%)

Zero egress fees. S3 charges $0.09/GB for outbound data. Tigris: $0. For a site serving 1TB/month of images, that's $90/month savings.

Free Tier

  • 5GB storage
  • 10GB egress/month
  • 10,000 PUT requests
  • 100,000 GET requests
fly storage create  # If using Fly.io
Enter fullscreen mode Exit fullscreen mode

Building storage solutions? Check out my developer tools or email spinov001@gmail.com.

Top comments (0)