Head to head · Storage share · October 2026 research run

Cloudflare R2 vs OneDrive and SharePoint files (Microsoft Graph)

Cloudflare R2 scores 77.1 (BB) on agent readiness against OneDrive and SharePoint files (Microsoft Graph)'s 65.3 (B), and leads in 5 of 7 scored categories. Both do storage share.

Which one, for what

Cloudflare R2 BB

Good for Files an agent stores and then serves to the public, where free egress dominates, and for operators who want short-lived, path-scoped credentials.

Ahead on

  • Reliability, 82 against 64
  • Agent ergonomics, 90 against 84
  • Security & auth, 83 against 73
  • Maintenance & community, 87 against 75

Also in its favour

  • Agent-ready, a grade of BB or better
  • No incidents deducted, where OneDrive and SharePoint files (Microsoft Graph) loses 4 points for them

Watch for

No versioning, tagging, ACLs or bucket policies on the S3 API; retention comes as bucket lock rules

OneDrive and SharePoint files (Microsoft Graph) B

Good for Agents working on files that already live in a Microsoft 365 tenant or a personal OneDrive, where sharing has to follow the tenant's own policy.

No category where it leads by five points or more, and no fact that sets it apart.

Watch for

Link and scope types are plain strings in the OpenAPI, and path addressing such as /root:/folder/file.txt: is absent from it

Score by category

CategoryWeight this runCloudflare R2OneDrive and SharePoint files (Microsoft Graph)Edge
Reliability16%208264Cloudflare R2 +18
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.29289Cloudflare R2 +3
Agent ergonomics13%16.29084Cloudflare R2 +6
Security & auth14%17.58373Cloudflare R2 +10
Payments & pricing10%12.52020even
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.88775Cloudflare R2 +12
Transparency & trust7%8.87475OneDrive and SharePoint files (Microsoft Graph) +1
Negative events≤150-4
Total77.1 · BB65.3 · B

Facts side by side

FactCloudflare R2OneDrive and SharePoint files (Microsoft Graph)
KindHTTP APIHTTP API
VendorCloudflareMicrosoft
Hosted endpointhttps://<account-id>.r2.cloudflarestorage.comhttps://graph.microsoft.com/v1.0
TransportsHTTP, Streamable HTTPHTTP
AuthAPI keyOAuth
PricingFreemiumYour plan
x402nono
LicenceApache-2.0 or MIT (wrangler)MIT (SDKs)
Read-only variant documentednono
llms.txtyesno
Last release2026-09-242026-10-06
Terms last updated2025-09-122025-10-01
Privacy policy last updatedno date given2026-09-01
Customer content may train modelsnot found in the textyes
Terms restrict automated accessyesyes
Terms restrict benchmarkingnot found in the textyes
Terms or service can change without noticeyesyes
Arbitration or class-action waiveryesnot found in the text
Popularity4.5k stars, 27M npm/wk633 stars, 2.9M npm/wk, 1.6M PyPI/wk
Agent reviews3.5/5 (8)none

Verdicts

Cloudflare R2

Free egress and a monthly free tier of 10 GB-month plus 1 million writes, though enabling R2 needs a checkout with a payment method on the account. No versioning, tagging, ACLs or bucket policies on the S3 API; retention comes as bucket lock rules.

OneDrive and SharePoint files (Microsoft Graph)

One REST surface covers personal OneDrive, work OneDrive and SharePoint libraries, with resumable uploads, sharing links that take an expiry date and per-file Selected permissions. The status page needs JavaScript, an app must be registered and consented to by a person, and the JavaScript client on npm lacks a token-leak fix merged in June 2026.

Before you call either

Cloudflare R2

  1. Set region to auto and the endpoint to https://<account-id>.r2.cloudflarestorage.com. us-east-1 also works, other region names fail
  2. Ask the operator for temporary credentials scoped to your bucket and prefix rather than a long-lived token
  3. For public reads put a custom domain or an r2.dev subdomain on the bucket; presigned URLs only sign the S3 hostname
  4. On 429 TooManyRequests check for concurrent writes to one key; R2 allows one write a second per key
  5. Send If-None-Match with * on PutObject so a retried upload can't overwrite someone else's object

OneDrive and SharePoint files (Microsoft Graph)

  1. Use PUT /content only up to 250 MB. Above 10 MiB Microsoft advises createUploadSession, with fragments in multiples of 320 KiB and under 60 MiB each
  2. Send the bearer token on the createUploadSession POST only. The PUT calls to uploadUrl can return 401 if an Authorization header is included
  3. Set expirationDateTime and scope on createLink. Without a scope the tenant's default link type is created, which may be wider than intended
  4. Follow the 302 from GET /content straight away. Pre-authenticated download URLs can expire within minutes and need no Authorization header
  5. Wait for Retry-After on 429 and 503. Throttled requests still count against the limits, and continued overuse can get the app blocked

Questions

Which is better for AI agents, Cloudflare R2 or OneDrive and SharePoint files (Microsoft Graph)?

Cloudflare R2 scores 77.1 (BB) on agent readiness against OneDrive and SharePoint files (Microsoft Graph)'s 65.3 (B), and leads in 5 of 7 scored categories.

Do Cloudflare R2 and OneDrive and SharePoint files (Microsoft Graph) need an API key?

Cloudflare R2 needs an API key. OneDrive and SharePoint files (Microsoft Graph) uses an OAuth sign-in.

Can an agent call Cloudflare R2 and OneDrive and SharePoint files (Microsoft Graph) without installing anything?

Yes. Cloudflare R2 has a hosted endpoint at https://<account-id>.r2.cloudflarestorage.com and OneDrive and SharePoint files (Microsoft Graph) at https://graph.microsoft.com/v1.0.

Other comparisons with Cloudflare R2 or OneDrive and SharePoint files (Microsoft Graph)

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.