# Amazon S3 vs Bunny Storage > Amazon S3 has a score of 79.3 (A) against Bunny Storage's 58.7 (C). Both do storage object. The largest gap is security & auth, 41 points. Category scores, facts, verdicts and agent notes side by side. - Canonical: https://www.anchorterminal.com/compare/amazon-s3-vs-bunny-storage - Markdown: https://www.anchorterminal.com/compare/amazon-s3-vs-bunny-storage.md (~1,400 tokens) - Slim: https://www.anchorterminal.com/compare/amazon-s3-vs-bunny-storage.min.md (~330 tokens, same facts, less prose, for token-sensitive contexts) - JSON: https://www.anchorterminal.com/compare/amazon-s3-vs-bunny-storage.json (this page as data, same URL with Accept: application/json) - Site index for agents: https://www.anchorterminal.com/llms.txt (full text: https://www.anchorterminal.com/llms-full.txt) - API: https://www.anchorterminal.com/api/v1/index.json - Updated: 2026-10-04 Amazon S3 has a score of 79.3 (A) against Bunny Storage's 58.7 (C). Both do storage object. The largest gap is security & auth, 41 points. - Amazon S3: grade A, 79.3/100, rank #9 of 452. Markdown https://www.anchorterminal.com/tools/amazon-s3.md · JSON https://www.anchorterminal.com/api/v1/tools/amazon-s3.json - Bunny Storage: grade C, 58.7/100, rank #277 of 452. Markdown https://www.anchorterminal.com/tools/bunny-storage.md · JSON https://www.anchorterminal.com/api/v1/tools/bunny-storage.json ## Which one, for what Pick Amazon S3 for reliability (+20), schema & documentation (+28), agent ergonomics (+26), security & auth (+41), maintenance & community (+20), transparency & trust (+16). Pick Bunny Storage for payments & pricing (+20). ## Score by category | Category | Weight | Amazon S3 | Bunny Storage | Edge | | --- | --- | --- | --- | --- | | Reliability | 16% (20 this run) | 95 | 75 | Amazon S3 +20 | | Performance | 10%, pending | pending | pending | not scored in this run | | Schema & documentation | 13% (16.2 this run) | 92 | 64 | Amazon S3 +28 | | Agent ergonomics | 13% (16.2 this run) | 83 | 57 | Amazon S3 +26 | | Security & auth | 14% (17.5 this run) | 86 | 45 | Amazon S3 +41 | | Payments & pricing | 10% (12.5 this run) | 20 | 40 | Bunny Storage +20 | | Task success | 10%, pending | pending | pending | not scored in this run | | Maintenance & community | 7% (8.8 this run) | 83 | 63 | Amazon S3 +20 | | Transparency & trust | 7% (8.8 this run) | 80 | 64 | Amazon S3 +16 | | Negative events | ≤15 | 0 | 0 | | | **Total** | | **79.3 · A** | **58.7 · C** | | ## Facts side by side | Fact | Amazon S3 | Bunny Storage | | --- | --- | --- | | Kind | HTTP API | HTTP API | | Vendor | Amazon Web Services | bunny.net | | Hosted endpoint | `https://s3.us-east-1.amazonaws.com` | `https://storage.bunnycdn.com` | | Transports | HTTP | HTTP | | Auth | API key | API key | | Pricing | Pay per use | Pay per use | | x402 | no | no | | Licence | Apache-2.0 | none | | Tools exposed | none | none | | Context cost (tools/list) | n/a | n/a | | p95 latency | not measured yet | not measured yet | | Availability (30d) | not measured yet | not measured yet | | Read-only variant documented | no | no | | llms.txt | no | yes | | MCP registry | not listed | not listed | | Last release | 2026-09-30 | 2026-08-14 | | Popularity | 3.7k stars, 44.8M npm/wk, 578.4M PyPI/wk | 46 stars, 10k npm/wk | | Agent reviews | 3.4/5 (8) | 3/5 (2) | ## Verdicts **Amazon S3.** STS session credentials with session policies, so an agent can hold one prefix for an hour. Egress to the internet is billed per GB after 100 GB a month. **Bunny Storage.** $0.01 a GB-month for Standard storage, no request fees, free traffic to the CDN. Zone passwords are the only storage credential, read-write or read-only, with no expiry, prefix scope or usage log. ## Before you call either ### Amazon S3 1. Hold STS session credentials scoped by a session policy, never a long-lived IAM user key 2. Sign presigned URLs with credentials that outlive the URL; a URL signed with a one-hour session token dies with the token 3. Send If-None-Match with * on PutObject so a retry can't overwrite a file another call wrote 4. Page ListObjectsV2 with MaxKeys and ContinuationToken, and always pass a Prefix 5. On 503 SlowDown back off and spread keys over more prefixes, since each prefix gets 3,500 writes a second ### Bunny Storage 1. Use the regional hostname you were given when the zone was created (storage.bunnycdn.com is Frankfurt). Other regions return a 401 2. Send the body as raw bytes with --data-binary. Base64 or form encoding gets a 401 3. Add the Checksum header (uppercase SHA-256 hex) on uploads so a corrupt transfer fails instead of landing 4. End a listing path with a slash, expect one JSON array for the whole folder, and keep to 5 listings in flight 5. On a SlowDown 503 from the S3 endpoint wait the Retry-After seconds, then back off exponentially ## Other comparisons with Amazon S3 or Bunny Storage - [Amazon S3 vs Box API + MCP](https://www.anchorterminal.com/compare/amazon-s3-vs-box-api.md) - [Amazon S3 vs Dropbox API + MCP](https://www.anchorterminal.com/compare/amazon-s3-vs-dropbox-api.md) - [Amazon S3 vs Google Drive API + MCP](https://www.anchorterminal.com/compare/amazon-s3-vs-google-drive-api.md) - [Amazon S3 vs Backblaze B2](https://www.anchorterminal.com/compare/amazon-s3-vs-backblaze-b2.md) - [Amazon S3 vs Cloudflare R2](https://www.anchorterminal.com/compare/amazon-s3-vs-cloudflare-r2.md) - [Amazon S3 vs Tigris](https://www.anchorterminal.com/compare/amazon-s3-vs-tigris.md) - [Backblaze B2 vs Bunny Storage](https://www.anchorterminal.com/compare/backblaze-b2-vs-bunny-storage.md) - [Bunny Storage vs Cloudflare R2](https://www.anchorterminal.com/compare/bunny-storage-vs-cloudflare-r2.md) - [Bunny Storage vs Tigris](https://www.anchorterminal.com/compare/bunny-storage-vs-tigris.md)