# Microsoft Excel (Microsoft Graph workbook API) (slim) > Workbook endpoints of Microsoft Graph for Excel files stored in OneDrive for work or school and SharePoint. Calls read and write ranges, tables, charts and named items, and run Excel worksheet functions on a file in place. - Full: https://www.anchorterminal.com/tools/microsoft-excel-graph.md (~8,600 tokens) · this version ~1,580 tokens · JSON https://www.anchorterminal.com/tools/microsoft-excel-graph.json · canonical https://www.anchorterminal.com/tools/microsoft-excel-graph - Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · Updated: 2026-10-08 **C · 58.5/100 · rank #399 of 629 · #7 in Spreadsheets & operational tables · not agent-ready · confidence medium** Assessment: Ranges, tables, charts and 366 worksheet function endpoints are reachable over REST with a public OpenAPI, and a non-persistent session lets an agent test changes without saving them. The reference pages list delegated permissions only, with Files.ReadWrite as the least privileged scope, and writes take no idempotency key. ## Facts - Kind: HTTP API · vendor: Microsoft · category: Spreadsheets & operational tables · legal entity: Microsoft Corporation · provenance 85/100 - Endpoint: `https://graph.microsoft.com/v1.0` (HTTP) - Auth: OAuth · pricing: Your plan · x402: no · licence: MIT (SDKs) - Probe metrics: not measured yet (probes haven't run) - Free tier: No charge for workbook calls. The file's home (OneDrive for work or school, or SharePoint) needs a Microsoft 365 licence - Files: .xlsx only, in OneDrive for work or school, SharePoint sites and group drives. The overview says consumer OneDrive isn't supported - Sessions: Persistent, non-persistent (`persistChanges: false`) or sessionless. Idle expiry after about 5 minutes (persistent) or 7 (non-persistent) - Rate limits: 5,000 requests per 10 seconds per app across all tenants, 1,500 per app per tenant, global 130,000 per 10 seconds per app - Size limits: A range read above 5,000,000 cells returns null properties. Excel on the web caps request and response payloads at 5 MB, per the Office add-ins limits page the error guide links to - Permissions: Delegated Files.ReadWrite on the reference pages, Files.Read for reads per the overview. Application permissions marked not supported - Long-running calls: `Prefer: respond-async` on createSession and row add returns 202 with a Location to poll, about every 30 seconds - Batching: Rows are added many at a time through one `values` array. Graph JSON batching takes up to 20 requests - Change events: driveItem notifications at drive root level only, no cell or range events found - SDKs: C#, Java, Go, PHP, Python (msgraph-sdk 1.64.0, 6 October 2026), PowerShell, CLI and JavaScript (npm 3.0.7 from September 2023) - National clouds: Global, US Government L4 and L5. Not available in China operated by 21Vianet - Scores: Reliability 62, Performance pending, Schema & documentation 85, Agent ergonomics 73, Security & auth 65, Payments & pricing 15, Task success pending, Maintenance & community 53, Transparency & trust 75 · negative events -4 · total over the 7 assessed categories - Why: Reliability, A public Microsoft service health page at status.cloud.microsoft. · Schema & documentation, OpenAPI 3.0.4 for all of Graph v1.0 in microsoftgraph/msgraph-metadata, with 1,442 workbook paths and 1,765 operations (25). · Agent ergonomics, A range is read by address, `$select` trims the properties returned and table rows take `$top` and `$skip`. · Security & auth, OAuth 2.0 through Entra ID with scoped, revocable consent. · Payments & pricing, No x402, MPP or L402 (0). · Maintenance & community, msgraph-sdk 1.64.0 reached PyPI on 6 October 2026, but the last Workbooks and charts entry in the Graph changelog is dated 19 September 2025… · Transparency & trust, Closed service under the Microsoft APIs terms of use, last updated October 2025, with MIT SDKs (15). - Sources: 29, open questions: 7, both in the full twin - Capabilities: sheets.read, sheets.write, sheets.tables, sheets.formulas - JSON: https://www.anchorterminal.com/api/v1/tools/microsoft-excel-graph.json - Verify (for the vendor): the badge `https://www.anchorterminal.com/badges/microsoft-excel-graph.svg` or a link to https://www.anchorterminal.com/tools/microsoft-excel-graph from a page on microsoft.com or one of its subdomains, or the README of github.com/microsoftgraph/msgraph-sdk-javascript, then `POST https://www.anchorterminal.com/api/v1/verify` `{"slug", "url"}` or `verify_listing` at /mcp; re-checked weekly, no effect on the grade. Snippets in the full twin. ## Before you call it 1. Create a session with POST /workbook/createSession and send `workbook-session-id` on every call. Persistent sessions expire after about 5 minutes idle 2. Set `persistChanges` to false when you only need a calculation or a chart image, so nothing is saved to the file 3. Send one request at a time per workbook and wait for each response. Microsoft warns that parallel writes cause throttling, timeouts and merge conflicts 4. Add rows in one call with a two-dimensional `values` array, and check the table before repeating a row add that returned 504 5. Read bounded addresses such as A1:D500. A whole-column range such as C:C returns null for values, and writes to it are refused ## Connect ```bash curl https://graph.microsoft.com/v1.0/me/drive/items/{id}/workbook/worksheets \ -H "Authorization: Bearer $MS_GRAPH_TOKEN" \ -H "workbook-session-id: $SESSION_ID" ``` Full config and headless snippets are in the full page. Through letme (picks today, calling later): https://letme.dev/microsoft-excel-graph ## Similar tools | Tool | Grade | Score | Shared capabilities | Slim | | --- | --- | --- | --- | --- | | Google Sheets API | BB | 76.3 | sheets.read, sheets.write, sheets.formulas, sheets.tables | https://www.anchorterminal.com/tools/google-sheets-api.min.md | | NocoDB | BB | 75.7 | sheets.read, sheets.write, sheets.tables, sheets.formulas | https://www.anchorterminal.com/tools/nocodb.min.md | | Airtable | BB | 70.9 | sheets.read, sheets.write, sheets.tables, sheets.formulas | https://www.anchorterminal.com/tools/airtable.min.md | | Coda (Superhuman Docs) | B | 64.8 | sheets.read, sheets.write, sheets.tables, sheets.formulas | https://www.anchorterminal.com/tools/coda.min.md | | Baserow | B | 63.6 | sheets.read, sheets.write, sheets.tables, sheets.formulas | https://www.anchorterminal.com/tools/baserow.min.md | ## Panel reviews (0, desk reviews from public material, no calls made)