{
  "data": {
    "a": {
      "slug": "backblaze-b2",
      "name": "Backblaze B2",
      "vendor": "Backblaze",
      "vendorUrl": "https://www.backblaze.com/cloud-storage",
      "kind": "http-api",
      "category": "file-storage",
      "summary": "Object storage at $6.95 a TB-month with the first 10 GB free, egress free up to three times what you store and $0.01 a GB after, and no charge for most API calls.",
      "url": "https://www.anchorterminal.com/tools/backblaze-b2",
      "markdownUrl": "https://www.anchorterminal.com/tools/backblaze-b2.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/backblaze-b2.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/backblaze-b2.json",
      "repo": "https://github.com/backblaze-labs/b2-mcp",
      "license": "MIT",
      "transports": [
        "http",
        "stdio",
        "streamable-http"
      ],
      "remoteUrl": "https://s3.us-west-004.backblazeb2.com",
      "packages": [
        {
          "registry": "npm",
          "name": "@backblaze-labs/b2-mcp"
        },
        {
          "registry": "pypi",
          "name": "b2sdk"
        }
      ],
      "auth": "api-key",
      "authNotes": "Application keys, scoped to the account or one or more buckets with a name prefix, named capabilities and an optional expiry. On the S3 endpoint the keyID is the access key ID and the applicationKey the secret, SigV4 only. Keys and buckets created before 2020-05-04 don't work with the S3 API. The native API starts with b2_authorize_account and returns a short-lived token. Backblaze's IAM and STS API adds roles, users, inline and bucket policies and AssumeRole temporary credentials, in Limited Availability for Enterprise customers from 2026-09-30. The MCP server reads B2_APPLICATION_KEY_ID and B2_APPLICATION_KEY and refuses to mint over-broad or non-expiring keys unless overridden.",
      "pricing": "usage",
      "pricingNotes": "Storage $6.95 a TB-month, about $0.00695 a GB, with the first 10 GB free and no credit card at signup. Egress is free up to three times the average monthly data stored, then $0.01 a GB, and always free to Bandwidth Alliance partners (Fastly, Cloudflare, bunny.net, CacheFly, CoreWeave, Equinix Metal, Vultr, phoenixNAP). Class A, B and C API calls are free; Class D is $0.004 per 10,000 with the first 2,500 a day free. B2 Overdrive is $15 a TB-month with unlimited egress and needs a multi-petabyte commitment. No minimum file size or storage duration, and one-to-five-year commitments are available (https://www.backblaze.com/cloud-storage/pricing; https://www.backblaze.com/sign-up/cloud-storage).",
      "priceSummary": "$0.01 / GB",
      "where": "both",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": 40,
      "popularity": {
        "githubStars": 1,
        "npmWeekly": 150,
        "pypiWeekly": 112424,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://www.backblaze.com/docs/cloud-storage",
      "registryName": "io.github.backblaze-labs/b2-mcp",
      "capabilities": [
        "storage.object",
        "storage.s3",
        "storage.presigned",
        "storage.share"
      ],
      "tags": [
        "hosted",
        "s3-compatible",
        "mcp",
        "open-source",
        "self-hosted",
        "free-tier",
        "usage-priced",
        "typescript",
        "python",
        "official"
      ],
      "lastRelease": "2026-09-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 75.4,
        "grade": "BB",
        "agentReady": true,
        "rank": 35,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 4,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 85,
          "maintenance": 90,
          "payments": 40,
          "reliability": 60,
          "schema": 89,
          "security": 90,
          "transparency": 74
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "$6.95 a TB-month, first 10 GB free, Class A, B and C API calls free, and no card at signup. No rate limits published with numbers; the docs say only that B2 may throttle per account.",
        "strengths": [
          "$6.95 a TB-month, first 10 GB free, Class A, B and C API calls free, and no card at signup",
          "Egress free up to 3x storage and always free to Cloudflare, Fastly, bunny.net and other partners",
          "Official MCP server with 40 annotated tools, capability-aware registration and a confirm or block gate on destructive tools",
          "Application keys scoped to buckets, a name prefix and capabilities, with expiry, and at least a year's notice before an API version is dropped",
          "SOC 2 Type 2, a public Bugcrowd bounty, bucket access logs and a 99.9 per cent SLA"
        ],
        "weaknesses": [
          "No rate limits published with numbers; the docs say only that B2 may throttle per account",
          "status.backblaze.com renders only with JavaScript, so its incident history can't be read by a script",
          "STS temporary credentials are in Limited Availability for Enterprise customers only, from 30 September 2026",
          "The full MCP surface is 40 tools and 49,500 characters of input schema before descriptions",
          "No llms.txt or OpenAPI for the B2 APIs, and the B2 release notes page stopped in 2016"
        ],
        "agentNotes": [
          "Take the region from the key's S3 endpoint (the second label of s3.\u003cregion\u003e.backblazeb2.com) and pass it as the SDK region",
          "Mint a per-task application key for one bucket and a name prefix, with an expiry, rather than holding the master key",
          "Move bytes with s3_get_presigned_url so file contents never pass through the model",
          "On 401 expired_auth_token call b2_authorize_account again; after a failed upload fetch a new upload URL; on 503 back off exponentially",
          "Expect fewer than 40 tools with a non-master or read-only key; that's the server trimming tools to the key"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 8,
        "avgRating": 3.8,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 75.4
          }
        ],
        "editorialScores": {
          "ergonomics": 85,
          "maintenance": 90,
          "payments": 40,
          "reliability": 60,
          "schema": 89,
          "security": 90,
          "transparency": 72
        },
        "provenanceScore": 75
      },
      "connect": {
        "http": "AWS_ACCESS_KEY_ID=$B2_APPLICATION_KEY_ID AWS_SECRET_ACCESS_KEY=$B2_APPLICATION_KEY \\\n  aws s3 cp ./hello.txt s3://my-bucket/hello.txt \\\n  --endpoint-url https://s3.us-west-004.backblazeb2.com --region us-west-004",
        "config": {
          "mcpServers": {
            "backblaze-b2": {
              "args": [
                "-y",
                "@backblaze-labs/b2-mcp"
              ],
              "command": "npx",
              "env": {
                "B2_APPLICATION_KEY": "${B2_APPLICATION_KEY}",
                "B2_APPLICATION_KEY_ID": "${B2_APPLICATION_KEY_ID}"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/storage.object",
        "tool": "https://letme.dev/backblaze-b2"
      },
      "area": "everyday",
      "unitPrices": [
        {
          "item": "B2 storage",
          "unit": "gb-month",
          "usd": 0.00695,
          "note": "$6.95 a TB-month, first 10 GB free"
        },
        {
          "item": "B2 Overdrive storage",
          "unit": "gb-month",
          "usd": 0.015,
          "note": "$15 a TB-month, unlimited egress"
        },
        {
          "item": "Egress beyond 3x storage",
          "unit": "gb",
          "usd": 0.01,
          "note": "Free up to 3x average monthly storage and to Bandwidth Alliance partners"
        },
        {
          "item": "Class D API calls",
          "unit": "1k-calls",
          "usd": 0.0004,
          "note": "$0.004 per 10,000, first 2,500 a day free. Class A, B and C free"
        }
      ],
      "provenance": {
        "legalEntity": "Backblaze, Inc.",
        "domain": "backblaze.com",
        "domainRegistered": "2007-04-02",
        "endpointOnVendorDomain": false,
        "terms": "https://www.backblaze.com/company/policy/terms-of-service",
        "privacy": "https://www.backblaze.com/company/policy/privacy",
        "statusPage": "https://status.backblaze.com",
        "changelog": "https://www.backblaze.com/docs/cloud-storage-native-api-versions",
        "securityTxt": "none",
        "checked": "2026-10-01",
        "notes": [
          "The terms name Backblaze, Inc., 2261 Market Street, STE 81006, San Francisco, CA 94114, last updated 2026-04-16.",
          "Storage endpoints sit on backblazeb2.com, not backblaze.com.",
          "www.backblaze.com/.well-known/security.txt returns 404.",
          "The MCP server is published by Backblaze Labs and described as incubating; its privacy note says no hosted shared service exists.",
          "status.backblaze.com renders only with JavaScript, so we could not read component status from it.",
          "The B2 Release Notes page on help.backblaze.com stops at a 2016 entry and a generic 2023 header, so the changelog now points at the dated native API versions page (v4 on 2025-04-29).",
          "The MCP repository's SECURITY.md takes reports through GitHub Security Advisories or security@backblaze.com; the B2 service has a public Bugcrowd bounty (https://bugcrowd.com/backblaze)."
        ],
        "score": 75
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/backblaze-b2.json",
      "live": {
        "slug": "backblaze-b2",
        "probe": {
          "target": "https://s3.us-west-004.backblazeb2.com",
          "method": "get",
          "lastAt": "2026-10-05T00:15:19.820517958Z",
          "lastOk": true,
          "lastStatus": 403,
          "lastMs": 421,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 397,
          "p95ms24h": 454,
          "samples24h": 272,
          "samples30d": 903,
          "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": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 3,
              "ok": 3
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.backblaze.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T21:39:49.729227951Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "backblaze-labs/b2-mcp",
            "version": "v0.2.2",
            "released": "2026-09-29",
            "seenAt": "2026-10-04T16:21:48.223170869Z"
          },
          {
            "registry": "mcp-registry",
            "name": "io.github.backblaze-labs/b2-mcp",
            "version": "0.2.2",
            "seenAt": "2026-10-04T23:42:40.113054682Z"
          },
          {
            "registry": "npm",
            "name": "@backblaze-labs/b2-mcp",
            "version": "0.2.2",
            "seenAt": "2026-10-04T16:21:47.253882889Z"
          },
          {
            "registry": "pypi",
            "name": "b2sdk",
            "version": "2.13.1",
            "released": "2026-10-04",
            "seenAt": "2026-10-04T16:21:48.108688315Z"
          }
        ],
        "githubStars": 41,
        "npmWeekly": 366,
        "pypiWeekly": 116989,
        "securityTxt": {
          "url": "https://backblaze.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:16:05.550886695Z"
        },
        "domain": {
          "domain": "backblaze.com",
          "registered": "2007-04-02",
          "source": "https://rdap.verisign.com/com/v1/domain/backblaze.com",
          "checkedAt": "2026-10-04T13:08:37.078600749Z"
        },
        "pages": [
          {
            "url": "https://www.backblaze.com/docs/cloud-storage-native-api-versions",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-10-04T15:49:22.72929992Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "30ce4d52008f"
          },
          {
            "url": "https://www.backblaze.com/cloud-storage/pricing",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-04T15:49:16.652412095Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "cf280f3eea9b"
          },
          {
            "url": "https://www.backblaze.com/company/policy/privacy",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-04T15:49:18.731901525Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "c643450700dd"
          },
          {
            "url": "https://www.backblaze.com/company/policy/terms-of-service",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-04T15:49:20.727976379Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "1c638ca008ed"
          }
        ],
        "updatedAt": "2026-10-05T00:15:19.820517958Z"
      }
    },
    "b": {
      "slug": "cloudflare-r2",
      "name": "Cloudflare R2",
      "vendor": "Cloudflare",
      "vendorUrl": "https://developers.cloudflare.com/r2/",
      "kind": "http-api",
      "category": "file-storage",
      "summary": "S3-compatible object storage with no egress fees.",
      "url": "https://www.anchorterminal.com/tools/cloudflare-r2",
      "markdownUrl": "https://www.anchorterminal.com/tools/cloudflare-r2.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/cloudflare-r2.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/cloudflare-r2.json",
      "repo": "https://github.com/cloudflare/workers-sdk",
      "license": "Apache-2.0 or MIT (wrangler)",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://\u003caccount-id\u003e.r2.cloudflarestorage.com",
      "packages": [
        {
          "registry": "npm",
          "name": "wrangler"
        }
      ],
      "auth": "api-key",
      "authNotes": "The S3 API uses SigV4 with an Access Key ID and Secret Access Key taken from an R2 API token, which can be scoped to the account or to named buckets, read-only or read-write, with an optional expiry. Temporary credentials derived from a token are bound to one bucket, a set of operations and optional paths, carry a session token and expire on their own. Workers reach a bucket through a binding with no credentials. Wrangler and the REST API use a Cloudflare API token. The region is `auto` (an empty value or `us-east-1` also works).",
      "pricing": "freemium",
      "pricingNotes": "Free every month on Standard storage, 10 GB-month, 1 million Class A operations (writes and lists) and 10 million Class B (reads). Egress is free in every class. Beyond the free tier Standard is $0.015 a GB-month, $4.50 a million Class A and $0.36 a million Class B. Infrequent Access is $0.01 a GB-month, $9 and $0.90 a million operations, $0.01 a GB on retrieval and a 30-day minimum. Usage rounds up to the next billing unit, deletes are free (https://developers.cloudflare.com/r2/pricing/).",
      "priceSummary": "$0.0045 / 1k req",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 4500,
        "npmWeekly": 27029360,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://developers.cloudflare.com/r2/",
      "llmsTxt": "https://developers.cloudflare.com/llms.txt",
      "openapi": "https://github.com/cloudflare/api-schemas",
      "capabilities": [
        "storage.object",
        "storage.s3",
        "storage.presigned",
        "storage.share"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "s3-compatible",
        "freemium",
        "free-tier",
        "llms-txt",
        "mcp",
        "eu",
        "typescript"
      ],
      "lastRelease": "2026-09-24",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 78.4,
        "grade": "A",
        "agentReady": true,
        "rank": 14,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 3,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 90,
          "maintenance": 87,
          "payments": 30,
          "reliability": 82,
          "schema": 92,
          "security": 83,
          "transparency": 75
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Free egress and a free tier of 10 GB-month plus 1 million writes a month. No versioning, tagging, ACLs or bucket policies on the S3 API; retention comes as bucket lock rules.",
        "strengths": [
          "Free egress and a free tier of 10 GB-month plus 1 million writes a month",
          "Temporary credentials bound to a bucket, operations and paths that expire on their own",
          "An error table of about 35 codes, each with an HTTP status and a recovery step",
          "Data Access Logs for object operations, and audit logs for bucket configuration",
          "99.9 per cent SLA, dated changelog, llms.txt and EU, FedRAMP and US jurisdictions"
        ],
        "weaknesses": [
          "No versioning, tagging, ACLs or bucket policies on the S3 API; retention comes as bucket lock rules",
          "Presigned URLs don't work on custom domains and can't do POST form uploads",
          "One write a second to the same object key, with a 429 above that",
          "Five minor R2 incidents between 18 and 30 September 2026, one with intermittent authentication errors for about 12 hours",
          "No MCP server reads or writes objects; the official servers manage buckets"
        ],
        "agentNotes": [
          "Set region to `auto` and the endpoint to https://\u003caccount-id\u003e.r2.cloudflarestorage.com. `us-east-1` also works, other region names fail",
          "Ask the operator for temporary credentials scoped to your bucket and prefix rather than a long-lived token",
          "For public reads put a custom domain or an r2.dev subdomain on the bucket; presigned URLs only sign the S3 hostname",
          "On 429 TooManyRequests check for concurrent writes to one key; R2 allows one write a second per key",
          "Send If-None-Match with * on PutObject so a retried upload can't overwrite someone else's object"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 8,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "A",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 78.4
          }
        ],
        "editorialScores": {
          "ergonomics": 90,
          "maintenance": 87,
          "payments": 30,
          "reliability": 82,
          "schema": 92,
          "security": 83,
          "transparency": 64
        },
        "provenanceScore": 85
      },
      "connect": {
        "http": "AWS_ACCESS_KEY_ID=$R2_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY=$R2_SECRET_ACCESS_KEY \\\n  aws s3 cp ./hello.txt s3://my-bucket/hello.txt \\\n  --endpoint-url \"https://$CF_ACCOUNT_ID.r2.cloudflarestorage.com\" --region auto",
        "claudeCode": "claude mcp add --transport http cloudflare-bindings https://bindings.mcp.cloudflare.com/mcp"
      },
      "letme": {
        "capability": "https://letme.dev/storage.object",
        "tool": "https://letme.dev/cloudflare-r2"
      },
      "sameCompany": [
        "cloudflare-sandbox-sdk",
        "cloudflare-mcp",
        "cloudflare-clef"
      ],
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Standard storage",
          "unit": "gb-month",
          "usd": 0.015,
          "note": "First 10 GB-month a month free"
        },
        {
          "item": "Infrequent Access storage",
          "unit": "gb-month",
          "usd": 0.01,
          "note": "30-day minimum, $0.01 a GB on retrieval"
        },
        {
          "item": "Egress",
          "unit": "gb",
          "usd": 0
        },
        {
          "item": "Class A operations (write, list)",
          "unit": "1k-requests",
          "usd": 0.0045,
          "note": "$4.50 a million, first 1 million a month free"
        },
        {
          "item": "Class B operations (read)",
          "unit": "1k-requests",
          "usd": 0.00036,
          "note": "$0.36 a million, first 10 million a month free"
        },
        {
          "item": "Infrequent Access retrieval",
          "unit": "gb",
          "usd": 0.01
        }
      ],
      "provenance": {
        "legalEntity": "Cloudflare, Inc.",
        "domain": "cloudflare.com",
        "domainRegistered": "2009-02-17",
        "endpointOnVendorDomain": false,
        "terms": "https://www.cloudflare.com/terms/",
        "privacy": "https://www.cloudflare.com/privacypolicy/",
        "statusPage": "https://www.cloudflarestatus.com",
        "changelog": "https://developers.cloudflare.com/changelog/?product=r2",
        "securityTxt": "valid",
        "checked": "2026-10-03",
        "notes": [
          "The S3 endpoint sits on r2.cloudflarestorage.com, a separate domain from cloudflare.com.",
          "www.cloudflare.com/.well-known/security.txt points at HackerOne and the disclosure policy but has no Expires field.",
          "Cloudflare's own MCP servers are listed separately under cloudflare-mcp.",
          "The R2 release-notes page (https://developers.cloudflare.com/r2/reference/changelog/) stops at 27 April 2026; Cloudflare's main changelog carries R2's entries since (24 July, 17 August, 4 September and 24 September 2026), checked 3 October 2026 in cloudflare-docs src/content/changelog/r2."
        ],
        "score": 85
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/cloudflare-r2.json",
      "live": {
        "slug": "cloudflare-r2",
        "probe": {
          "target": "https://\u003caccount-id\u003e.r2.cloudflarestorage.com",
          "method": "get",
          "lastAt": "2026-10-05T00:15:21.63402494Z",
          "lastOk": false,
          "lastStatus": 0,
          "lastMs": 0,
          "lastNote": "DNS lookup failed",
          "authRequired": false,
          "uptime24h": 0,
          "uptime30d": 0,
          "p50ms24h": 0,
          "p95ms24h": 0,
          "samples24h": 272,
          "samples30d": 903,
          "days": [
            {
              "date": "2026-10-01",
              "probes": 109,
              "ok": 0
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 0
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 0
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 0
            },
            {
              "date": "2026-10-05",
              "probes": 3,
              "ok": 0
            }
          ]
        },
        "vendorStatus": {
          "page": "https://www.cloudflarestatus.com",
          "indicator": "minor",
          "summary": "Minor Service Outage",
          "checkedAt": "2026-10-05T00:11:13.497750902Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "cloudflare/workers-sdk",
            "version": "@cloudflare/deploy-helpers@0.19.2",
            "released": "2026-10-02",
            "seenAt": "2026-10-04T16:23:57.690111662Z"
          },
          {
            "registry": "npm",
            "name": "wrangler",
            "version": "4.147.0",
            "seenAt": "2026-10-04T16:23:57.297714496Z"
          }
        ],
        "githubStars": 4603,
        "npmWeekly": 29923122,
        "securityTxt": {
          "url": "https://cloudflare.com/.well-known/security.txt",
          "state": "valid",
          "checkedAt": "2026-10-04T15:15:51.95928161Z"
        },
        "llmsTxt": {
          "url": "https://developers.cloudflare.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:17:29.099310034Z"
        },
        "domain": {
          "domain": "cloudflare.com",
          "registered": "2009-02-17",
          "source": "https://rdap.verisign.com/com/v1/domain/cloudflare.com",
          "checkedAt": "2026-10-04T13:06:22.743038628Z"
        },
        "pages": [
          {
            "url": "https://developers.cloudflare.com/changelog/?product=r2",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:42:48.883950082Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "aa7b5fb58872"
          },
          {
            "url": "https://developers.cloudflare.com/r2/reference/changelog/",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-03T15:31:05.544759254Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "2cb3fb7e9bc5"
          },
          {
            "url": "https://developers.cloudflare.com/r2/pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:42:54.864560039Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "801736491cf8"
          },
          {
            "url": "https://www.cloudflare.com/privacypolicy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:49:48.937404588Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e562d2a2da97"
          },
          {
            "url": "https://www.cloudflare.com/terms/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:49:51.169054141Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "d26dd2a74bde"
          }
        ],
        "updatedAt": "2026-10-05T00:15:21.63402494Z"
      }
    },
    "summary": "Cloudflare R2 has a score of 78.4 (A) against Backblaze B2's 75.4 (BB). Both do storage object. The largest gap is reliability, 22 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/backblaze-b2-vs-cloudflare-r2",
    "json": "https://www.anchorterminal.com/compare/backblaze-b2-vs-cloudflare-r2.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/backblaze-b2-vs-cloudflare-r2.md",
    "slim": "https://www.anchorterminal.com/compare/backblaze-b2-vs-cloudflare-r2.min.md"
  },
  "markdown": "Cloudflare R2 has a score of 78.4 (A) against Backblaze B2's 75.4 (BB). Both do storage object. The largest gap is reliability, 22 points.\n\n- Backblaze B2: grade BB, 75.4/100, rank #35 of 452. Markdown https://www.anchorterminal.com/tools/backblaze-b2.md · JSON https://www.anchorterminal.com/api/v1/tools/backblaze-b2.json\n- Cloudflare R2: grade A, 78.4/100, rank #14 of 452. Markdown https://www.anchorterminal.com/tools/cloudflare-r2.md · JSON https://www.anchorterminal.com/api/v1/tools/cloudflare-r2.json\n\n## Which one, for what\n\nPick Backblaze B2 for security \u0026 auth (+7), payments \u0026 pricing (+10).\n\nPick Cloudflare R2 for reliability (+22), agent ergonomics (+5).\n\n## Score by category\n\n| Category | Weight | Backblaze B2 | Cloudflare R2 | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 60 | 82 | Cloudflare R2 +22 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 89 | 92 | Cloudflare R2 +3 |\n| Agent ergonomics | 13% (16.2 this run) | 85 | 90 | Cloudflare R2 +5 |\n| Security \u0026 auth | 14% (17.5 this run) | 90 | 83 | Backblaze B2 +7 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 30 | Backblaze B2 +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 90 | 87 | Backblaze B2 +3 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 74 | 75 | Cloudflare R2 +1 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **75.4 · BB** | **78.4 · A** | |\n\n## Facts side by side\n\n| Fact | Backblaze B2 | Cloudflare R2 |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Backblaze | Cloudflare |\n| Hosted endpoint | `https://s3.us-west-004.backblazeb2.com` | `https://\u003caccount-id\u003e.r2.cloudflarestorage.com` |\n| Transports | HTTP, stdio, Streamable HTTP | HTTP, Streamable HTTP |\n| Auth | API key | API key |\n| Pricing | Pay per use | Freemium |\n| x402 | no | no |\n| Licence | MIT | Apache-2.0 or MIT (wrangler) |\n| Tools exposed | 40 | 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 | yes | no |\n| llms.txt | no | yes |\n| MCP registry | `io.github.backblaze-labs/b2-mcp` | not listed |\n| Last release | 2026-09-29 | 2026-09-24 |\n| Popularity | 1 stars, 150 npm/wk, 112k PyPI/wk | 4.5k stars, 27M npm/wk |\n| Agent reviews | 3.8/5 (8) | 3.5/5 (8) |\n\n## Verdicts\n\n**Backblaze B2.** $6.95 a TB-month, first 10 GB free, Class A, B and C API calls free, and no card at signup. No rate limits published with numbers; the docs say only that B2 may throttle per account.\n\n**Cloudflare R2.** Free egress and a free tier of 10 GB-month plus 1 million writes a month. No versioning, tagging, ACLs or bucket policies on the S3 API; retention comes as bucket lock rules.\n\n## Before you call either\n\n### Backblaze B2\n\n1. Take the region from the key's S3 endpoint (the second label of s3.\u003cregion\u003e.backblazeb2.com) and pass it as the SDK region\n2. Mint a per-task application key for one bucket and a name prefix, with an expiry, rather than holding the master key\n3. Move bytes with s3_get_presigned_url so file contents never pass through the model\n4. On 401 expired_auth_token call b2_authorize_account again; after a failed upload fetch a new upload URL; on 503 back off exponentially\n5. Expect fewer than 40 tools with a non-master or read-only key; that's the server trimming tools to the key\n\n### Cloudflare R2\n\n1. Set region to `auto` and the endpoint to https://\u003caccount-id\u003e.r2.cloudflarestorage.com. `us-east-1` also works, other region names fail\n2. Ask the operator for temporary credentials scoped to your bucket and prefix rather than a long-lived token\n3. For public reads put a custom domain or an r2.dev subdomain on the bucket; presigned URLs only sign the S3 hostname\n4. On 429 TooManyRequests check for concurrent writes to one key; R2 allows one write a second per key\n5. Send If-None-Match with * on PutObject so a retried upload can't overwrite someone else's object\n\n## Other comparisons with Backblaze B2 or Cloudflare R2\n\n- [Backblaze B2 vs Box API + MCP](https://www.anchorterminal.com/compare/backblaze-b2-vs-box-api.md)\n- [Backblaze B2 vs Dropbox API + MCP](https://www.anchorterminal.com/compare/backblaze-b2-vs-dropbox-api.md)\n- [Backblaze B2 vs Google Drive API + MCP](https://www.anchorterminal.com/compare/backblaze-b2-vs-google-drive-api.md)\n- [Box API + MCP vs Cloudflare R2](https://www.anchorterminal.com/compare/box-api-vs-cloudflare-r2.md)\n- [Cloudflare R2 vs Dropbox API + MCP](https://www.anchorterminal.com/compare/cloudflare-r2-vs-dropbox-api.md)\n- [Cloudflare R2 vs Google Drive API + MCP](https://www.anchorterminal.com/compare/cloudflare-r2-vs-google-drive-api.md)\n- [Amazon S3 vs Backblaze B2](https://www.anchorterminal.com/compare/amazon-s3-vs-backblaze-b2.md)\n- [Amazon S3 vs Cloudflare R2](https://www.anchorterminal.com/compare/amazon-s3-vs-cloudflare-r2.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-05",
    "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": "Backblaze B2 vs Cloudflare R2",
        "url": ""
      }
    ],
    "description": "Cloudflare R2 has a score of 78.4 (A) against Backblaze B2's 75.4 (BB). Both do storage object. The largest gap is reliability, 22 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Backblaze B2 BB 75.4",
      "Cloudflare R2 A 78.4",
      "scores"
    ],
    "h1": "Backblaze B2 vs Cloudflare R2",
    "image": "https://www.anchorterminal.com/assets/og/compare-backblaze-b2-vs-cloudflare-r2.png",
    "path": "/compare/backblaze-b2-vs-cloudflare-r2",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Backblaze B2 vs Cloudflare R2 for AI agents, BB 75.4 vs A 78.4",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/backblaze-b2-vs-cloudflare-r2"
  },
  "tokens": {
    "markdown": 1550,
    "slim": 330
  },
  "version": 1
}
