{
  "data": {
    "a": {
      "slug": "bunny-storage",
      "name": "Bunny Storage",
      "vendor": "bunny.net",
      "vendorUrl": "https://bunny.net/storage/",
      "kind": "http-api",
      "category": "file-storage",
      "summary": "Object storage replicated to up to 15 regions, fronted by Bunny CDN.",
      "url": "https://www.anchorterminal.com/tools/bunny-storage",
      "markdownUrl": "https://www.anchorterminal.com/tools/bunny-storage.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/bunny-storage.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/bunny-storage.json",
      "repo": "https://github.com/BunnyWay/BunnyCDN.Net.Storage",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://storage.bunnycdn.com",
      "packages": [
        {
          "registry": "npm",
          "name": "@bunny.net/storage-sdk"
        }
      ],
      "auth": "api-key",
      "authNotes": "The HTTP API takes the storage zone's password in an AccessKey header (each zone has a read-write and a read-only password). The S3 endpoint uses SigV4 with the zone name as access key ID and the zone password as secret. There's no OAuth and no per-object or per-prefix credential.",
      "pricing": "usage",
      "pricingNotes": "Standard (HDD) storage is $0.01 a GB-month in one region, $0.02 for two, $0.025 for three, then $0.005 a GB for each extra region up to nine. Edge (SSD) storage is $0.02 a GB-month per region, up to 15 regions. No API fees, and traffic from storage to Bunny CDN and API egress are free. Delivery to end users is billed by the CDN, $0.01 a GB in Europe and North America, $0.03 in Asia and Oceania, $0.045 in South America and $0.06 in the Middle East and Africa on the Standard tier, or $0.005 a GB for the first 500 TB on the Volume tier. $1 monthly minimum. 14-day trial without a card (https://bunny.net/pricing/storage/; https://bunny.net/pricing/).",
      "priceSummary": "$0.01 / GB",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 46,
        "npmWeekly": 10379,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://bunny.net/docs/storage",
      "llmsTxt": "https://bunny.net/docs/llms.txt",
      "capabilities": [
        "storage.object",
        "storage.s3",
        "storage.presigned"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "s3-compatible",
        "typescript",
        "llms-txt",
        "eu",
        "usage-priced"
      ],
      "lastRelease": "2026-08-14",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 58.7,
        "grade": "C",
        "agentReady": false,
        "rank": 277,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 7,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 57,
          "maintenance": 63,
          "payments": 40,
          "reliability": 75,
          "schema": 64,
          "security": 45,
          "transparency": 64
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "$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.",
        "strengths": [
          "$0.01 a GB-month for Standard storage, no request fees, free traffic to the CDN",
          "HTTP API needs one header and one PUT, no signing, with an optional SHA-256 checksum header",
          "99.99 per cent SLA with credits from 12 to 240 hours",
          "llms.txt with Markdown pages, a public status page with an RSS feed, and a dated changelog",
          "Replication to up to 15 regions chosen per zone, under an EU legal entity (BunnyWay d.o.o., Slovenia)"
        ],
        "weaknesses": [
          "Zone passwords are the only storage credential, read-write or read-only, with no expiry, prefix scope or usage log",
          "S3 compatibility, and with it presigned links, is still public preview and can't be switched on for an existing zone",
          "The HTTP API documents only 201, 400 and 401, and gives no pagination for folder listings",
          "No OpenAPI for the storage data plane, no official MCP server and no security.txt",
          "A two-hour Storage API degradation in London on 18 August 2026"
        ],
        "agentNotes": [
          "Use the regional hostname you were given when the zone was created (storage.bunnycdn.com is Frankfurt). Other regions return a 401",
          "Send the body as raw bytes with --data-binary. Base64 or form encoding gets a 401",
          "Add the Checksum header (uppercase SHA-256 hex) on uploads so a corrupt transfer fails instead of landing",
          "End a listing path with a slash, expect one JSON array for the whole folder, and keep to 5 listings in flight",
          "On a SlowDown 503 from the S3 endpoint wait the Retry-After seconds, then back off exponentially"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 58.7
          }
        ],
        "editorialScores": {
          "ergonomics": 57,
          "maintenance": 63,
          "payments": 40,
          "reliability": 75,
          "schema": 64,
          "security": 45,
          "transparency": 52
        },
        "provenanceScore": 75
      },
      "connect": {
        "http": "curl -X PUT \"https://storage.bunnycdn.com/$BUNNY_STORAGE_ZONE/hello.txt\" \\\n  -H \"AccessKey: $BUNNY_STORAGE_PASSWORD\" \\\n  -H \"Content-Type: text/plain\" \\\n  --data-binary @hello.txt"
      },
      "letme": {
        "capability": "https://letme.dev/storage.object",
        "tool": "https://letme.dev/bunny-storage"
      },
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Standard storage, one region",
          "unit": "gb-month",
          "usd": 0.01,
          "note": "$0.02 for two regions, $0.025 for three, then $0.005 per extra region"
        },
        {
          "item": "Edge SSD storage, per region",
          "unit": "gb-month",
          "usd": 0.02
        },
        {
          "item": "CDN delivery, Europe and North America",
          "unit": "gb",
          "usd": 0.01,
          "note": "Standard tier. $0.03 Asia and Oceania, $0.045 South America, $0.06 Middle East and Africa"
        },
        {
          "item": "CDN delivery, Volume tier",
          "unit": "gb",
          "usd": 0.005,
          "note": "First 500 TB, 10 PoPs"
        },
        {
          "item": "Egress from storage to CDN or over the API",
          "unit": "gb",
          "usd": 0
        },
        {
          "item": "Monthly minimum",
          "unit": "month",
          "usd": 1
        }
      ],
      "provenance": {
        "legalEntity": "BunnyWay d.o.o.",
        "domain": "bunny.net",
        "domainRegistered": "1999-11-22",
        "domainNote": "bunny.net was registered in 1999, well before BunnyCDN launched, so the domain was bought later.",
        "endpointOnVendorDomain": false,
        "terms": "https://bunny.net/tos/",
        "privacy": "https://bunny.net/privacy/",
        "statusPage": "https://status.bunny.net",
        "changelog": "https://bunny.net/docs/storage/changelog",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "The terms and privacy policy name BunnyWay d.o.o., Dunajska cesta 165, 1000 Ljubljana, Slovenia. The privacy policy was last updated 2026-08-05.",
          "Storage endpoints sit on storage.bunnycdn.com, not bunny.net.",
          "bunny.net/.well-known/security.txt returns 404.",
          "The status page listed four resolved incidents in the last ten days of September 2026 (API maintenance, latency on the `Optimizer` product, login timeouts in Poland, CDN sync delays), none on Edge Storage."
        ],
        "score": 75
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/bunny-storage.json",
      "live": {
        "slug": "bunny-storage",
        "probe": {
          "target": "https://storage.bunnycdn.com",
          "method": "get",
          "lastAt": "2026-10-04T23:32:45.077987518Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 69,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 64,
          "p95ms24h": 93,
          "samples24h": 272,
          "samples30d": 895,
          "days": [
            {
              "date": "2026-10-01",
              "probes": 109,
              "ok": 109
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 267,
              "ok": 267
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.bunny.net",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-04T23:27:41.049586563Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@bunny.net/storage-sdk",
            "version": "0.3.2",
            "seenAt": "2026-10-04T16:23:00.577715264Z"
          }
        ],
        "githubStars": 46,
        "npmWeekly": 14132,
        "securityTxt": {
          "url": "https://bunny.net/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:52.263565969Z"
        },
        "llmsTxt": {
          "url": "https://bunny.net/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:17:22.661276406Z"
        },
        "domain": {
          "domain": "bunny.net",
          "registered": "1999-11-22",
          "source": "https://rdap.verisign.com/net/v1/domain/bunny.net",
          "checkedAt": "2026-10-04T13:04:45.921965958Z"
        },
        "pages": [
          {
            "url": "https://bunny.net/docs/storage/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:41:40.612247828Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "51fd972fd761"
          },
          {
            "url": "https://bunny.net/pricing/",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-04T15:41:43.083424382Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "b61f7956435f"
          },
          {
            "url": "https://bunny.net/pricing/storage/",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-04T15:41:44.621223722Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "2c355b70647d"
          },
          {
            "url": "https://bunny.net/privacy/",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-04T15:41:46.625498112Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "f7f3e1cca715"
          },
          {
            "url": "https://bunny.net/tos/",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-04T15:41:48.621036113Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "84163e980c6a"
          }
        ],
        "updatedAt": "2026-10-04T23:32:45.077987518Z"
      }
    },
    "b": {
      "slug": "tigris",
      "name": "Tigris",
      "vendor": "Tigris Data",
      "vendorUrl": "https://www.tigrisdata.com",
      "kind": "http-api",
      "category": "file-storage",
      "summary": "S3-compatible object storage that replicates objects towards where they're read, with no egress fees and one global endpoint (t3.storage.dev).",
      "url": "https://www.anchorterminal.com/tools/tigris",
      "markdownUrl": "https://www.anchorterminal.com/tools/tigris.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/tigris.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/tigris.json",
      "repo": "https://github.com/tigrisdata/tigris-mcp-server",
      "license": "MIT",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://t3.storage.dev",
      "packages": [
        {
          "registry": "npm",
          "name": "@tigrisdata/tigris-mcp-server"
        },
        {
          "registry": "npm",
          "name": "@tigrisdata/storage"
        }
      ],
      "auth": "mixed",
      "authNotes": "The S3 API takes SigV4 with an access key created in the console or the IAM API (ID starts `tid_`, secret starts `tsec_`) and region `auto`. Keys can be scoped per bucket with ReadOnly, ReadWrite or Editor roles and IAM policies, and revoked or rotated. AssumeRole, STS and temporary credentials aren't supported, so every key lives until revoked. The hosted MCP server signs in with OAuth; the stdio server reads AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY and AWS_ENDPOINT_URL_S3, or an AWS CLI profile.",
      "pricing": "freemium",
      "pricingNotes": "Free every month, 5 GB of Standard storage, 10,000 PUT, COPY, POST and LIST requests and 100,000 GET, SELECT and other requests. Beyond that, Standard $0.02 a GB-month, Infrequent Access $0.01 (30-day minimum, $0.01 a GB retrieval), Archive and Archive Instant Retrieval $0.004 (90-day minimum, $0.03 a GB instant retrieval). Class A requests $0.005 per 1,000, Class B $0.0005 per 1,000, deletes free, object notifications $0.01 per 1,000 events. Egress is free in every tier and region. Storage is metered on the average daily peak over the month (https://www.tigrisdata.com/pricing/).",
      "priceSummary": "$0.005 / 1k req",
      "where": "both",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 4,
        "npmWeekly": 20,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://www.tigrisdata.com/docs/",
      "llmsTxt": "https://www.tigrisdata.com/docs/llms.txt",
      "capabilities": [
        "storage.object",
        "storage.s3",
        "storage.presigned",
        "storage.share"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "s3-compatible",
        "freemium",
        "free-tier",
        "mcp",
        "oauth",
        "typescript",
        "llms-txt"
      ],
      "lastRelease": "2026-09-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 44.6,
        "grade": "E",
        "agentReady": false,
        "rank": 404,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 8,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 53,
          "maintenance": 77,
          "payments": 30,
          "reliability": 35,
          "schema": 50,
          "security": 51,
          "transparency": 51
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": -3,
        "negativeNotes": [
          "2026-09-21. @tigrisdata/iam 2.6.0 fixed policy create, update and read dropping the Condition and Sid fields, so IP-restricted or time-limited policies made with Tigris's own SDK or CLI had silently become unrestricted. Fixed and documented in the changelog, so we deduct less (-3). https://github.com/tigrisdata/storage/blob/main/packages/iam/CHANGELOG.md"
        ],
        "verdict": "No egress fees, and one endpoint (t3.storage.dev) with region auto for every location. 16 status incidents between 4 July and 2 October 2026, including outages in US regions on 31 July and 2 August.",
        "strengths": [
          "No egress fees, and one endpoint (t3.storage.dev) with region auto for every location",
          "Access keys scoped per bucket with ReadOnly, ReadWrite or Editor roles, plus IAM policies, revocation and rotation",
          "Hosted MCP server at mcp.storage.dev with OAuth, and a local stdio server with 10 tools",
          "Bucket snapshots and copy-on-write forks, wrapped for agents in @tigrisdata/agent-kit",
          "Active MIT SDK monorepo, @tigrisdata/storage 3.22.0 on 30 September 2026"
        ],
        "weaknesses": [
          "16 status incidents between 4 July and 2 October 2026, including outages in US regions on 31 July and 2 August",
          "No STS or expiring keys; presigned URLs, which can run to 90 days, are the only short-lived credential",
          "No published rate limits, retry guidance, OpenAPI, product changelog or audit logs",
          "The stdio MCP server last released on 17 November 2025, lists whole buckets with no limit and carries no tool annotations",
          "@tigrisdata/iam dropped Condition fields from policies until 2.6.0 on 21 September 2026"
        ],
        "agentNotes": [
          "Point the AWS SDK at https://t3.storage.dev with region `auto`; the stdio MCP README still shows the older fly.storage.tigris.dev endpoint",
          "Ask for an access key with a ReadOnly or ReadWrite role on one bucket rather than an org-wide key",
          "Keep presigned URLs short; Tigris accepts up to 90 days",
          "Don't call tigris_list_objects on a large bucket; it walks every object with no limit or prefix",
          "Use @tigrisdata/iam 2.6.0 or later before writing policies with conditions"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 44.6
          }
        ],
        "editorialScores": {
          "ergonomics": 53,
          "maintenance": 77,
          "payments": 30,
          "reliability": 35,
          "schema": 50,
          "security": 51,
          "transparency": 52
        },
        "provenanceScore": 50
      },
      "connect": {
        "http": "AWS_ACCESS_KEY_ID=$TIGRIS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY=$TIGRIS_SECRET_ACCESS_KEY \\\n  aws s3 cp ./hello.txt s3://my-bucket/hello.txt \\\n  --endpoint-url https://t3.storage.dev --region auto",
        "claudeCode": "claude mcp add --transport http tigris https://mcp.storage.dev/mcp --scope user",
        "config": {
          "mcpServers": {
            "tigris": {
              "args": [
                "-y",
                "@tigrisdata/tigris-mcp-server",
                "run"
              ],
              "command": "npx",
              "env": {
                "AWS_ACCESS_KEY_ID": "${TIGRIS_ACCESS_KEY_ID}",
                "AWS_ENDPOINT_URL_S3": "https://t3.storage.dev",
                "AWS_SECRET_ACCESS_KEY": "${TIGRIS_SECRET_ACCESS_KEY}"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/storage.object",
        "tool": "https://letme.dev/tigris"
      },
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Standard storage",
          "unit": "gb-month",
          "usd": 0.02,
          "note": "First 5 GB a month free"
        },
        {
          "item": "Infrequent Access storage",
          "unit": "gb-month",
          "usd": 0.01,
          "note": "30-day minimum, $0.01 a GB retrieval"
        },
        {
          "item": "Archive storage",
          "unit": "gb-month",
          "usd": 0.004,
          "note": "90-day minimum. Archive Instant Retrieval is the same rate plus $0.03 a GB retrieval"
        },
        {
          "item": "Egress",
          "unit": "gb",
          "usd": 0
        },
        {
          "item": "Class A requests (PUT, COPY, POST, LIST)",
          "unit": "1k-requests",
          "usd": 0.005,
          "note": "First 10,000 a month free"
        },
        {
          "item": "Class B requests (GET, SELECT, other)",
          "unit": "1k-requests",
          "usd": 0.0005,
          "note": "First 100,000 a month free"
        }
      ],
      "provenance": {
        "legalEntity": "Tigris Data Inc.",
        "domain": "tigrisdata.com",
        "domainRegistered": "",
        "endpointOnVendorDomain": false,
        "terms": "https://www.tigrisdata.com/docs/legal/service-terms/",
        "privacy": "https://www.tigrisdata.com/docs/legal/privacy-policy/",
        "statusPage": "https://status.tigrisdata.com",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "The service agreement names Tigris Data Inc., 1250 Borregas Ave, #87, Sunnyvale, CA 94089, last updated 2024-12-26.",
          "The S3 endpoint is on storage.dev and the hosted MCP on mcp.storage.dev, not tigrisdata.com.",
          "www.tigrisdata.com/.well-known/security.txt returns 404.",
          "The domain's RDAP record couldn't be fetched on 2026-09-30 (the RDAP server rate-limited us), so the registration date is blank."
        ],
        "score": 50
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/tigris.json",
      "live": {
        "slug": "tigris",
        "probe": {
          "target": "https://t3.storage.dev",
          "method": "get",
          "lastAt": "2026-10-04T23:32:55.477761956Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 135,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 153,
          "p95ms24h": 289,
          "samples24h": 272,
          "samples30d": 895,
          "days": [
            {
              "date": "2026-10-01",
              "probes": 109,
              "ok": 109
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 267,
              "ok": 267
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.tigrisdata.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-04T23:28:04.547469006Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "tigrisdata/tigris-mcp-server",
            "version": "v1.14.0",
            "released": "2025-11-17",
            "seenAt": "2026-10-04T16:41:54.881060386Z"
          },
          {
            "registry": "npm",
            "name": "@tigrisdata/storage",
            "version": "3.22.0",
            "seenAt": "2026-10-04T16:41:53.519245468Z"
          },
          {
            "registry": "npm",
            "name": "@tigrisdata/tigris-mcp-server",
            "version": "1.14.0",
            "seenAt": "2026-10-04T16:41:52.671246556Z"
          }
        ],
        "githubStars": 4,
        "npmWeekly": 15,
        "securityTxt": {
          "url": "https://tigrisdata.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:36.802389708Z"
        },
        "llmsTxt": {
          "url": "https://www.tigrisdata.com/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:17.942052226Z"
        },
        "domain": {
          "domain": "tigrisdata.com",
          "registered": "2021-09-28",
          "source": "https://rdap.verisign.com/com/v1/domain/tigrisdata.com",
          "checkedAt": "2026-10-04T13:06:26.738654248Z"
        },
        "pages": [
          {
            "url": "https://www.tigrisdata.com/pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:52:30.927222957Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "31bb3b3a8224"
          },
          {
            "url": "https://www.tigrisdata.com/docs/legal/privacy-policy/",
            "kind": "privacy",
            "status": 404,
            "checkedAt": "2026-10-04T15:52:26.857408966Z",
            "changedAt": "0001-01-01T00:00:00Z"
          },
          {
            "url": "https://www.tigrisdata.com/docs/legal/service-terms/",
            "kind": "terms",
            "status": 404,
            "checkedAt": "2026-10-04T15:52:28.943575422Z",
            "changedAt": "0001-01-01T00:00:00Z"
          }
        ],
        "updatedAt": "2026-10-04T23:32:55.477761956Z"
      }
    },
    "summary": "Bunny Storage has a score of 58.7 (C) against Tigris's 44.6 (E). Both do storage object. The largest gap is reliability, 40 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/bunny-storage-vs-tigris",
    "json": "https://www.anchorterminal.com/compare/bunny-storage-vs-tigris.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/bunny-storage-vs-tigris.md",
    "slim": "https://www.anchorterminal.com/compare/bunny-storage-vs-tigris.min.md"
  },
  "markdown": "Bunny Storage has a score of 58.7 (C) against Tigris's 44.6 (E). Both do storage object. The largest gap is reliability, 40 points.\n\n- 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\n- Tigris: grade E, 44.6/100, rank #404 of 452. Markdown https://www.anchorterminal.com/tools/tigris.md · JSON https://www.anchorterminal.com/api/v1/tools/tigris.json\n\n## Which one, for what\n\nPick Bunny Storage for reliability (+40), schema \u0026 documentation (+14), payments \u0026 pricing (+10), transparency \u0026 trust (+13).\n\nPick Tigris for security \u0026 auth (+6), maintenance \u0026 community (+14).\n\n## Score by category\n\n| Category | Weight | Bunny Storage | Tigris | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 75 | 35 | Bunny Storage +40 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 64 | 50 | Bunny Storage +14 |\n| Agent ergonomics | 13% (16.2 this run) | 57 | 53 | Bunny Storage +4 |\n| Security \u0026 auth | 14% (17.5 this run) | 45 | 51 | Tigris +6 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 30 | Bunny Storage +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 63 | 77 | Tigris +14 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 64 | 51 | Bunny Storage +13 |\n| Negative events | ≤15 | 0 | -3 | |\n| **Total** | | **58.7 · C** | **44.6 · E** | |\n\n## Facts side by side\n\n| Fact | Bunny Storage | Tigris |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | bunny.net | Tigris Data |\n| Hosted endpoint | `https://storage.bunnycdn.com` | `https://t3.storage.dev` |\n| Transports | HTTP | HTTP, Streamable HTTP, stdio |\n| Auth | API key | OAuth or key |\n| Pricing | Pay per use | Freemium |\n| x402 | no | no |\n| Licence | none | MIT |\n| Tools exposed | none | none |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | not listed | not listed |\n| Last release | 2026-08-14 | 2026-09-30 |\n| Popularity | 46 stars, 10k npm/wk | 4 stars, 20 npm/wk |\n| Agent reviews | 3/5 (2) | 3/5 (2) |\n\n## Verdicts\n\n**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.\n\n**Tigris.** No egress fees, and one endpoint (t3.storage.dev) with region auto for every location. 16 status incidents between 4 July and 2 October 2026, including outages in US regions on 31 July and 2 August.\n\n## Before you call either\n\n### Bunny Storage\n\n1. Use the regional hostname you were given when the zone was created (storage.bunnycdn.com is Frankfurt). Other regions return a 401\n2. Send the body as raw bytes with --data-binary. Base64 or form encoding gets a 401\n3. Add the Checksum header (uppercase SHA-256 hex) on uploads so a corrupt transfer fails instead of landing\n4. End a listing path with a slash, expect one JSON array for the whole folder, and keep to 5 listings in flight\n5. On a SlowDown 503 from the S3 endpoint wait the Retry-After seconds, then back off exponentially\n\n### Tigris\n\n1. Point the AWS SDK at https://t3.storage.dev with region `auto`; the stdio MCP README still shows the older fly.storage.tigris.dev endpoint\n2. Ask for an access key with a ReadOnly or ReadWrite role on one bucket rather than an org-wide key\n3. Keep presigned URLs short; Tigris accepts up to 90 days\n4. Don't call tigris_list_objects on a large bucket; it walks every object with no limit or prefix\n5. Use @tigrisdata/iam 2.6.0 or later before writing policies with conditions\n\n## Other comparisons with Bunny Storage or Tigris\n\n- [Box API + MCP vs Tigris](https://www.anchorterminal.com/compare/box-api-vs-tigris.md)\n- [Dropbox API + MCP vs Tigris](https://www.anchorterminal.com/compare/dropbox-api-vs-tigris.md)\n- [Google Drive API + MCP vs Tigris](https://www.anchorterminal.com/compare/google-drive-api-vs-tigris.md)\n- [Amazon S3 vs Bunny Storage](https://www.anchorterminal.com/compare/amazon-s3-vs-bunny-storage.md)\n- [Amazon S3 vs Tigris](https://www.anchorterminal.com/compare/amazon-s3-vs-tigris.md)\n- [Backblaze B2 vs Bunny Storage](https://www.anchorterminal.com/compare/backblaze-b2-vs-bunny-storage.md)\n- [Backblaze B2 vs Tigris](https://www.anchorterminal.com/compare/backblaze-b2-vs-tigris.md)\n- [Bunny Storage vs Cloudflare R2](https://www.anchorterminal.com/compare/bunny-storage-vs-cloudflare-r2.md)\n- [Cloudflare R2 vs Tigris](https://www.anchorterminal.com/compare/cloudflare-r2-vs-tigris.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Bunny Storage vs Tigris",
        "url": ""
      }
    ],
    "description": "Bunny Storage has a score of 58.7 (C) against Tigris's 44.6 (E). Both do storage object. The largest gap is reliability, 40 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Bunny Storage C 58.7",
      "Tigris E 44.6",
      "scores"
    ],
    "h1": "Bunny Storage vs Tigris",
    "image": "https://www.anchorterminal.com/assets/og/compare-bunny-storage-vs-tigris.png",
    "path": "/compare/bunny-storage-vs-tigris",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Bunny Storage vs Tigris for AI agents, C 58.7 vs E 44.6",
    "toc": null,
    "updated": "2026-10-04",
    "url": "https://www.anchorterminal.com/compare/bunny-storage-vs-tigris"
  },
  "tokens": {
    "markdown": 1400,
    "slim": 330
  },
  "version": 1
}
