{
  "data": {
    "a": {
      "slug": "google-maps-platform",
      "name": "Google Maps Platform + Grounding Lite MCP",
      "vendor": "Google",
      "vendorUrl": "https://mapsplatform.google.com",
      "kind": "http-api",
      "category": "maps",
      "summary": "Geocoding, Places API (New) for text, nearby and detail search, Routes for routes and matrices, Address Validation, static maps and map tiles.",
      "url": "https://www.anchorterminal.com/tools/google-maps-platform",
      "markdownUrl": "https://www.anchorterminal.com/tools/google-maps-platform.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/google-maps-platform.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/google-maps-platform.json",
      "repo": "https://github.com/googlemaps/google-maps-services-python",
      "license": "Apache-2.0 (client libraries)",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://maps.googleapis.com",
      "packages": [
        {
          "registry": "npm",
          "name": "@googlemaps/google-maps-services-js"
        },
        {
          "registry": "pypi",
          "name": "googlemaps"
        }
      ],
      "auth": "mixed",
      "authNotes": "An API key per Cloud project. The classic web services (Geocoding, Static Maps) take it as the key query parameter, Places API (New), Routes and Grounding Lite take it in the X-Goog-Api-Key header. Grounding Lite also accepts OAuth 2.0 with the maps-platform.mapstools scope.",
      "pricing": "usage",
      "pricingNotes": "Billed per 1,000 events with a free monthly cap on each SKU, 10,000 for Essentials, 5,000 for Pro and 1,000 for Enterprise SKUs. First-tier prices are Geocoding $5, Place Details Essentials $5, Pro $17 and Enterprise $20, Text Search Pro $32 and Enterprise $35, Nearby Search Pro $32, Autocomplete Requests $2.83, Address Validation Pro $17, Compute Routes and Route Matrix $5, $10 or $15 by tier, Static Maps $2, Dynamic Maps $7 and 2D Map Tiles $0.60. Text Search Essentials (IDs Only) is free with no cap. The Maps Grounding Lite SKU is $7 per 1,000 after 10,000 free, stepping down to $2.80 above 5 million (https://developers.google.com/maps/billing-and-pricing/pricing).",
      "priceSummary": "$5 / 1k req",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": 5,
      "popularity": {
        "githubStars": 5000,
        "npmWeekly": 1193020,
        "pypiWeekly": 747555,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://developers.google.com/maps/documentation",
      "capabilities": [
        "geo.geocode",
        "geo.reverse",
        "geo.places",
        "geo.routing",
        "geo.tiles"
      ],
      "tags": [
        "hosted",
        "mcp",
        "official",
        "oauth",
        "typescript",
        "python",
        "card-required",
        "enterprise",
        "closed-source"
      ],
      "lastRelease": "2026-08-06",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 68.5,
        "grade": "B",
        "agentReady": false,
        "rank": 123,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 3,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 85,
          "maintenance": 50,
          "payments": 20,
          "reliability": 85,
          "schema": 77,
          "security": 67,
          "transparency": 75
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Maps Grounding Lite is GA, hosted, and takes an X-Goog-Api-Key header or OAuth with the maps-platform.mapstools scope. A Cloud billing account with a payment method is required before the free caps apply.",
        "strengths": [
          "Maps Grounding Lite is GA, hosted, and takes an X-Goog-Api-Key header or OAuth with the maps-platform.mapstools scope",
          "A 99.9 per cent monthly SLA with credits up to 50 per cent",
          "Field masks size responses and pick the SKU, and Text Search Essentials (IDs Only) is free with no cap",
          "Keys can be limited to named APIs and server IPs, and OAuth works for server traffic",
          "A 12-month deprecation policy with a dated deprecations page"
        ],
        "weaknesses": [
          "A Cloud billing account with a payment method is required before the free caps apply",
          "Coordinates may be cached for 30 days at most and only shown on a Google map",
          "No llms.txt at developers.google.com/maps",
          "Classic Geocoding and Static Maps take the key in the URL",
          "Places and Grounding Lite return reviews and AI summaries with no prompt-injection guidance"
        ],
        "agentNotes": [
          "Send X-Goog-FieldMask on every Places (New) and Routes call, since a missing mask is an error and the fields you ask for set the SKU",
          "Resolve a name with Text Search and an IDs-only field mask (free), then fetch details for the one place you need",
          "Store place IDs, refetch details, and drop cached coordinates after 30 days",
          "Retry UNKNOWN_ERROR and OVER_QUERY_LIMIT with exponential backoff, and don't retry INVALID_REQUEST",
          "Put Google Maps attribution directly after any answer grounded in Grounding Lite results"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 68.5
          }
        ],
        "editorialScores": {
          "ergonomics": 85,
          "maintenance": 50,
          "payments": 20,
          "reliability": 85,
          "schema": 77,
          "security": 67,
          "transparency": 65
        },
        "provenanceScore": 85
      },
      "connect": {
        "http": "curl \"https://maps.googleapis.com/maps/api/geocode/json?address=10%20Downing%20Street%2C%20London\u0026key=$GOOGLE_MAPS_API_KEY\"",
        "claudeCode": "claude mcp add --transport http google-maps https://mapstools.googleapis.com/mcp --header \"X-Goog-Api-Key: $GOOGLE_MAPS_API_KEY\"",
        "config": {
          "mcpServers": {
            "google-maps": {
              "headers": {
                "X-Goog-Api-Key": "${GOOGLE_MAPS_API_KEY}"
              },
              "type": "http",
              "url": "https://mapstools.googleapis.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/geo.geocode",
        "tool": "https://letme.dev/google-maps-platform"
      },
      "sameCompany": [
        "gemini-api",
        "gemini-embedding",
        "vertex-ai-tuning",
        "google-model-armor",
        "google-imagen",
        "google-veo",
        "google-lyria",
        "google-speech-to-text",
        "google-adk",
        "google-secret-manager",
        "google-weather-api",
        "chrome-devtools-mcp",
        "google-cloud-translation",
        "google-calendar-api",
        "google-drive-api",
        "gemini-cli"
      ],
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Geocoding",
          "unit": "1k-requests",
          "usd": 5,
          "note": "10,000 free a month"
        },
        {
          "item": "Place Details Essentials",
          "unit": "1k-requests",
          "usd": 5,
          "note": "10,000 free a month"
        },
        {
          "item": "Place Details Pro",
          "unit": "1k-requests",
          "usd": 17,
          "note": "5,000 free a month"
        },
        {
          "item": "Text Search Pro",
          "unit": "1k-requests",
          "usd": 32,
          "note": "5,000 free a month"
        },
        {
          "item": "Autocomplete Requests",
          "unit": "1k-requests",
          "usd": 2.83,
          "note": "10,000 free a month"
        },
        {
          "item": "Compute Routes Essentials",
          "unit": "1k-requests",
          "usd": 5,
          "note": "Pro $10, Enterprise $15"
        },
        {
          "item": "Maps Grounding Lite",
          "unit": "1k-requests",
          "usd": 7,
          "note": "10,000 free a month, $2.80 above 5 million"
        },
        {
          "item": "2D Map Tiles",
          "unit": "1k-requests",
          "usd": 0.6,
          "note": "100,000 free a month"
        }
      ],
      "provenance": {
        "legalEntity": "Google LLC or a regional Google entity, by billing country",
        "domain": "google.com",
        "domainRegistered": "1997-09-15",
        "endpointOnVendorDomain": false,
        "terms": "https://cloud.google.com/maps-platform/terms",
        "privacy": "https://policies.google.com/privacy",
        "statusPage": "https://status.cloud.google.com/maps-platform/",
        "changelog": "https://developers.google.com/maps/documentation/places/web-service/release-notes",
        "securityTxt": "valid",
        "checked": "2026-09-30",
        "notes": [
          "The terms name the contracting party through Google's entity table, and Section 21 lists regional entities for Australia, India, Indonesia and Mexico among others.",
          "The API and MCP endpoints sit on googleapis.com, Google's API domain, not google.com.",
          "google.com/.well-known/security.txt lists security@google.com and expires 2030-04-01.",
          "The Maps Platform terms were last modified 26 August 2026 and the service terms 10 June 2026."
        ],
        "score": 85
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/google-maps-platform.json",
      "live": {
        "slug": "google-maps-platform",
        "probe": {
          "target": "https://maps.googleapis.com",
          "method": "get",
          "lastAt": "2026-10-05T04:05:27.947632444Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 402,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 494,
          "p95ms24h": 984,
          "samples24h": 273,
          "samples30d": 947,
          "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": 47,
              "ok": 47
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.cloud.google.com/maps-platform",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T21:40:05.913318971Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "googlemaps/google-maps-services-python",
            "version": "v4.10.0",
            "released": "2023-01-26",
            "seenAt": "2026-10-04T16:28:40.84537334Z"
          },
          {
            "registry": "npm",
            "name": "@googlemaps/google-maps-services-js",
            "version": "3.4.2",
            "seenAt": "2026-10-04T16:28:40.418204053Z"
          },
          {
            "registry": "pypi",
            "name": "googlemaps",
            "version": "4.10.0",
            "released": "2023-01-26",
            "seenAt": "2026-10-04T16:28:40.663056189Z"
          }
        ],
        "githubStars": 4981,
        "npmWeekly": 1210327,
        "pypiWeekly": 773659,
        "securityTxt": {
          "url": "https://google.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2030-04-01T00:00:00z",
          "checkedAt": "2026-10-04T15:15:53.387118101Z"
        },
        "domain": {
          "domain": "google.com",
          "registered": "1997-09-15",
          "source": "https://rdap.verisign.com/com/v1/domain/google.com",
          "checkedAt": "2026-10-04T13:05:50.737985829Z"
        },
        "pages": [
          {
            "url": "https://developers.google.com/maps/documentation/places/web-service/release-notes",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:42:53.389791399Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "fd6cce07e750"
          },
          {
            "url": "https://developers.google.com/maps/billing-and-pricing/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:42:50.88150349Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "b114dc62bf50"
          },
          {
            "url": "https://cloud.google.com/maps-platform/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:41:55.601480532Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "b64404e45856"
          }
        ],
        "updatedAt": "2026-10-05T04:05:27.947632444Z"
      }
    },
    "b": {
      "slug": "opencage",
      "name": "OpenCage Geocoding API",
      "vendor": "OpenCage",
      "vendorUrl": "https://opencagedata.com",
      "kind": "http-api",
      "category": "maps",
      "summary": "Forward and reverse geocoding on one endpoint, built on OpenStreetMap and other open data, with optional annotations and JSON, GeoJSON, XML or Google-compatible output.",
      "url": "https://www.anchorterminal.com/tools/opencage",
      "markdownUrl": "https://www.anchorterminal.com/tools/opencage.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/opencage.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/opencage.json",
      "repo": "https://github.com/OpenCageData/opencage-geocoding-mcp",
      "license": "MIT (MCP server)",
      "transports": [
        "http",
        "stdio"
      ],
      "remoteUrl": "https://api.opencagedata.com/geocode/v1/json",
      "packages": [
        {
          "registry": "npm",
          "name": "@opencage/mcp-opencage-server"
        },
        {
          "registry": "npm",
          "name": "opencage-api-client"
        },
        {
          "registry": "pypi",
          "name": "opencage"
        }
      ],
      "auth": "api-key",
      "authNotes": "A 32-character key passed as the key query parameter. No headers are needed. The MCP server reads OPENCAGE_API_KEY.",
      "pricing": "paid",
      "pricingNotes": "Free trial of 2,500 requests a day at 1 a second, for testing only, no card. Monthly subscriptions by daily volume. X-Small $50 (10,000 a day, 15 a second), Small $125 (30,000 a day), Medium $500 (125,000 a day), Large $1,000 (300,000 a day), Enterprise from $2,000. Also priced in GBP (£40 to £800) and eleven other currencies. One-time plans are usable for up to a year. Subscriptions have no hard limits (https://opencagedata.com/pricing, https://opencagedata.com/api.md).",
      "priceSummary": "$50 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": 3,
      "popularity": {
        "githubStars": 19,
        "npmWeekly": 5501,
        "pypiWeekly": 137628,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://opencagedata.com/api",
      "llmsTxt": "https://opencagedata.com/llms.txt",
      "registryName": "io.github.OpenCageData/opencage-geocoding-mcp",
      "capabilities": [
        "geo.geocode",
        "geo.reverse"
      ],
      "tags": [
        "hosted",
        "llms-txt",
        "mcp",
        "official",
        "python",
        "typescript",
        "open-data",
        "no-card",
        "eu"
      ],
      "lastRelease": "2026-06-25",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 69.5,
        "grade": "B",
        "agentReady": false,
        "rank": 113,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 2,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 86,
          "maintenance": 66,
          "payments": 35,
          "reliability": 85,
          "schema": 77,
          "security": 47,
          "transparency": 87
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "high",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Permanent storage of results on every plan, including after you cancel. Geocoding only, no place search or routing.",
        "strengths": [
          "Permanent storage of results on every plan, including after you cancel",
          "Separate 402 (quota spent) and 429 (too fast) responses",
          "llms.txt with 70 or more Markdown pages, and agent skills on GitHub",
          "EU hosting, logs deleted after six months and a no_record option",
          "Subscriptions don't cut off or bill overage when you go over"
        ],
        "weaknesses": [
          "Geocoding only, no place search or routing",
          "The key can only be sent as a query parameter",
          "The free trial isn't for production use",
          "MCP server is stdio-only, has no tool annotations, and npm still serves 1.0.3 from September 2025",
          "No SOC 2 or ISO 27001 of its own"
        ],
        "agentNotes": [
          "Add no_annotations=1 and limit=1 when you only need coordinates",
          "Stop on 402, which means the day's quota is gone, and back off on 429",
          "Add no_record=1 when the query holds personal data",
          "Redact the key parameter before logging request URLs",
          "Credit OpenStreetMap wherever you show results"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "high",
            "grade": "B",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 69.5
          }
        ],
        "editorialScores": {
          "ergonomics": 86,
          "maintenance": 66,
          "payments": 35,
          "reliability": 85,
          "schema": 77,
          "security": 47,
          "transparency": 84
        },
        "provenanceScore": 90
      },
      "connect": {
        "http": "curl \"https://api.opencagedata.com/geocode/v1/json?q=10%20Downing%20Street%2C%20London\u0026limit=1\u0026no_annotations=1\u0026key=$OPENCAGE_API_KEY\"",
        "claudeCode": "claude mcp add opencage -e OPENCAGE_API_KEY=$OPENCAGE_API_KEY -- npx -y @opencage/mcp-opencage-server",
        "config": {
          "mcpServers": {
            "opencage": {
              "args": [
                "-y",
                "@opencage/mcp-opencage-server"
              ],
              "command": "npx",
              "env": {
                "OPENCAGE_API_KEY": "${OPENCAGE_API_KEY}"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/geo.geocode",
        "tool": "https://letme.dev/opencage"
      },
      "area": "everyday",
      "unitPrices": [
        {
          "item": "X-Small plan",
          "unit": "month",
          "usd": 50,
          "note": "10,000 requests a day, 15 a second"
        },
        {
          "item": "Small plan",
          "unit": "month",
          "usd": 125,
          "note": "30,000 requests a day, 20 a second"
        },
        {
          "item": "Medium plan",
          "unit": "month",
          "usd": 500,
          "note": "125,000 requests a day, 25 a second"
        },
        {
          "item": "Large plan",
          "unit": "month",
          "usd": 1000,
          "note": "300,000 requests a day, 40 a second"
        }
      ],
      "provenance": {
        "legalEntity": "OpenCage GmbH",
        "domain": "opencagedata.com",
        "domainRegistered": "2013-05-16",
        "endpointOnVendorDomain": true,
        "terms": "https://opencagedata.com/terms",
        "privacy": "https://opencagedata.com/gdpr",
        "statusPage": "https://status.opencagedata.com",
        "changelog": "https://github.com/OpenCageData/opencagedata-misc-docs/blob/master/CHANGES.md",
        "securityTxt": "unknown",
        "checked": "2026-10-01",
        "notes": [
          "The terms give a Berlin address, commercial register HRB 272249 and VAT ID DE323788688.",
          "Cancelling doesn't refund fees already paid. If OpenCage ends the service it refunds the rest of the billing period pro rata.",
          "robots.txt blocked our fetch of /.well-known/security.txt. A separate security policy page exists at opencagedata.com/security-policy.",
          "The API docs point to the dated changelog in OpenCageData/opencagedata-misc-docs (CHANGES.md). Changes are also announced on blog.opencagedata.com.",
          "The GDPR page was last updated 22 July 2026."
        ],
        "score": 90
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/opencage.json",
      "live": {
        "slug": "opencage",
        "probe": {
          "target": "https://api.opencagedata.com/geocode/v1/json",
          "method": "get",
          "lastAt": "2026-10-05T04:05:31.329691983Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 103,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 154,
          "p95ms24h": 284,
          "samples24h": 273,
          "samples30d": 947,
          "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": 47,
              "ok": 47
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.opencagedata.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T21:40:21.729693769Z"
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "io.github.OpenCageData/opencage-geocoding-mcp",
            "version": "1.0.3",
            "seenAt": "2026-10-04T23:42:40.113054682Z"
          },
          {
            "registry": "npm",
            "name": "@opencage/mcp-opencage-server",
            "version": "1.0.3",
            "seenAt": "2026-10-04T16:35:43.050242515Z"
          },
          {
            "registry": "npm",
            "name": "opencage-api-client",
            "version": "2.2.0",
            "seenAt": "2026-10-04T16:35:43.915854234Z"
          },
          {
            "registry": "pypi",
            "name": "opencage",
            "version": "3.4.0",
            "released": "2026-06-08",
            "seenAt": "2026-10-04T16:35:45.327197259Z"
          }
        ],
        "githubStars": 19,
        "npmWeekly": 49,
        "pypiWeekly": 203446,
        "securityTxt": {
          "url": "https://opencagedata.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-01-31T00:00:00z",
          "checkedAt": "2026-10-04T15:16:02.633729582Z"
        },
        "llmsTxt": {
          "url": "https://opencagedata.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:04.973159436Z"
        },
        "domain": {
          "domain": "opencagedata.com",
          "registered": "2013-05-16",
          "source": "https://rdap.verisign.com/com/v1/domain/opencagedata.com",
          "checkedAt": "2026-10-04T13:05:30.747621602Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/OpenCageData/opencagedata-misc-docs/master/CHANGES.md",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-10-04T15:47:19.24688822Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "cd00a99974a7"
          },
          {
            "url": "https://opencagedata.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:46:28.030048478Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "2a4d55e4f714"
          },
          {
            "url": "https://opencagedata.com/gdpr",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:46:25.96762768Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ce5fd3b90f75"
          },
          {
            "url": "https://opencagedata.com/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:46:30.051951018Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "eae80c1639e4"
          }
        ],
        "updatedAt": "2026-10-05T04:05:31.329691983Z"
      }
    },
    "summary": "OpenCage Geocoding API has a score of 69.5 (B) against Google Maps Platform + Grounding Lite MCP's 68.5 (B). Both do geo geocode. The largest gap is security \u0026 auth, 20 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/google-maps-platform-vs-opencage",
    "json": "https://www.anchorterminal.com/compare/google-maps-platform-vs-opencage.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/google-maps-platform-vs-opencage.md",
    "slim": "https://www.anchorterminal.com/compare/google-maps-platform-vs-opencage.min.md"
  },
  "markdown": "OpenCage Geocoding API has a score of 69.5 (B) against Google Maps Platform + Grounding Lite MCP's 68.5 (B). Both do geo geocode. The largest gap is security \u0026 auth, 20 points.\n\n- Google Maps Platform + Grounding Lite MCP: grade B, 68.5/100, rank #123 of 452. Markdown https://www.anchorterminal.com/tools/google-maps-platform.md · JSON https://www.anchorterminal.com/api/v1/tools/google-maps-platform.json\n- OpenCage Geocoding API: grade B, 69.5/100, rank #113 of 452. Markdown https://www.anchorterminal.com/tools/opencage.md · JSON https://www.anchorterminal.com/api/v1/tools/opencage.json\n\n## Which one, for what\n\nPick Google Maps Platform + Grounding Lite MCP for security \u0026 auth (+20).\n\nPick OpenCage Geocoding API for payments \u0026 pricing (+15), maintenance \u0026 community (+16), transparency \u0026 trust (+12).\n\n## Score by category\n\n| Category | Weight | Google Maps Platform + Grounding Lite MCP | OpenCage Geocoding API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 85 | 85 | even |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 77 | 77 | even |\n| Agent ergonomics | 13% (16.2 this run) | 85 | 86 | OpenCage Geocoding API +1 |\n| Security \u0026 auth | 14% (17.5 this run) | 67 | 47 | Google Maps Platform + Grounding Lite MCP +20 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 35 | OpenCage Geocoding API +15 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 50 | 66 | OpenCage Geocoding API +16 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 75 | 87 | OpenCage Geocoding API +12 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **68.5 · B** | **69.5 · B** | |\n\n## Facts side by side\n\n| Fact | Google Maps Platform + Grounding Lite MCP | OpenCage Geocoding API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Google | OpenCage |\n| Hosted endpoint | `https://maps.googleapis.com` | `https://api.opencagedata.com/geocode/v1/json` |\n| Transports | HTTP, Streamable HTTP | HTTP, stdio |\n| Auth | OAuth or key | API key |\n| Pricing | Pay per use | Paid |\n| x402 | no | no |\n| Licence | Apache-2.0 (client libraries) | MIT (MCP server) |\n| Tools exposed | 5 | 3 |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| MCP registry | not listed | `io.github.OpenCageData/opencage-geocoding-mcp` |\n| Last release | 2026-08-06 | 2026-06-25 |\n| Popularity | 5k stars, 1.2M npm/wk, 748k PyPI/wk | 19 stars, 5.5k npm/wk, 138k PyPI/wk |\n| Agent reviews | 2.5/5 (2) | 3.5/5 (2) |\n\n## Verdicts\n\n**Google Maps Platform + Grounding Lite MCP.** Maps Grounding Lite is GA, hosted, and takes an X-Goog-Api-Key header or OAuth with the maps-platform.mapstools scope. A Cloud billing account with a payment method is required before the free caps apply.\n\n**OpenCage Geocoding API.** Permanent storage of results on every plan, including after you cancel. Geocoding only, no place search or routing.\n\n## Before you call either\n\n### Google Maps Platform + Grounding Lite MCP\n\n1. Send X-Goog-FieldMask on every Places (New) and Routes call, since a missing mask is an error and the fields you ask for set the SKU\n2. Resolve a name with Text Search and an IDs-only field mask (free), then fetch details for the one place you need\n3. Store place IDs, refetch details, and drop cached coordinates after 30 days\n4. Retry UNKNOWN_ERROR and OVER_QUERY_LIMIT with exponential backoff, and don't retry INVALID_REQUEST\n5. Put Google Maps attribution directly after any answer grounded in Grounding Lite results\n\n### OpenCage Geocoding API\n\n1. Add no_annotations=1 and limit=1 when you only need coordinates\n2. Stop on 402, which means the day's quota is gone, and back off on 429\n3. Add no_record=1 when the query holds personal data\n4. Redact the key parameter before logging request URLs\n5. Credit OpenStreetMap wherever you show results\n\n## Other comparisons with Google Maps Platform + Grounding Lite MCP or OpenCage Geocoding API\n\n- [Geoapify Location Platform + MCP vs Google Maps Platform + Grounding Lite MCP](https://www.anchorterminal.com/compare/geoapify-vs-google-maps-platform.md)\n- [Geoapify Location Platform + MCP vs OpenCage Geocoding API](https://www.anchorterminal.com/compare/geoapify-vs-opencage.md)\n- [Google Maps Platform + Grounding Lite MCP vs LocationIQ](https://www.anchorterminal.com/compare/google-maps-platform-vs-locationiq.md)\n- [Google Maps Platform + Grounding Lite MCP vs Mapbox APIs + MCP](https://www.anchorterminal.com/compare/google-maps-platform-vs-mapbox.md)\n- [Google Maps Platform + Grounding Lite MCP vs Stadia Maps](https://www.anchorterminal.com/compare/google-maps-platform-vs-stadia-maps.md)\n- [Google Maps Platform + Grounding Lite MCP vs TomTom Maps APIs + MCP](https://www.anchorterminal.com/compare/google-maps-platform-vs-tomtom.md)\n- [LocationIQ vs OpenCage Geocoding API](https://www.anchorterminal.com/compare/locationiq-vs-opencage.md)\n- [Mapbox APIs + MCP vs OpenCage Geocoding API](https://www.anchorterminal.com/compare/mapbox-vs-opencage.md)\n- [OpenCage Geocoding API vs Stadia Maps](https://www.anchorterminal.com/compare/opencage-vs-stadia-maps.md)\n- [OpenCage Geocoding API vs TomTom Maps APIs + MCP](https://www.anchorterminal.com/compare/opencage-vs-tomtom.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "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": "Google Maps Platform + Grounding Lite MCP vs OpenCage Geocoding API",
        "url": ""
      }
    ],
    "description": "OpenCage Geocoding API has a score of 69.5 (B) against Google Maps Platform + Grounding Lite MCP's 68.5 (B). Both do geo geocode. The largest gap is security \u0026 auth, 20 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Google Maps Platform + Grounding Lite MCP B 68.5",
      "OpenCage Geocoding API B 69.5",
      "scores"
    ],
    "h1": "Google Maps Platform + Grounding Lite MCP vs OpenCage Geocoding API",
    "image": "https://www.anchorterminal.com/assets/og/compare-google-maps-platform-vs-opencage.png",
    "path": "/compare/google-maps-platform-vs-opencage",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Google Maps Platform + Grounding Lite MCP vs OpenCage Geocoding API",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/google-maps-platform-vs-opencage"
  },
  "tokens": {
    "markdown": 1550,
    "slim": 380
  },
  "version": 1
}
