# ContactsPlus vs Microsoft Graph People and Contacts API > Microsoft Graph People and Contacts scores 64.6 (B) to ContactsPlus's 42.4 (E) for reading contacts. Prices, MCP, x402, uptime and agent notes side by side. - Canonical: https://www.anchorterminal.com/compare/contactsplus-vs-microsoft-graph-people - Markdown: https://www.anchorterminal.com/compare/contactsplus-vs-microsoft-graph-people.md (~1,950 tokens) - Slim: https://www.anchorterminal.com/compare/contactsplus-vs-microsoft-graph-people.min.md (~730 tokens, same facts, less prose, for token-sensitive contexts) - JSON: https://www.anchorterminal.com/compare/contactsplus-vs-microsoft-graph-people.json (this page as data, same URL with Accept: application/json) - Site index for agents: https://www.anchorterminal.com/llms.txt (full text: https://www.anchorterminal.com/llms-full.txt) - API: https://www.anchorterminal.com/api/v1/index.json - Updated: 2026-10-14 Microsoft Graph People and Contacts API scores 64.6 (B) on agent readiness against ContactsPlus's 42.4 (E), and leads in every scored category. Both do reading contacts. - ContactsPlus: grade E, 42.4/100, rank #966 of 1076. Markdown https://www.anchorterminal.com/tools/contactsplus.md · JSON https://www.anchorterminal.com/api/v1/tools/contactsplus.json - Microsoft Graph People and Contacts API: grade B, 64.6/100, rank #369 of 1076. Markdown https://www.anchorterminal.com/tools/microsoft-graph-people.md · JSON https://www.anchorterminal.com/api/v1/tools/microsoft-graph-people.json - All 3 contacts comparisons: https://www.anchorterminal.com/compare/contacts/index.md ## Which one, for what ### ContactsPlus (E) Good for: Agents serving one person or a small team whose contacts are spread across Google, iCloud and Outlook. Also in its favour: - No incidents deducted, where Microsoft Graph People and Contacts API loses 4 points for them Watch for: No rate limits, error responses or changelog in the API reference ### Microsoft Graph People and Contacts API (B) Good for: Agents working in Microsoft 365 tenants or with Outlook.com address books, especially to find who a user works with. Ahead on: - Reliability, 60 against 28 - Schema & documentation, 83 against 38 - Agent ergonomics, 83 against 42 - Payments & pricing, 35 against 30 - Maintenance & community, 76 against 25 - Transparency & trust, 69 against 62 Watch for: No idempotency key on contact creation, so retries can duplicate ## Score by category | Category | Weight | ContactsPlus | Microsoft Graph People and Contacts API | Edge | | --- | --- | --- | --- | --- | | Reliability | 16% (20 this run) | 28 | 60 | Microsoft Graph People and Contacts API +32 | | Performance | 10%, pending | pending | pending | not scored in this run | | Schema & documentation | 13% (16.2 this run) | 38 | 83 | Microsoft Graph People and Contacts API +45 | | Agent ergonomics | 13% (16.2 this run) | 42 | 83 | Microsoft Graph People and Contacts API +41 | | Security & auth | 14% (17.5 this run) | 71 | 72 | Microsoft Graph People and Contacts API +1 | | Payments & pricing | 10% (12.5 this run) | 30 | 35 | Microsoft Graph People and Contacts API +5 | | Task success | 10%, pending | pending | pending | not scored in this run | | Maintenance & community | 7% (8.8 this run) | 25 | 76 | Microsoft Graph People and Contacts API +51 | | Transparency & trust | 7% (8.8 this run) | 62 | 69 | Microsoft Graph People and Contacts API +7 | | Negative events | ≤15 | 0 | -4 | | | **Total** | | **42.4 · E** | **64.6 · B** | | ## Facts side by side | Fact | ContactsPlus | Microsoft Graph People and Contacts API | | --- | --- | --- | | Kind | HTTP API | HTTP API | | Vendor | Contacts Plus LLC | Microsoft | | Hosted endpoint | `https://api.contactsplus.com/api/v1` | `https://graph.microsoft.com/v1.0` | | Transports | HTTP | HTTP | | Auth | OAuth | OAuth | | Pricing | Freemium | Your plan | | x402 | no | no | | Licence | Proprietary service under the ContactsPlus Terms of Use (version 2.0, 26 June 2026). The old Node and Clojure API clients are archived | MIT (SDKs) | | Tools exposed | 7 | none | | Read-only variant documented | no | yes | | llms.txt | yes | no | | Last release | 2026-09-28 | 2026-03-12 | | Terms last updated | 2026-06-26 | 2025-10-01 | | Privacy policy last updated | 2026-06-26 | 2026-09-01 | | Customer content may train models | not found in the text | yes | | Terms restrict automated access | not found in the text | yes | | Terms restrict benchmarking | yes | yes | | Terms or service can change without notice | not found in the text | yes | | Arbitration or class-action waiver | yes | not found in the text | | Popularity | 13 npm/wk | 834 stars, 2.3M npm/wk, 1.6M PyPI/wk | ## Verdicts **ContactsPlus.** An address book that already merges Google, iCloud and Outlook contacts, reachable through OAuth scopes split by read and write and an MCP server that cannot delete or export and holds edits for the owner's approval. The REST reference has no rate limits, error codes or changelog, and its client libraries were archived in 2023. **Microsoft Graph People and Contacts API.** Covers Outlook personal contacts with delta sync and a people API that ranks the people a user works with and supports fuzzy search, all under separate read and write permissions. Contact creates have no idempotency key, the status page needs JavaScript, and Microsoft has no current MCP server for contacts. ## Before you call either ### ContactsPlus 1. Pass the contact's current etag on update and delete, or the call will be refused 2. Use contacts.scroll with includeDeletedContacts to keep a copy in step, or subscribe to webhooks 3. Tell the user that MCP edits land in Suggestions and need their approval 4. Ask only for contacts.read and tags.read when the task is lookup 5. Search with field criteria such as company:Acme AND title:CTO to keep results small ### Microsoft Graph People and Contacts API 1. Use /me/people?$search= for fuzzy lookups and /me/contacts for the saved address book, since they return different sets 2. Keep the @odata.deltaLink from the contact delta function and call it on the next run 3. Check for an existing contact with $filter on emailAddresses before creating one 4. Honour Retry-After on 429 and keep to 4 parallel calls per mailbox 5. Ask for Contacts.Read and People.Read unless the task must change contacts ## Questions ### Which is better for AI agents, ContactsPlus or Microsoft Graph People and Contacts API? Microsoft Graph People and Contacts API scores 64.6 (B) on agent readiness against ContactsPlus's 42.4 (E), and leads in every scored category. ### Do ContactsPlus and Microsoft Graph People and Contacts API need an API key? Both use an OAuth sign-in. ### Can an agent call ContactsPlus and Microsoft Graph People and Contacts API without installing anything? Yes. ContactsPlus has a hosted endpoint at https://api.contactsplus.com/api/v1 and Microsoft Graph People and Contacts API at https://graph.microsoft.com/v1.0. ## For agents - This comparison as JSON: https://www.anchorterminal.com/compare/contactsplus-vs-microsoft-graph-people.json, and with the fewest tokens: https://www.anchorterminal.com/compare/contactsplus-vs-microsoft-graph-people.min.md - Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {"a": "contactsplus", "b": "microsoft-graph-people"}`. From a terminal: `anchor compare contactsplus microsoft-graph-people` - Each listing in full: https://www.anchorterminal.com/api/v1/tools/contactsplus.json and https://www.anchorterminal.com/api/v1/tools/microsoft-graph-people.json ## Other comparisons with ContactsPlus or Microsoft Graph People and Contacts API - [ContactsPlus vs Google People API](https://www.anchorterminal.com/compare/contactsplus-vs-google-people-api.md) - [Google People API vs Microsoft Graph People and Contacts API](https://www.anchorterminal.com/compare/google-people-api-vs-microsoft-graph-people.md)