{
  "data": {
    "a": {
      "slug": "azure-blob-storage",
      "name": "Azure Blob Storage",
      "vendor": "Microsoft Corporation",
      "vendorUrl": "https://azure.microsoft.com/en-us/products/storage/blobs",
      "kind": "http-api",
      "category": "file-storage",
      "summary": "Microsoft Azure's object storage for files, backups and application data. Agents call a REST API or the Azure SDKs on a storage account, signing in with Microsoft Entra ID, an account key or a shared access signature.",
      "url": "https://www.anchorterminal.com/tools/azure-blob-storage",
      "markdownUrl": "https://www.anchorterminal.com/tools/azure-blob-storage.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/azure-blob-storage.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/azure-blob-storage.json",
      "repo": "https://github.com/Azure/azure-rest-api-specs",
      "license": "Proprietary service under Microsoft's Product Terms. The Azure SDK client libraries are MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://\u003caccount\u003e.blob.core.windows.net",
      "packages": [
        {
          "registry": "pypi",
          "name": "azure-storage-blob"
        },
        {
          "registry": "npm",
          "name": "@azure/storage-blob"
        }
      ],
      "auth": "mixed",
      "authNotes": "Three routes. Microsoft Entra ID OAuth 2.0 bearer tokens, authorised by Azure roles assigned on a container, account, resource group or subscription, which Microsoft recommends. Shared Key, an HMAC signature made with one of the account's access keys, which carry full access and are accepted until the owner sets `AllowSharedKeyAccess` to false. A shared access signature (SAS), a signed query string that grants chosen permissions on a resource until an expiry time. A user delegation SAS is signed with a key obtained through Entra ID and lasts at most seven days. Access is self-serve inside an Azure subscription (https://learn.microsoft.com/en-us/rest/api/storageservices/authorize-requests-to-azure-storage, https://learn.microsoft.com/en-us/azure/storage/blobs/authorize-access-azure-active-directory).",
      "pricing": "usage",
      "pricingNotes": "Hot tier LRS storage is $0.0208 a GB-month for the first 50 TB in East US, cool $0.0152, cold $0.0036 and archive $0.00099. Hot write operations cost $0.05 per 10,000, list and create container operations $0.05, read and other operations $0.004. Cool and cold reads add a retrieval charge of $0.01 and $0.03 a GB. The pricing page draws its numbers by script and showed none, so these come from the Azure Retail Prices API (https://prices.azure.com/api/retail/prices?$filter=serviceName%20eq%20%27Storage%27%20and%20armRegionName%20eq%20%27eastus%27%20and%20productName%20eq%20%27General%20Block%20Blob%20v2%27). Internet egress is billed separately as bandwidth and its rate was not read. No free allowance for Blob Storage could be read, because the free services page lists its services by script. A new Azure account gets $200 of credit for 30 days and needs a phone number and a credit or debit card (https://azure.microsoft.com/en-us/pricing/purchase-options/azure-account).",
      "priceSummary": "$0.005 / 1k req",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Blob Storage REST reference, the storage docs read or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 12530696,
        "pypiWeekly": 22597364,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://learn.microsoft.com/en-us/rest/api/storageservices/blob-service-rest-api",
      "openapi": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/specification/storage/data-plane/Microsoft.BlobStorage/stable/2026-10-06/blob.json",
      "capabilities": [
        "storage.object",
        "storage.presigned",
        "storage.share",
        "infra.azure"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "usage-priced",
        "card-required",
        "openapi",
        "oauth",
        "python",
        "typescript",
        "enterprise",
        "sla",
        "eu"
      ],
      "lastRelease": "2026-09-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 75.7,
        "grade": "BB",
        "agentReady": true,
        "rank": 40,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 4,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 84,
          "maintenance": 80,
          "payments": 20,
          "reliability": 88,
          "schema": 85,
          "security": 81,
          "transparency": 80
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "Microsoft Entra ID roles can be scoped to one container, and a user delegation signature hands out a link that expires within seven days. Account keys with full access stay enabled until the owner turns them off, request logs are off until configured, and an Azure account needs a person, a phone number and a payment card.",
        "bestFor": "Agents and runtimes already on Azure, where a managed identity writes to one container with no stored key, and jobs that need tiers, immutability or geo-redundant copies.",
        "strengths": [
          "Microsoft Entra ID roles such as Storage Blob Data Reader can be assigned on one container, with no stored key for workloads on Azure",
          "A user delegation shared access signature is signed with Entra credentials, lasts at most seven days and can be limited by permission, IP address and protocol",
          "SLA of 99.9 per cent on the hot tier, 99.99 per cent for reads on RA-GRS accounts, in the 1 October 2026 SLA document",
          "Public OpenAPI 2.0 contract with 69 operations for service version 2026-10-06, and Learn pages returned as Markdown on request",
          "Conditional headers, leases, soft delete of 1 to 365 days and immutability policies protect against a wrong overwrite or delete"
        ],
        "weaknesses": [
          "Shared Key authorisation with the account's access keys is allowed until the owner sets `AllowSharedKeyAccess` to false",
          "Request logs are not collected until a diagnostic setting routes the StorageRead, StorageWrite and StorageDelete categories somewhere",
          "Requests and responses use headers and XML, and every authorised call must carry `x-ms-version`",
          "The pricing page draws its numbers by script, so an agent reading it sees no price. The Retail Prices API has them",
          "An Azure account needs a phone number and a credit or debit card, and no free Blob Storage allowance could be read"
        ],
        "agentNotes": [
          "Request an Entra ID token for https://storage.azure.com/ and send it as a Bearer header with `x-ms-version` and `x-ms-date`. Put Blob also needs `x-ms-blob-type: BlockBlob`",
          "Ask for a Storage Blob Data role on the one container. Role changes can take up to 10 minutes to apply",
          "To share a file, call Get User Delegation Key, then sign a SAS with `sp=r`, `spr=https` and a short expiry. Treat the URL as a secret",
          "Send `If-None-Match: *` on Put Blob so a retry can't overwrite a blob another call wrote",
          "On 503 ServerBusy back off exponentially. After 500 OperationTimedOut check the blob's state before retrying, since the write may have succeeded"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 75.7
          }
        ],
        "editorialScores": {
          "ergonomics": 84,
          "maintenance": 80,
          "payments": 20,
          "reliability": 88,
          "schema": 85,
          "security": 81,
          "transparency": 73
        },
        "provenanceScore": 86
      },
      "connect": {
        "install": "pip install azure-storage-blob azure-identity   # or: npm i @azure/storage-blob @azure/identity",
        "http": "PUT https://myaccount.blob.core.windows.net/mycontainer/myblob\nx-ms-version: 2026-04-06\nx-ms-date: \u003cdate\u003e\nx-ms-blob-type: BlockBlob\nAuthorization: Bearer \u003cEntra ID access token for https://storage.azure.com/\u003e"
      },
      "letme": {
        "capability": "https://letme.dev/storage.object",
        "tool": "https://letme.dev/azure-blob-storage"
      },
      "sameCompany": [
        "azure-foundry-fine-tuning",
        "azure-ai-content-safety",
        "azure-speech-to-text",
        "azure-text-to-speech",
        "microsoft-agent-framework",
        "microsoft-execution-containers",
        "microsoft-entra-agent-id",
        "azure-key-vault",
        "azure-document-intelligence",
        "azure-devops-mcp",
        "microsoft-learn-mcp",
        "playwright-mcp",
        "azure-mcp",
        "azure-maps",
        "azure-translator",
        "microsoft-graph-calendar",
        "onedrive-sharepoint",
        "microsoft-teams",
        "dynamics-365-sales",
        "power-automate",
        "foundry-local",
        "microsoft-advertising-api",
        "microsoft-excel-graph",
        "outlook-mail-graph"
      ],
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Hot LRS storage, first 50 TB",
          "unit": "gb-month",
          "usd": 0.0208,
          "note": "East US, general-purpose v2, from the Azure Retail Prices API"
        },
        {
          "item": "Cool LRS storage",
          "unit": "gb-month",
          "usd": 0.0152,
          "note": "East US"
        },
        {
          "item": "Hot LRS write operations",
          "unit": "1k-requests",
          "usd": 0.005,
          "note": "$0.05 per 10,000"
        },
        {
          "item": "Hot read operations",
          "unit": "1k-requests",
          "usd": 0.0004,
          "note": "$0.004 per 10,000"
        }
      ],
      "provenance": {
        "legalEntity": "Microsoft Corporation",
        "domain": "microsoft.com",
        "domainRegistered": "1991-05-02",
        "domainNote": "Accounts answer at \u003caccount\u003e.blob.core.windows.net, as Microsoft's REST reference gives it. RDAP shows windows.net registered on 1995-08-10. Docs are on learn.microsoft.com.",
        "endpointOnVendorDomain": true,
        "terms": "https://www.microsoft.com/licensing/terms/product/ForOnlineServices/all",
        "privacy": "https://www.microsoft.com/en-us/privacy/privacystatement",
        "statusPage": "https://azure.status.microsoft/en-us/status",
        "changelog": "https://learn.microsoft.com/en-us/rest/api/storageservices/versioning-for-the-azure-storage-services",
        "securityTxt": "expired",
        "checked": "2026-10-08",
        "notes": [
          "The Product Terms for Online Services cover Microsoft Azure, carry an acceptable use policy and a competitive benchmarking clause, and point to the Data Protection Addendum. The page showed no effective date when read on 8 October 2026.",
          "Self-serve Azure accounts also accept the Microsoft Online Subscription Agreement (last updated March 2019, Microsoft Corporation, Washington law) at https://azure.microsoft.com/en-us/support/legal/subscription-agreement/, which incorporates the Online Services Terms and the SLAs.",
          "The privacy statement (last updated September 2026) names Microsoft Corporation, One Microsoft Way, Redmond, Washington 98052, and Microsoft Ireland Operations Limited. It lists Microsoft Azure among the enterprise online services covered by the Product Terms.",
          "The Data Protection Addendum read is the English edition of 22 May 2026, a Word file linked from https://www.microsoft.com/licensing/docs/view/Microsoft-Products-and-Services-Data-Protection-Addendum-DPA.",
          "https://www.microsoft.com/.well-known/security.txt shows Expires 2026-09-23T16:00:00.000Z. It points to the MSRC researcher portal, the bounty policy and the coordinated disclosure policy.",
          "RDAP gives 1991-05-02 for microsoft.com and 1995-08-10 for windows.net. The registry record does not name a registrant.",
          "The versioning page is dated 23 September 2026 and each service version has its own page of changes."
        ],
        "score": 86
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/azure-blob-storage.json",
      "live": {
        "slug": "azure-blob-storage",
        "probe": {
          "target": "https://\u003caccount\u003e.blob.core.windows.net",
          "method": "get",
          "lastAt": "2026-10-09T11:46:22.69203777Z",
          "lastOk": false,
          "lastStatus": 0,
          "lastMs": 0,
          "lastNote": "DNS lookup failed",
          "authRequired": false,
          "uptime24h": 0,
          "uptime30d": 0,
          "p50ms24h": 0,
          "p95ms24h": 0,
          "samples24h": 44,
          "samples30d": 44,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 44,
              "ok": 0
            }
          ],
          "outages": [
            {
              "start": "2026-10-09T07:40:20.163794763Z",
              "end": "0001-01-01T00:00:00Z",
              "note": "DNS lookup failed"
            }
          ]
        },
        "updatedAt": "2026-10-09T11:46:22.69203777Z"
      }
    },
    "answer": "Azure Blob Storage scores 75.7 (BB) on agent readiness against Box API + MCP's 69.4 (B), and leads in 4 of 7 scored categories. Box API + MCP leads on schema \u0026 documentation and payments \u0026 pricing.",
    "b": {
      "slug": "box-api",
      "name": "Box API + MCP",
      "vendor": "Box",
      "vendorUrl": "https://developer.box.com",
      "kind": "http-api",
      "category": "file-storage",
      "summary": "Enterprise content platform with a REST API for files, folders, shared links, collaborations, metadata and Box AI, published as OpenAPI with year-based API versions.",
      "url": "https://www.anchorterminal.com/tools/box-api",
      "markdownUrl": "https://www.anchorterminal.com/tools/box-api.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/box-api.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/box-api.json",
      "repo": "https://github.com/box/box-node-sdk",
      "license": "Apache-2.0",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.box.com/2.0",
      "packages": [
        {
          "registry": "npm",
          "name": "box-node-sdk"
        },
        {
          "registry": "pypi",
          "name": "box-sdk-gen"
        }
      ],
      "auth": "oauth",
      "authNotes": "OAuth 2.0 against https://account.box.com/api/oauth2/authorize and https://api.box.com/oauth2/token, with a Bearer access token on every call. Server-side apps can use JWT or client credentials instead. The remote MCP server is an OAuth-protected resource (metadata at https://mcp.box.com/.well-known/oauth-protected-resource) and asks for the root_readwrite, ai.readwrite and docgen.readwrite scopes; the last needs an Enterprise Advanced licence. Users only ever see content they already have access to in Box.",
      "pricing": "byo-plan",
      "pricingNotes": "The API and MCP server come with a Box plan. Individual is free with 10 GB and a 250 MB upload limit. Personal Pro $14 a month ($10 billed yearly). Business plans need three users, Business Starter $7 a user a month ($5 yearly, 100 GB), Business $20 ($15, unlimited storage, 5 GB uploads, Box AI, 50,000 API calls a month), Business Plus $33 ($25, 15 GB uploads), Enterprise $47 ($35, 50 GB uploads, 1,000 AI units, 100,000 API calls), Enterprise Plus $50 a user a month billed yearly (150 GB uploads, 2,000 AI units), Enterprise Advanced on request (500 GB uploads, 20,000 AI units, 200,000 API calls). The MCP server needs Business or above. Extra API calls are sold as Platform pricing (https://www.box.com/pricing; https://support.box.com/hc/en-us/articles/43974584000659).",
      "priceSummary": "Your plan",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": 57,
      "popularity": {
        "githubStars": 199,
        "npmWeekly": 215715,
        "pypiWeekly": 275500,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://developer.box.com/guides/",
      "llmsTxt": "https://developer.box.com/llms.txt",
      "openapi": "https://raw.githubusercontent.com/box/box-openapi/main/openapi.json",
      "capabilities": [
        "storage.drive",
        "storage.share",
        "work.docs"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "mcp",
        "oauth",
        "enterprise",
        "typescript",
        "python",
        "webhooks"
      ],
      "lastRelease": "2026-09-11",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 69.4,
        "grade": "B",
        "agentReady": false,
        "rank": 177,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 6,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 72,
          "maintenance": 84,
          "payments": 25,
          "reliability": 65,
          "schema": 91,
          "security": 73,
          "transparency": 76
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Public OpenAPI 3.0 spec with 297 operations, year-based API versions and an llms.txt of Markdown pages. 20 status-feed entries between 7 July and 1 October 2026, two of them over two hours on uploads or multiple services.",
        "bestFor": "Agents working inside an enterprise's existing Box content with admin oversight, Box AI extraction and audit needs.",
        "strengths": [
          "Public OpenAPI 3.0 spec with 297 operations, year-based API versions and an llms.txt of Markdown pages",
          "At least 24 months between deprecation and retirement of an API version, with Deprecation response headers",
          "Official remote MCP server with OAuth, 57 tools and 22 riskier ones off until an admin enables them",
          "Documented rate limits (1,000 calls a minute a user, 240 uploads a minute) with a 429 and retry-after",
          "SDKs in Node, Python, Java, Windows (.NET) and iOS, all released on 9 September 2026"
        ],
        "weaknesses": [
          "20 status-feed entries between 7 July and 1 October 2026, two of them over two hours on uploads or multiple services",
          "MCP server needs Business or above, a three-seat minimum, and admin enablement per tool group",
          "The MCP server asks for root_readwrite, so a connected agent can write wherever its user can once tools are on",
          "API calls are metered per enterprise, 50,000 a month on Business",
          "No security.txt on box.com, and no bug bounty on its security page"
        ],
        "agentNotes": [
          "Call who_am_i first; the tool list depends on the plan, the admin's toggles and the scopes granted",
          "Expect download and upload URL, move and shared-link tools to be missing unless an admin has enabled them",
          "Pass fields= to trim responses and page folder listings with limit and marker",
          "Send a box-version header to pin an API version, and watch responses for a Deprecation header",
          "For a link that expires, set shared_link.unshared_at on a paid account; the free plan can't"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 69.4
          }
        ],
        "editorialScores": {
          "ergonomics": 72,
          "maintenance": 84,
          "payments": 25,
          "reliability": 65,
          "schema": 91,
          "security": 73,
          "transparency": 68
        },
        "provenanceScore": 84
      },
      "connect": {
        "http": "curl \"https://api.box.com/2.0/folders/0/items?limit=100\" -H \"Authorization: Bearer $BOX_ACCESS_TOKEN\"",
        "claudeCode": "claude mcp add --transport http box https://mcp.box.com",
        "config": {
          "mcpServers": {
            "box": {
              "url": "https://mcp.box.com"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/storage.drive",
        "tool": "https://letme.dev/box-api"
      },
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Business Starter",
          "unit": "seat-month",
          "usd": 7,
          "note": "$5 billed yearly, three-seat minimum, 100 GB"
        },
        {
          "item": "Business",
          "unit": "seat-month",
          "usd": 20,
          "note": "$15 billed yearly. Lowest plan with the MCP server and Box AI"
        },
        {
          "item": "Business Plus",
          "unit": "seat-month",
          "usd": 33,
          "note": "$25 billed yearly"
        },
        {
          "item": "Enterprise",
          "unit": "seat-month",
          "usd": 47,
          "note": "$35 billed yearly, 100,000 API calls a month"
        },
        {
          "item": "Personal Pro",
          "unit": "month",
          "usd": 14,
          "note": "$10 billed yearly, 100 GB, one user"
        }
      ],
      "provenance": {
        "legalEntity": "Box, Inc.",
        "domain": "box.com",
        "domainRegistered": "1999-02-17",
        "domainNote": "box.com was registered in 1999, before Box was founded, so the domain was bought later.",
        "endpointOnVendorDomain": true,
        "terms": "https://www.box.com/legal/termsofservice",
        "privacy": "https://www.box.com/legal/privacypolicy",
        "statusPage": "https://status.box.com",
        "changelog": "https://developer.box.com/changelog/",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "The terms (effective 2026-08-17) name Box, Inc. for US residents, Box.com (UK) Ltd. (company 0809736) outside the US, and K.K. Box Japan in Japan.",
          "www.box.com/.well-known/security.txt returns 404.",
          "The mcp-server-box-remote repository holds a README and licence only; the server code is not published. The privacy notice names Box, Inc. and its subsidiaries and announces a revision effective 2026-10-05."
        ],
        "score": 84
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/box-api.json",
      "live": {
        "slug": "box-api",
        "probe": {
          "target": "https://api.box.com/2.0",
          "method": "get",
          "lastAt": "2026-10-09T11:46:23.95103154Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 185,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 190,
          "p95ms24h": 604,
          "samples24h": 259,
          "samples30d": 2109,
          "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": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 125,
              "ok": 125
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.box.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-09T11:38:03.681026766Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "box/box-node-sdk",
            "version": "v10.17.0",
            "released": "2026-10-01",
            "seenAt": "2026-10-08T16:03:22.627126886Z"
          },
          {
            "registry": "npm",
            "name": "box-node-sdk",
            "version": "10.17.0",
            "seenAt": "2026-10-08T16:03:15.517316043Z"
          },
          {
            "registry": "pypi",
            "name": "box-sdk-gen",
            "version": "1.17.0",
            "released": "2025-09-05",
            "seenAt": "2026-10-08T16:03:18.737282932Z"
          }
        ],
        "githubStars": 199,
        "npmWeekly": 219263,
        "pypiWeekly": 237762,
        "securityTxt": {
          "url": "https://box.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:36.459787243Z"
        },
        "llmsTxt": {
          "url": "https://developer.box.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-08T14:00:08.933899822Z"
        },
        "domain": {
          "domain": "box.com",
          "registered": "1999-02-17",
          "source": "https://rdap.verisign.com/com/v1/domain/box.com",
          "checkedAt": "2026-10-04T13:10:33.926134325Z"
        },
        "pages": [
          {
            "url": "https://developer.box.com/changelog/",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:17:07.109607147Z",
            "changedAt": "2026-10-08T18:17:07.109607147Z",
            "fingerprint": "618e82cfaa5a"
          },
          {
            "url": "https://www.box.com/pricing",
            "kind": "pricing",
            "status": 403,
            "checkedAt": "2026-10-08T18:26:44.650207201Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "570bfd1d1491"
          },
          {
            "url": "https://www.box.com/legal/privacypolicy",
            "kind": "privacy",
            "status": 403,
            "checkedAt": "2026-10-08T18:26:39.112609314Z",
            "changedAt": "0001-01-01T00:00:00Z"
          },
          {
            "url": "https://www.box.com/legal/termsofservice",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:26:41.122093323Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "9f0bd8a4bcb9"
          }
        ],
        "updatedAt": "2026-10-09T11:46:23.95103154Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Microsoft Corporation",
        "b": "Box",
        "name": "Vendor"
      },
      {
        "a": "https://\u003caccount\u003e.blob.core.windows.net",
        "b": "https://api.box.com/2.0",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Your plan",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Microsoft's Product Terms. The Azure SDK client libraries are MIT",
        "b": "Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "57",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-30",
        "b": "2026-09-11",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "2026-09-01",
        "b": "couldn't be read",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "12.5M npm/wk, 22.6M PyPI/wk",
        "b": "199 stars, 216k npm/wk, 276k PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "2.5/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Azure Blob Storage scores 75.7 (BB) on agent readiness against Box API + MCP's 69.4 (B), and leads in 4 of 7 scored categories. Box API + MCP leads on schema \u0026 documentation and payments \u0026 pricing.",
        "question": "Which is better for AI agents, Azure Blob Storage or Box API + MCP?"
      },
      {
        "answer": "Azure Blob Storage takes an API key or an OAuth sign-in. Box API + MCP uses an OAuth sign-in.",
        "question": "Do Azure Blob Storage and Box API + MCP need an API key?"
      },
      {
        "answer": "Yes. Azure Blob Storage has a hosted endpoint at https://\u003caccount\u003e.blob.core.windows.net and Box API + MCP at https://api.box.com/2.0.",
        "question": "Can an agent call Azure Blob Storage and Box API + MCP without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 88 against 65",
          "Agent ergonomics, 84 against 72",
          "Security \u0026 auth, 81 against 73"
        ],
        "also": [
          "Agent-ready, a grade of BB or better"
        ],
        "goodFor": "Agents and runtimes already on Azure, where a managed identity writes to one container with no stored key, and jobs that need tiers, immutability or geo-redundant copies.",
        "slug": "azure-blob-storage",
        "watchFor": "Shared Key authorisation with the account's access keys is allowed until the owner sets `AllowSharedKeyAccess` to false"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 91 against 85",
          "Payments \u0026 pricing, 25 against 20"
        ],
        "also": null,
        "goodFor": "Agents working inside an enterprise's existing Box content with admin oversight, Box AI extraction and audit needs.",
        "slug": "box-api",
        "watchFor": "20 status-feed entries between 7 July and 1 October 2026, two of them over two hours on uploads or multiple services"
      }
    ],
    "job": {
      "capability": "storage.share",
      "name": "Storage share"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/amazon-s3-vs-box-api.json",
        "title": "Amazon S3 vs Box API + MCP",
        "url": "https://www.anchorterminal.com/compare/amazon-s3-vs-box-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-blob-storage-vs-dropbox-api.json",
        "title": "Azure Blob Storage vs Dropbox API + MCP",
        "url": "https://www.anchorterminal.com/compare/azure-blob-storage-vs-dropbox-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-blob-storage-vs-google-drive-api.json",
        "title": "Azure Blob Storage vs Google Drive API + MCP",
        "url": "https://www.anchorterminal.com/compare/azure-blob-storage-vs-google-drive-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/backblaze-b2-vs-box-api.json",
        "title": "Backblaze B2 vs Box API + MCP",
        "url": "https://www.anchorterminal.com/compare/backblaze-b2-vs-box-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/box-api-vs-cloudflare-r2.json",
        "title": "Box API + MCP vs Cloudflare R2",
        "url": "https://www.anchorterminal.com/compare/box-api-vs-cloudflare-r2"
      },
      {
        "json": "https://www.anchorterminal.com/compare/box-api-vs-tigris.json",
        "title": "Box API + MCP vs Tigris",
        "url": "https://www.anchorterminal.com/compare/box-api-vs-tigris"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-s3-vs-azure-blob-storage.json",
        "title": "Amazon S3 vs Azure Blob Storage",
        "url": "https://www.anchorterminal.com/compare/amazon-s3-vs-azure-blob-storage"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-blob-storage-vs-backblaze-b2.json",
        "title": "Azure Blob Storage vs Backblaze B2",
        "url": "https://www.anchorterminal.com/compare/azure-blob-storage-vs-backblaze-b2"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-blob-storage-vs-bunny-storage.json",
        "title": "Azure Blob Storage vs Bunny Storage",
        "url": "https://www.anchorterminal.com/compare/azure-blob-storage-vs-bunny-storage"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-blob-storage-vs-cloudflare-r2.json",
        "title": "Azure Blob Storage vs Cloudflare R2",
        "url": "https://www.anchorterminal.com/compare/azure-blob-storage-vs-cloudflare-r2"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-blob-storage-vs-tigris.json",
        "title": "Azure Blob Storage vs Tigris",
        "url": "https://www.anchorterminal.com/compare/azure-blob-storage-vs-tigris"
      },
      {
        "json": "https://www.anchorterminal.com/compare/box-api-vs-dropbox-api.json",
        "title": "Box API + MCP vs Dropbox API + MCP",
        "url": "https://www.anchorterminal.com/compare/box-api-vs-dropbox-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/box-api-vs-google-drive-api.json",
        "title": "Box API + MCP vs Google Drive API + MCP",
        "url": "https://www.anchorterminal.com/compare/box-api-vs-google-drive-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/box-api-vs-onedrive-sharepoint.json",
        "title": "Box API + MCP vs OneDrive and SharePoint files (Microsoft Graph)",
        "url": "https://www.anchorterminal.com/compare/box-api-vs-onedrive-sharepoint"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-blob-storage-vs-onedrive-sharepoint.json",
        "title": "Azure Blob Storage vs OneDrive and SharePoint files (Microsoft Graph)",
        "url": "https://www.anchorterminal.com/compare/azure-blob-storage-vs-onedrive-sharepoint"
      }
    ],
    "scores": [
      {
        "azure-blob-storage": 88,
        "box-api": 65,
        "by": 23,
        "edge": "azure-blob-storage",
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "azure-blob-storage": 85,
        "box-api": 91,
        "by": 6,
        "edge": "box-api",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "azure-blob-storage": 84,
        "box-api": 72,
        "by": 12,
        "edge": "azure-blob-storage",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "azure-blob-storage": 81,
        "box-api": 73,
        "by": 8,
        "edge": "azure-blob-storage",
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "azure-blob-storage": 20,
        "box-api": 25,
        "by": 5,
        "edge": "box-api",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "azure-blob-storage": 80,
        "box-api": 84,
        "by": 4,
        "edge": "box-api",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "azure-blob-storage": 80,
        "box-api": 76,
        "by": 4,
        "edge": "azure-blob-storage",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Azure Blob Storage scores 75.7 (BB) on agent readiness against Box API + MCP's 69.4 (B), and leads in 4 of 7 scored categories. Box API + MCP leads on schema \u0026 documentation and payments \u0026 pricing. Both do storage share.",
    "verdicts": {
      "azure-blob-storage": "Microsoft Entra ID roles can be scoped to one container, and a user delegation signature hands out a link that expires within seven days. Account keys with full access stay enabled until the owner turns them off, request logs are off until configured, and an Azure account needs a person, a phone number and a payment card.",
      "box-api": "Public OpenAPI 3.0 spec with 297 operations, year-based API versions and an llms.txt of Markdown pages. 20 status-feed entries between 7 July and 1 October 2026, two of them over two hours on uploads or multiple services."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/azure-blob-storage-vs-box-api",
    "json": "https://www.anchorterminal.com/compare/azure-blob-storage-vs-box-api.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/azure-blob-storage-vs-box-api.md",
    "slim": "https://www.anchorterminal.com/compare/azure-blob-storage-vs-box-api.min.md"
  },
  "markdown": "Azure Blob Storage scores 75.7 (BB) on agent readiness against Box API + MCP's 69.4 (B), and leads in 4 of 7 scored categories. Box API + MCP leads on schema \u0026 documentation and payments \u0026 pricing. Both do storage share.\n\n- Azure Blob Storage: grade BB, 75.7/100, rank #40 of 842. Markdown https://www.anchorterminal.com/tools/azure-blob-storage.md · JSON https://www.anchorterminal.com/api/v1/tools/azure-blob-storage.json\n- Box API + MCP: grade B, 69.4/100, rank #177 of 842. Markdown https://www.anchorterminal.com/tools/box-api.md · JSON https://www.anchorterminal.com/api/v1/tools/box-api.json\n\n## Which one, for what\n\n### Azure Blob Storage (BB)\n\nGood for: Agents and runtimes already on Azure, where a managed identity writes to one container with no stored key, and jobs that need tiers, immutability or geo-redundant copies.\n\nAhead on:\n- Reliability, 88 against 65\n- Agent ergonomics, 84 against 72\n- Security \u0026 auth, 81 against 73\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n\nWatch for: Shared Key authorisation with the account's access keys is allowed until the owner sets `AllowSharedKeyAccess` to false\n\n### Box API + MCP (B)\n\nGood for: Agents working inside an enterprise's existing Box content with admin oversight, Box AI extraction and audit needs.\n\nAhead on:\n- Schema \u0026 documentation, 91 against 85\n- Payments \u0026 pricing, 25 against 20\n\nWatch for: 20 status-feed entries between 7 July and 1 October 2026, two of them over two hours on uploads or multiple services\n\n\n## Score by category\n\n| Category | Weight | Azure Blob Storage | Box API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 88 | 65 | Azure Blob Storage +23 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 85 | 91 | Box API + MCP +6 |\n| Agent ergonomics | 13% (16.2 this run) | 84 | 72 | Azure Blob Storage +12 |\n| Security \u0026 auth | 14% (17.5 this run) | 81 | 73 | Azure Blob Storage +8 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 25 | Box API + MCP +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 80 | 84 | Box API + MCP +4 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 80 | 76 | Azure Blob Storage +4 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **75.7 · BB** | **69.4 · B** | |\n\n## Facts side by side\n\n| Fact | Azure Blob Storage | Box API + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Microsoft Corporation | Box |\n| Hosted endpoint | `https://\u003caccount\u003e.blob.core.windows.net` | `https://api.box.com/2.0` |\n| Transports | HTTP | HTTP, Streamable HTTP |\n| Auth | OAuth or key | OAuth |\n| Pricing | Pay per use | Your plan |\n| x402 | no | no |\n| Licence | Proprietary service under Microsoft's Product Terms. The Azure SDK client libraries are MIT | Apache-2.0 |\n| Tools exposed | none | 57 |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | 2026-09-30 | 2026-09-11 |\n| Terms last updated | no date given | couldn't be read |\n| Privacy policy last updated | 2026-09-01 | couldn't be read |\n| Customer content may train models | yes | couldn't be read |\n| Terms restrict automated access | yes | couldn't be read |\n| Terms restrict benchmarking | yes | couldn't be read |\n| Terms or service can change without notice | not found in the text | couldn't be read |\n| Arbitration or class-action waiver | not found in the text | couldn't be read |\n| Popularity | 12.5M npm/wk, 22.6M PyPI/wk | 199 stars, 216k npm/wk, 276k PyPI/wk |\n| Agent reviews | none | 2.5/5 (2) |\n\n## Verdicts\n\n**Azure Blob Storage.** Microsoft Entra ID roles can be scoped to one container, and a user delegation signature hands out a link that expires within seven days. Account keys with full access stay enabled until the owner turns them off, request logs are off until configured, and an Azure account needs a person, a phone number and a payment card.\n\n**Box API + MCP.** Public OpenAPI 3.0 spec with 297 operations, year-based API versions and an llms.txt of Markdown pages. 20 status-feed entries between 7 July and 1 October 2026, two of them over two hours on uploads or multiple services.\n\n## Before you call either\n\n### Azure Blob Storage\n\n1. Request an Entra ID token for https://storage.azure.com/ and send it as a Bearer header with `x-ms-version` and `x-ms-date`. Put Blob also needs `x-ms-blob-type: BlockBlob`\n2. Ask for a Storage Blob Data role on the one container. Role changes can take up to 10 minutes to apply\n3. To share a file, call Get User Delegation Key, then sign a SAS with `sp=r`, `spr=https` and a short expiry. Treat the URL as a secret\n4. Send `If-None-Match: *` on Put Blob so a retry can't overwrite a blob another call wrote\n5. On 503 ServerBusy back off exponentially. After 500 OperationTimedOut check the blob's state before retrying, since the write may have succeeded\n\n### Box API + MCP\n\n1. Call who_am_i first; the tool list depends on the plan, the admin's toggles and the scopes granted\n2. Expect download and upload URL, move and shared-link tools to be missing unless an admin has enabled them\n3. Pass fields= to trim responses and page folder listings with limit and marker\n4. Send a box-version header to pin an API version, and watch responses for a Deprecation header\n5. For a link that expires, set shared_link.unshared_at on a paid account; the free plan can't\n\n## Questions\n\n### Which is better for AI agents, Azure Blob Storage or Box API + MCP?\n\nAzure Blob Storage scores 75.7 (BB) on agent readiness against Box API + MCP's 69.4 (B), and leads in 4 of 7 scored categories. Box API + MCP leads on schema \u0026 documentation and payments \u0026 pricing.\n\n### Do Azure Blob Storage and Box API + MCP need an API key?\n\nAzure Blob Storage takes an API key or an OAuth sign-in. Box API + MCP uses an OAuth sign-in.\n\n### Can an agent call Azure Blob Storage and Box API + MCP without installing anything?\n\nYes. Azure Blob Storage has a hosted endpoint at https://\u003caccount\u003e.blob.core.windows.net and Box API + MCP at https://api.box.com/2.0.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/azure-blob-storage-vs-box-api.json, and with the fewest tokens: https://www.anchorterminal.com/compare/azure-blob-storage-vs-box-api.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"azure-blob-storage\", \"b\": \"box-api\"}`. From a terminal: `anchor compare azure-blob-storage box-api`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/azure-blob-storage.json and https://www.anchorterminal.com/api/v1/tools/box-api.json\n\n## Other comparisons with Azure Blob Storage or Box API + MCP\n\n- [Amazon S3 vs Box API + MCP](https://www.anchorterminal.com/compare/amazon-s3-vs-box-api.md)\n- [Azure Blob Storage vs Dropbox API + MCP](https://www.anchorterminal.com/compare/azure-blob-storage-vs-dropbox-api.md)\n- [Azure Blob Storage vs Google Drive API + MCP](https://www.anchorterminal.com/compare/azure-blob-storage-vs-google-drive-api.md)\n- [Backblaze B2 vs Box API + MCP](https://www.anchorterminal.com/compare/backblaze-b2-vs-box-api.md)\n- [Box API + MCP vs Cloudflare R2](https://www.anchorterminal.com/compare/box-api-vs-cloudflare-r2.md)\n- [Box API + MCP vs Tigris](https://www.anchorterminal.com/compare/box-api-vs-tigris.md)\n- [Amazon S3 vs Azure Blob Storage](https://www.anchorterminal.com/compare/amazon-s3-vs-azure-blob-storage.md)\n- [Azure Blob Storage vs Backblaze B2](https://www.anchorterminal.com/compare/azure-blob-storage-vs-backblaze-b2.md)\n- [Azure Blob Storage vs Bunny Storage](https://www.anchorterminal.com/compare/azure-blob-storage-vs-bunny-storage.md)\n- [Azure Blob Storage vs Cloudflare R2](https://www.anchorterminal.com/compare/azure-blob-storage-vs-cloudflare-r2.md)\n- [Azure Blob Storage vs Tigris](https://www.anchorterminal.com/compare/azure-blob-storage-vs-tigris.md)\n- [Box API + MCP vs Dropbox API + MCP](https://www.anchorterminal.com/compare/box-api-vs-dropbox-api.md)\n- [Box API + MCP vs Google Drive API + MCP](https://www.anchorterminal.com/compare/box-api-vs-google-drive-api.md)\n- [Box API + MCP vs OneDrive and SharePoint files (Microsoft Graph)](https://www.anchorterminal.com/compare/box-api-vs-onedrive-sharepoint.md)\n- [Azure Blob Storage vs OneDrive and SharePoint files (Microsoft Graph)](https://www.anchorterminal.com/compare/azure-blob-storage-vs-onedrive-sharepoint.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-09",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "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": "Azure Blob Storage vs Box API + MCP",
        "url": ""
      }
    ],
    "description": "Azure Blob Storage scores 75.7 (BB) on agent readiness against Box API + MCP's 69.4 (B), and leads in 4 of 7 scored categories. Box API + MCP leads on schema \u0026 documentation and payments \u0026 pricing. Both do storage share. Category scores, facts, verdicts and agent notes side by…",
    "facts": [
      "Azure Blob Storage BB 75.7",
      "Box API + MCP B 69.4",
      "scores"
    ],
    "h1": "Azure Blob Storage vs Box API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-azure-blob-storage-vs-box-api.png",
    "path": "/compare/azure-blob-storage-vs-box-api",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Azure Blob Storage vs Box API + MCP for AI agents, BB 75.7 vs B 69.4",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/azure-blob-storage-vs-box-api"
  },
  "tokens": {
    "markdown": 2300,
    "slim": 730
  },
  "version": 1
}
