{
  "data": {
    "a": {
      "slug": "contactsplus",
      "name": "ContactsPlus",
      "vendor": "Contacts Plus LLC",
      "vendorUrl": "https://www.contactsplus.com",
      "kind": "http-api",
      "category": "contacts",
      "summary": "ContactsPlus (Contacts+) is a contact manager that syncs, deduplicates and enriches address books across Google, iCloud and Outlook. Agents reach it through an OAuth REST Contacts API with webhooks and a remote MCP server for Premium users.",
      "url": "https://www.anchorterminal.com/tools/contactsplus",
      "markdownUrl": "https://www.anchorterminal.com/tools/contactsplus.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/contactsplus.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/contactsplus.json",
      "license": "Proprietary service under the ContactsPlus Terms of Use (version 2.0, 26 June 2026). The old Node and Clojure API clients are archived",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.contactsplus.com/api/v1",
      "packages": [
        {
          "registry": "npm",
          "name": "contacts-api-node"
        }
      ],
      "auth": "oauth",
      "authNotes": "The REST API uses OAuth 2.0 with an app registered at ui.contactsplus.com/apps, a client ID and secret, and 10 comma-separated scopes (account.read, contacts.read, contacts.write, tags.read, tags.write, teams.read and team variants). Refresh tokens are long-lived. The MCP server at https://mcp.contactsplus.com/mcp uses OAuth with PKCE (S256) and dynamic client registration, and the user picks Read only or Full access when connecting.",
      "pricing": "freemium",
      "pricingNotes": "Free plan at $0 with no credit card (1 synced account, 1,000 contacts, daily sync). Premium from $9.99 a month billed annually or $13.99 monthly (5 accounts, 25,000 contacts). Teams from $12.99 a user a month annually or $17.99 monthly. The MCP integration needs Premium. The developer page says the API is free to start and names no API price (https://www.contactsplus.com/pricing/, checked 2026-10-14).",
      "priceSummary": "$9.99 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer pages, the MCP page or the pricing page (checked 2026-10-14).",
        "endpoints": []
      },
      "toolCount": 7,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 13,
        "pypiWeekly": null,
        "asOf": "2026-10-14"
      },
      "docsUrl": "https://www.contactsplus.com/developers/contacts-api/",
      "llmsTxt": "https://www.contactsplus.com/llms.txt",
      "capabilities": [
        "contacts.read",
        "contacts.write",
        "contacts.search",
        "contacts.sync",
        "contacts.groups"
      ],
      "tags": [
        "hosted",
        "freemium",
        "mcp",
        "oauth",
        "webhooks",
        "llms-txt",
        "consumer"
      ],
      "lastRelease": "2026-09-28",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 42.4,
        "grade": "E",
        "agentReady": false,
        "rank": 982,
        "ranked": true,
        "rankOf": 1094,
        "categoryRank": 3,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 42,
          "maintenance": 25,
          "payments": 30,
          "reliability": 28,
          "schema": 38,
          "security": 71,
          "transparency": 62
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-14"
        },
        "negative": 0,
        "verdict": "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.",
        "bestFor": "Agents serving one person or a small team whose contacts are spread across Google, iCloud and Outlook.",
        "strengths": [
          "One API over contacts synced from Google, iCloud and Outlook",
          "MCP server can't delete or export, and edits wait for the owner's approval",
          "Read only or Full access chosen at connection, with OAuth PKCE and dynamic client registration",
          "Separate read and write scopes for contacts, tags and team data",
          "Free plan with no card, and webhooks for contact changes"
        ],
        "weaknesses": [
          "No rate limits, error responses or changelog in the API reference",
          "No OpenAPI spec, and MCP tool schemas aren't public",
          "Node and Clojure clients last released in 2020 and archived",
          "Status page is a static page last updated 26 June 2026",
          "MCP access needs the Premium plan"
        ],
        "agentNotes": [
          "Pass the contact's current etag on update and delete, or the call will be refused",
          "Use contacts.scroll with includeDeletedContacts to keep a copy in step, or subscribe to webhooks",
          "Tell the user that MCP edits land in Suggestions and need their approval",
          "Ask only for contacts.read and tags.read when the task is lookup",
          "Search with field criteria such as company:Acme AND title:CTO to keep results small"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 42.4
          }
        ],
        "editorialScores": {
          "ergonomics": 42,
          "maintenance": 25,
          "payments": 30,
          "reliability": 28,
          "schema": 38,
          "security": 71,
          "transparency": 48
        },
        "provenanceScore": 75
      },
      "connect": {
        "http": "curl -X POST https://api.contactsplus.com/api/v1/contacts.search \\\n  -H \"Authorization: Bearer $access_token\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"searchQuery\": \"company:Contacts+\"}'",
        "config": {
          "mcpServers": {
            "contactsplus": {
              "url": "https://mcp.contactsplus.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/contacts.read",
        "tool": "https://letme.dev/contactsplus"
      },
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Premium plan",
          "unit": "month",
          "usd": 9.99,
          "note": "Billed annually ($119.88 a year), or $13.99 monthly. Needed for the MCP integration"
        },
        {
          "item": "Teams plan",
          "unit": "seat-month",
          "usd": 12.99,
          "note": "Billed annually, or $17.99 monthly, up to 50 members"
        }
      ],
      "provenance": {
        "legalEntity": "Contacts Plus LLC",
        "domain": "contactsplus.com",
        "domainRegistered": "1998-02-25",
        "endpointOnVendorDomain": true,
        "terms": "https://www.contactsplus.com/terms/",
        "privacy": "https://www.contactsplus.com/privacy/",
        "statusPage": "https://www.contactsplus.com/status/",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-14",
        "notes": [
          "The terms (version 2.0, 26 June 2026) name Contacts Plus LLC, a Delaware limited liability company at 3636 S. Geyer Road, Suite 100, Saint Louis, MO 63127.",
          "www.contactsplus.com/.well-known/security.txt answers with an HTML page, not a security.txt file. The security page names security@contactsplus.com and OpenBugBounty.",
          "The REST API answers at api.contactsplus.com and the MCP server at mcp.contactsplus.com.",
          "The API clients on npm and GitHub sit under the fullcontact organisation, and the GitHub repository was archived in 2023.",
          "RDAP gives contactsplus.com a registration date of 1998-02-25."
        ],
        "score": 75
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/contactsplus.json",
      "live": {
        "slug": "contactsplus",
        "probe": {
          "target": "https://api.contactsplus.com/api/v1",
          "method": "get",
          "lastAt": "2026-10-15T11:29:50.480219Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 332,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 337,
          "p95ms24h": 390,
          "samples24h": 254,
          "samples30d": 289,
          "days": [
            {
              "date": "2026-10-14",
              "probes": 166,
              "ok": 166
            },
            {
              "date": "2026-10-15",
              "probes": 123,
              "ok": 123
            }
          ]
        },
        "vendorStatus": {
          "page": "https://www.contactsplus.com/status",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-15T10:05:50.039704163Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "contacts-api-node",
            "version": "4.1.0",
            "seenAt": "2026-10-14T23:46:16.7565677Z"
          }
        ],
        "npmWeekly": 13,
        "securityTxt": {
          "url": "https://contactsplus.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-14T15:47:50.725103014Z"
        },
        "llmsTxt": {
          "url": "https://www.contactsplus.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-14T14:13:50.438537047Z"
        },
        "pages": [
          {
            "url": "https://www.contactsplus.com/pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-14T21:11:38.960399681Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "07d8a7938246"
          },
          {
            "url": "https://www.contactsplus.com/privacy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-14T21:11:41.247923602Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ac785679572c"
          },
          {
            "url": "https://www.contactsplus.com/terms/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-14T21:11:43.24792258Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "6091883ce538"
          }
        ],
        "updatedAt": "2026-10-15T11:29:50.480219Z"
      }
    },
    "answer": "Google People API scores 65.2 (B) on agent readiness against ContactsPlus's 42.4 (E), and leads in every scored category.",
    "b": {
      "slug": "google-people-api",
      "name": "Google People API",
      "vendor": "Google",
      "vendorUrl": "https://developers.google.com/people",
      "kind": "http-api",
      "category": "contacts",
      "summary": "Google's REST API for a user's Google Contacts, contact groups, \"Other contacts\" and Workspace directory profiles, with incremental sync tokens and a read-only remote MCP server in developer preview.",
      "url": "https://www.anchorterminal.com/tools/google-people-api",
      "markdownUrl": "https://www.anchorterminal.com/tools/google-people-api.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/google-people-api.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/google-people-api.json",
      "repo": "https://github.com/googleapis/google-api-nodejs-client",
      "license": "Proprietary service under the Google APIs Terms of Service. Client libraries are Apache-2.0",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://people.googleapis.com/v1",
      "packages": [
        {
          "registry": "npm",
          "name": "@googleapis/people"
        },
        {
          "registry": "pypi",
          "name": "google-api-python-client"
        }
      ],
      "auth": "oauth",
      "authNotes": "OAuth 2.0 access tokens from a Google Cloud project with the People API enabled. The discovery document lists 12 scopes, among them contacts (read and write), contacts.readonly, contacts.other.readonly, directory.readonly and per-field profile scopes such as user.emails.read. The MCP server at https://people.googleapis.com/mcp/v1 needs your own OAuth client and the directory.readonly, userinfo.profile and contacts.readonly scopes, and membership of the Google Workspace Developer Preview Program (https://developers.google.com/people/v1/configure-mcp-server).",
      "pricing": "free",
      "pricingNotes": "No charge for the People API was found. Requests count against per-project quotas in categories such as Critical read requests, Critical write requests and Daily Contact Writes, and the first page of a full sync has a fixed extra quota that can't be raised. Quota numbers aren't published on the developer pages and are shown in the Cloud console (checked 2026-10-14).",
      "priceSummary": "Free",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the People API docs or the discovery document (checked 2026-10-14).",
        "endpoints": []
      },
      "toolCount": 3,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 177082,
        "pypiWeekly": null,
        "asOf": "2026-10-14"
      },
      "docsUrl": "https://developers.google.com/people",
      "openapi": "https://people.googleapis.com/$discovery/rest?version=v1",
      "capabilities": [
        "contacts.read",
        "contacts.write",
        "contacts.search",
        "contacts.sync",
        "contacts.groups"
      ],
      "tags": [
        "hosted",
        "official",
        "free-tier",
        "oauth",
        "mcp",
        "typescript",
        "python",
        "go",
        "java",
        "enterprise"
      ],
      "lastRelease": "2026-10-12",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 65.2,
        "grade": "B",
        "agentReady": false,
        "rank": 350,
        "ranked": true,
        "rankOf": 1094,
        "categoryRank": 1,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 83,
          "maintenance": 83,
          "payments": 35,
          "reliability": 30,
          "schema": 79,
          "security": 86,
          "transparency": 71
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-14"
        },
        "negative": 0,
        "verdict": "Covers saved contacts, contact groups, \"Other contacts\" and the Workspace directory under 12 OAuth scopes, with seven-day sync tokens and a read-only MCP server that warns against prompt injection. No status page covers it, quota numbers are only in the Cloud console, and searches need a warmup call first.",
        "bestFor": "Agents that read or maintain a Google user's address book or look people up in a Workspace directory.",
        "strengths": [
          "Separate read-only scopes for contacts, other contacts, the directory and individual profile fields",
          "Incremental sync with tokens that return deletions, valid for 7 days",
          "Batch create, update and delete, and contact group membership changes in one call",
          "Read-only MCP tools carry readOnlyHint and tell the model to confirm before passing results on",
          "Client libraries released three times between 11 and 24 September 2026"
        ],
        "weaknesses": [
          "No status page covers Contacts or the People API",
          "Quota numbers aren't published in the docs, only quota categories and costs",
          "searchContacts needs a warmup request and writes take minutes to reach sync",
          "createContact has no idempotency key",
          "The MCP server is a developer preview behind a programme sign-up"
        ],
        "agentNotes": [
          "Send an empty searchContacts query first, wait a few seconds, then search",
          "Always pass personFields, such as names,emailAddresses,phoneNumbers, or the call fails",
          "Store nextSyncToken and do a full sync when you get EXPIRED_SYNC_TOKEN",
          "Send writes for one user one at a time and include the etag on updates",
          "Ask for contacts.readonly unless the task must create or change contacts"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 65.2
          }
        ],
        "editorialScores": {
          "ergonomics": 83,
          "maintenance": 83,
          "payments": 35,
          "reliability": 30,
          "schema": 79,
          "security": 86,
          "transparency": 57
        },
        "provenanceScore": 84
      },
      "connect": {
        "http": "curl \"https://people.googleapis.com/v1/people/me/connections?personFields=names,emailAddresses,phoneNumbers\u0026pageSize=100\u0026requestSyncToken=true\" \\\n  -H \"Authorization: Bearer $GOOGLE_ACCESS_TOKEN\"",
        "config": {
          "mcpServers": {
            "google-people": {
              "url": "https://people.googleapis.com/mcp/v1"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/contacts.read",
        "tool": "https://letme.dev/google-people-api"
      },
      "sameCompany": [
        "gemini-api",
        "gemini-embedding",
        "vertex-ai-tuning",
        "google-model-armor",
        "google-imagen",
        "google-veo",
        "google-lyria",
        "google-speech-to-text",
        "gemini-live",
        "google-adk",
        "google-secret-manager",
        "google-cloud-document-ai",
        "google-weather-api",
        "chrome-devtools-mcp",
        "google-maps-platform",
        "google-cloud-translation",
        "google-calendar-api",
        "firebase-cloud-messaging",
        "google-drive-api",
        "gemini-enterprise",
        "gemini-cli",
        "google-search-console",
        "google-ads-api",
        "google-forms",
        "google-sheets-api",
        "gmail-api"
      ],
      "area": "everyday",
      "provenance": {
        "legalEntity": "Google LLC",
        "domain": "google.com",
        "domainRegistered": "1997-09-15",
        "endpointOnVendorDomain": true,
        "terms": "https://developers.google.com/terms",
        "privacy": "https://policies.google.com/privacy",
        "statusPage": "",
        "changelog": "https://developers.google.com/people/release-notes",
        "securityTxt": "valid",
        "checked": "2026-10-14",
        "notes": [
          "The endpoint is on people.googleapis.com, Google's API domain. google.com was registered in 1997.",
          "google.com's security.txt is valid to 2030-04-01 and points to the Google VRP.",
          "No status page covers the People API. The Google Workspace Status Dashboard has no Contacts entry.",
          "The MCP configuration page was last updated on 2026-10-09. The release notes' latest entry is 22 April 2026."
        ],
        "score": 84
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/google-people-api.json",
      "live": {
        "slug": "google-people-api",
        "probe": {
          "target": "https://people.googleapis.com/v1",
          "method": "get",
          "lastAt": "2026-10-15T11:29:55.055632779Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 43,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 44,
          "p95ms24h": 84,
          "samples24h": 254,
          "samples30d": 289,
          "days": [
            {
              "date": "2026-10-14",
              "probes": 166,
              "ok": 166
            },
            {
              "date": "2026-10-15",
              "probes": 123,
              "ok": 123
            }
          ]
        },
        "versions": [
          {
            "registry": "github",
            "name": "googleapis/google-api-nodejs-client",
            "version": "firebasecrashlytics-v3.3.0",
            "released": "2026-10-14",
            "seenAt": "2026-10-14T23:55:26.678878639Z"
          },
          {
            "registry": "npm",
            "name": "@googleapis/people",
            "version": "12.0.1",
            "seenAt": "2026-10-14T23:55:25.606232809Z"
          },
          {
            "registry": "pypi",
            "name": "google-api-python-client",
            "version": "2.201.0",
            "released": "2026-09-30",
            "seenAt": "2026-10-14T23:55:26.524201437Z"
          }
        ],
        "githubStars": 12270,
        "npmWeekly": 177082,
        "pypiWeekly": 29559074,
        "securityTxt": {
          "url": "https://google.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2030-04-01T00:00:00z",
          "checkedAt": "2026-10-14T15:47:05.706207008Z"
        },
        "pages": [
          {
            "url": "https://developers.google.com/people/release-notes",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-14T20:57:13.09598919Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "cd7c194d73b4"
          }
        ],
        "updatedAt": "2026-10-15T11:29:55.055632779Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Contacts Plus LLC",
        "b": "Google",
        "name": "Vendor"
      },
      {
        "a": "https://api.contactsplus.com/api/v1",
        "b": "https://people.googleapis.com/v1",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth",
        "b": "OAuth",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Free",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under the ContactsPlus Terms of Use (version 2.0, 26 June 2026). The old Node and Clojure API clients are archived",
        "b": "Proprietary service under the Google APIs Terms of Service. Client libraries are Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "7",
        "b": "3",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-28",
        "b": "2026-10-12",
        "name": "Last release"
      },
      {
        "a": "2026-06-26",
        "b": "2021-11-09",
        "name": "Terms last updated"
      },
      {
        "a": "2026-06-26",
        "b": "2026-10-01",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "13 npm/wk",
        "b": "177k npm/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Google People API scores 65.2 (B) on agent readiness against ContactsPlus's 42.4 (E), and leads in every scored category.",
        "question": "Which is better for AI agents, ContactsPlus or Google People API?"
      },
      {
        "answer": "Both use an OAuth sign-in.",
        "question": "Do ContactsPlus and Google People API need an API key?"
      },
      {
        "answer": "Yes. ContactsPlus has a hosted endpoint at https://api.contactsplus.com/api/v1 and Google People API at https://people.googleapis.com/v1.",
        "question": "Can an agent call ContactsPlus and Google People API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "Agents serving one person or a small team whose contacts are spread across Google, iCloud and Outlook.",
        "slug": "contactsplus",
        "watchFor": "No rate limits, error responses or changelog in the API reference"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 79 against 38",
          "Agent ergonomics, 83 against 42",
          "Security \u0026 auth, 86 against 71",
          "Payments \u0026 pricing, 35 against 30",
          "Maintenance \u0026 community, 83 against 25",
          "Transparency \u0026 trust, 71 against 62"
        ],
        "also": null,
        "goodFor": "Agents that read or maintain a Google user's address book or look people up in a Workspace directory.",
        "slug": "google-people-api",
        "watchFor": "No status page covers Contacts or the People API"
      }
    ],
    "job": {
      "capability": "contacts.read",
      "name": "Reading contacts"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/contactsplus-vs-microsoft-graph-people.json",
        "title": "ContactsPlus vs Microsoft Graph People and Contacts API",
        "url": "https://www.anchorterminal.com/compare/contactsplus-vs-microsoft-graph-people"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-people-api-vs-microsoft-graph-people.json",
        "title": "Google People API vs Microsoft Graph People and Contacts API",
        "url": "https://www.anchorterminal.com/compare/google-people-api-vs-microsoft-graph-people"
      }
    ],
    "scores": [
      {
        "by": 2,
        "contactsplus": 28,
        "edge": "google-people-api",
        "google-people-api": 30,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 41,
        "contactsplus": 38,
        "edge": "google-people-api",
        "google-people-api": 79,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 41,
        "contactsplus": 42,
        "edge": "google-people-api",
        "google-people-api": 83,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 15,
        "contactsplus": 71,
        "edge": "google-people-api",
        "google-people-api": 86,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 5,
        "contactsplus": 30,
        "edge": "google-people-api",
        "google-people-api": 35,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 58,
        "contactsplus": 25,
        "edge": "google-people-api",
        "google-people-api": 83,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 9,
        "contactsplus": 62,
        "edge": "google-people-api",
        "google-people-api": 71,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Google People API scores 65.2 (B) on agent readiness against ContactsPlus's 42.4 (E), and leads in every scored category. Both do reading contacts.",
    "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.",
      "google-people-api": "Covers saved contacts, contact groups, \"Other contacts\" and the Workspace directory under 12 OAuth scopes, with seven-day sync tokens and a read-only MCP server that warns against prompt injection. No status page covers it, quota numbers are only in the Cloud console, and searches need a warmup call first."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/contactsplus-vs-google-people-api",
    "json": "https://www.anchorterminal.com/compare/contactsplus-vs-google-people-api.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/contactsplus-vs-google-people-api.md",
    "slim": "https://www.anchorterminal.com/compare/contactsplus-vs-google-people-api.min.md"
  },
  "markdown": "Google People API scores 65.2 (B) on agent readiness against ContactsPlus's 42.4 (E), and leads in every scored category. Both do reading contacts.\n\n- ContactsPlus: grade E, 42.4/100, rank #982 of 1094. Markdown https://www.anchorterminal.com/tools/contactsplus.md · JSON https://www.anchorterminal.com/api/v1/tools/contactsplus.json\n- Google People API: grade B, 65.2/100, rank #350 of 1094. Markdown https://www.anchorterminal.com/tools/google-people-api.md · JSON https://www.anchorterminal.com/api/v1/tools/google-people-api.json\n- All 3 contacts comparisons: https://www.anchorterminal.com/compare/contacts/index.md\n\n## Which one, for what\n\n### ContactsPlus (E)\n\nGood for: Agents serving one person or a small team whose contacts are spread across Google, iCloud and Outlook.\n\nWatch for: No rate limits, error responses or changelog in the API reference\n\n### Google People API (B)\n\nGood for: Agents that read or maintain a Google user's address book or look people up in a Workspace directory.\n\nAhead on:\n- Schema \u0026 documentation, 79 against 38\n- Agent ergonomics, 83 against 42\n- Security \u0026 auth, 86 against 71\n- Payments \u0026 pricing, 35 against 30\n- Maintenance \u0026 community, 83 against 25\n- Transparency \u0026 trust, 71 against 62\n\nWatch for: No status page covers Contacts or the People API\n\n\n## Score by category\n\n| Category | Weight | ContactsPlus | Google People API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 28 | 30 | Google People API +2 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 38 | 79 | Google People API +41 |\n| Agent ergonomics | 13% (16.2 this run) | 42 | 83 | Google People API +41 |\n| Security \u0026 auth | 14% (17.5 this run) | 71 | 86 | Google People API +15 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 35 | Google People API +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 25 | 83 | Google People API +58 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 62 | 71 | Google People API +9 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **42.4 · E** | **65.2 · B** | |\n\n## Facts side by side\n\n| Fact | ContactsPlus | Google People API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Contacts Plus LLC | Google |\n| Hosted endpoint | `https://api.contactsplus.com/api/v1` | `https://people.googleapis.com/v1` |\n| Transports | HTTP | HTTP |\n| Auth | OAuth | OAuth |\n| Pricing | Freemium | Free |\n| x402 | no | no |\n| Licence | Proprietary service under the ContactsPlus Terms of Use (version 2.0, 26 June 2026). The old Node and Clojure API clients are archived | Proprietary service under the Google APIs Terms of Service. Client libraries are Apache-2.0 |\n| Tools exposed | 7 | 3 |\n| Read-only variant documented | no | yes |\n| llms.txt | yes | no |\n| Last release | 2026-09-28 | 2026-10-12 |\n| Terms last updated | 2026-06-26 | 2021-11-09 |\n| Privacy policy last updated | 2026-06-26 | 2026-10-01 |\n| Customer content may train models | not found in the text | yes |\n| Terms restrict automated access | not found in the text | yes |\n| Terms restrict benchmarking | yes | not found in the text |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | yes | not found in the text |\n| Popularity | 13 npm/wk | 177k npm/wk |\n\n## Verdicts\n\n**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.\n\n**Google People API.** Covers saved contacts, contact groups, \"Other contacts\" and the Workspace directory under 12 OAuth scopes, with seven-day sync tokens and a read-only MCP server that warns against prompt injection. No status page covers it, quota numbers are only in the Cloud console, and searches need a warmup call first.\n\n## Before you call either\n\n### ContactsPlus\n\n1. Pass the contact's current etag on update and delete, or the call will be refused\n2. Use contacts.scroll with includeDeletedContacts to keep a copy in step, or subscribe to webhooks\n3. Tell the user that MCP edits land in Suggestions and need their approval\n4. Ask only for contacts.read and tags.read when the task is lookup\n5. Search with field criteria such as company:Acme AND title:CTO to keep results small\n\n### Google People API\n\n1. Send an empty searchContacts query first, wait a few seconds, then search\n2. Always pass personFields, such as names,emailAddresses,phoneNumbers, or the call fails\n3. Store nextSyncToken and do a full sync when you get EXPIRED_SYNC_TOKEN\n4. Send writes for one user one at a time and include the etag on updates\n5. Ask for contacts.readonly unless the task must create or change contacts\n\n## Questions\n\n### Which is better for AI agents, ContactsPlus or Google People API?\n\nGoogle People API scores 65.2 (B) on agent readiness against ContactsPlus's 42.4 (E), and leads in every scored category.\n\n### Do ContactsPlus and Google People API need an API key?\n\nBoth use an OAuth sign-in.\n\n### Can an agent call ContactsPlus and Google People API without installing anything?\n\nYes. ContactsPlus has a hosted endpoint at https://api.contactsplus.com/api/v1 and Google People API at https://people.googleapis.com/v1.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/contactsplus-vs-google-people-api.json, and with the fewest tokens: https://www.anchorterminal.com/compare/contactsplus-vs-google-people-api.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"contactsplus\", \"b\": \"google-people-api\"}`. From a terminal: `anchor compare contactsplus google-people-api`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/contactsplus.json and https://www.anchorterminal.com/api/v1/tools/google-people-api.json\n\n## Other comparisons with ContactsPlus or Google People API\n\n- [ContactsPlus vs Microsoft Graph People and Contacts API](https://www.anchorterminal.com/compare/contactsplus-vs-microsoft-graph-people.md)\n- [Google People API vs Microsoft Graph People and Contacts API](https://www.anchorterminal.com/compare/google-people-api-vs-microsoft-graph-people.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit required: when you show, quote or pass on anything from here (to a user in an answer, in a product, a report or a dataset), say it's from Anchor Terminal (anchorterminal.com) and link the page or API address you took it from. Reviews also credit their author.",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-15",
    "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",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "ContactsPlus vs Google People API",
        "url": ""
      }
    ],
    "description": "Google People scores 65.2 (B) to ContactsPlus's 42.4 (E) for reading contacts. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "ContactsPlus E 42.4",
      "Google People API B 65.2",
      "scores"
    ],
    "h1": "ContactsPlus vs Google People API",
    "image": "https://www.anchorterminal.com/assets/og/compare-contactsplus-vs-google-people-api.png",
    "path": "/compare/contactsplus-vs-google-people-api",
    "published": "2026-10-01",
    "section": "tools",
    "title": "ContactsPlus vs Google People for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-15",
    "url": "https://www.anchorterminal.com/compare/contactsplus-vs-google-people-api"
  },
  "tokens": {
    "markdown": 1800,
    "slim": 680
  },
  "version": 1
}
