{
  "data": {
    "a": {
      "slug": "geocodio",
      "name": "Geocodio",
      "vendor": "Dotsquare LLC",
      "vendorUrl": "https://www.geocod.io",
      "kind": "http-api",
      "category": "maps",
      "summary": "Geocodio is a hosted geocoding API from Dotsquare LLC for addresses in the US, Canada, Mexico, the UK, Australia and New Zealand. It does forward, reverse and batch geocoding, distance matrices and census, district and timezone data appends.",
      "url": "https://www.anchorterminal.com/tools/geocodio",
      "markdownUrl": "https://www.anchorterminal.com/tools/geocodio.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/geocodio.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/geocodio.json",
      "dns": "geocodio.grade.anchorterminal.com",
      "repo": "https://github.com/Geocodio/geocodio-cli",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "pypi",
          "name": "geocodio-library-python"
        },
        {
          "registry": "npm",
          "name": "geocodio-library-node"
        }
      ],
      "auth": "api-key",
      "authNotes": "API key from the dashboard at dash.geocod.io after a browser signup, sent as `Authorization: Bearer` (since March 2025) or the `api_key` query parameter, which the docs and the OpenAPI spec still lead with. Five keys on pay-as-you-go. A new key reaches single and batch geocoding only; the Lists and Distance APIs must be enabled per key.",
      "pricing": "freemium",
      "pricingNotes": "2,500 lookups a day free on pay-as-you-go with no card until usage passes the free tier, then $1 per 1,000 lookups billed on the 1st of the next month. Each data append is one more lookup. Flex plans from $315 a month for 350,000 credits, Unlimited from $1,600 a month per dedicated instance.",
      "priceSummary": "$1 / 1k req",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in llms.txt, AGENTS.md, the docs or the OpenAPI spec (checked 2026-11-06). Billing is by card on file, monthly in arrears on pay-as-you-go.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 20984,
        "pypiWeekly": 921,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://www.geocod.io/docs/",
      "llmsTxt": "https://www.geocod.io/llms.txt",
      "openapi": "https://api.geocod.io/openapi-spec.json",
      "capabilities": [
        "geo.geocode",
        "geo.reverse",
        "geo.routing"
      ],
      "tags": [
        "hosted",
        "api-key",
        "freemium",
        "free-tier",
        "no-card",
        "llms-txt",
        "openapi",
        "official",
        "cli",
        "agent-skills",
        "python",
        "typescript",
        "php",
        "ruby",
        "batch",
        "async-jobs",
        "status-page",
        "security-txt",
        "enterprise",
        "soc2",
        "closed-source"
      ],
      "lastRelease": "2026-11-03",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 72.2,
        "grade": "BB",
        "agentReady": true,
        "rank": 137,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 4,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 80,
          "maintenance": 86,
          "payments": 40,
          "reliability": 70,
          "schema": 92,
          "security": 58,
          "transparency": 87
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "high",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "Geocodio publishes llms.txt, an AGENTS.md on cost and retries, an OpenAPI spec and a dated changelog, and its results may be stored permanently. Coverage stops at six countries, there's no MCP server or published SLA for self-serve plans, and the docs still put the key in the query string by default.",
        "bestFor": "Batch geocoding and district or census enrichment of addresses in the US, Canada, Mexico, the UK, Australia and New Zealand, where results must be stored.",
        "strengths": [
          "llms.txt and AGENTS.md cover billing arithmetic, retry rules, idempotency on the client and when not to use the API",
          "2,500 free lookups a day with no card, then $1 per 1,000, and zero-result lookups aren't billed",
          "Results may be stored and reused permanently, except UK reverse geocoding addresses",
          "Dated API changelog with versioned paths, and replaced versions kept for at least 12 months",
          "Official Python, Node, PHP and Ruby libraries and a CLI with an agent output mode, all MIT"
        ],
        "weaknesses": [
          "Covers only the US, Canada, Mexico, the UK, Australia and New Zealand, and UK needs a Flex or Unlimited plan",
          "The docs lead with the api_key query parameter, and the OpenAPI spec defines only that scheme",
          "No idempotency key on batch or list creation, so a retried upload is billed again",
          "No MCP server, and no published SLA on self-serve plans",
          "SOC 2 Type II and penetration tests apply to the separate Enterprise platform only"
        ],
        "agentNotes": [
          "Always set `country`, because an address with none falls back to the US and is billed even when it's wrong",
          "Send the key as `Authorization: Bearer`, not in the query string, so it stays out of logs",
          "Use batch POST /geocode (up to 10,000 lookups) or the Lists API rather than looping single requests",
          "Treat accuracy_type place, county or state as not found, and check `_warnings` for appends that were billed but skipped",
          "Don't retry 403 or 422. On 429 read X-RateLimit headers and back off, and never re-upload a list sitting in ENQUEUED"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "high",
            "grade": "BB",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 72.2
          }
        ],
        "editorialScores": {
          "ergonomics": 80,
          "maintenance": 86,
          "payments": 40,
          "reliability": 70,
          "schema": 92,
          "security": 58,
          "transparency": 80
        },
        "provenanceScore": 93,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install geocodio-library-python",
        "http": "curl -H \"Authorization: Bearer $GEOCODIO_API_KEY\" \"https://api.geocod.io/v2.1/geocode?q=1109+N+Highland+St,+Arlington+VA\u0026country=USA\""
      },
      "letme": {
        "capability": "https://letme.dev/geo.geocode",
        "tool": "https://letme.dev/geocodio"
      },
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Lookup after the free tier, pay-as-you-go",
          "unit": "1k-requests",
          "usd": 1,
          "note": "2,500 lookups a day free. A lookup is one address or coordinate, and each data append is one more"
        },
        {
          "item": "Flex 350 plan",
          "unit": "month",
          "usd": 315,
          "note": "350,000 credits a month ($0.90 per 1,000), rolling over while subscribed"
        },
        {
          "item": "Unlimited Geocoding plan",
          "unit": "month",
          "usd": 1600,
          "note": "One dedicated instance, up to 5 million lookups a day; distance credits extra at $1 per 1,000"
        }
      ],
      "provenance": {
        "legalEntity": "Dotsquare LLC",
        "domain": "geocod.io",
        "domainRegistered": "2013-06-05",
        "endpointOnVendorDomain": true,
        "terms": "https://www.geocod.io/terms-of-use",
        "privacy": "https://www.geocod.io/privacy-policy",
        "statusPage": "https://status.geocod.io",
        "changelog": "https://www.geocod.io/docs/#changelog",
        "securityTxt": "valid",
        "checked": "2026-11-06",
        "notes": [
          "The terms name Dotsquare LLC, dba Geocodio, 440 Monticello Ave Ste 1802 #43146, Norfolk, Virginia, and choose Virginia law.",
          "The terms' acceptable use section bars customers from 'web scraping or data scraping on or related to the System, including ... any bot or web crawler'. Recorded as a fact; robots.txt on www.geocod.io allows all agents.",
          "security.txt at www.geocod.io/security.txt names security@geocod.io, a PGP key and a responsible disclosure policy, and expires 30 January 2030.",
          "RDAP gives geocod.io a registration date of 5 June 2013. The about page says Geocodio launched in 2014.",
          "llms.txt links https://www.geocod.io/pricing.md as the current pricing in Markdown, but that URL returned a 404 page on 6 November 2026, so prices come from the HTML pricing page."
        ],
        "score": 93
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/geocodio.json",
      "live": {
        "slug": "geocodio",
        "vendorStatus": {
          "page": "https://status.geocod.io",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-07T18:21:12.773016207Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "Geocodio/geocodio-cli",
            "version": "v3.3.0",
            "released": "2026-08-31",
            "seenAt": "2026-11-06T23:28:00.884456202Z"
          },
          {
            "registry": "npm",
            "name": "geocodio-library-node",
            "version": "2.2.0",
            "seenAt": "2026-11-06T23:28:00.414999469Z"
          },
          {
            "registry": "pypi",
            "name": "geocodio-library-python",
            "version": "1.6.0",
            "released": "2026-10-16",
            "seenAt": "2026-11-06T23:27:57.978816079Z"
          }
        ],
        "githubStars": 3,
        "npmWeekly": 20984,
        "pypiWeekly": 921,
        "securityTxt": {
          "url": "https://geocod.io/.well-known/security.txt",
          "state": "valid",
          "expires": "2030-01-30T00:00:00.000Z",
          "checkedAt": "2026-11-07T16:01:17.012285777Z"
        },
        "llmsTxt": {
          "url": "https://www.geocod.io/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:35.723551581Z"
        },
        "pages": [
          {
            "url": "https://www.geocod.io/docs/",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:29:02.899876797Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "9bcdba9ab6f4"
          },
          {
            "url": "https://www.geocod.io/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:29:05.843886759Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "712b2145deac"
          },
          {
            "url": "https://www.geocod.io/terms-of-use",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:29:07.288294893Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ff5d2a37483d"
          }
        ],
        "updatedAt": "2026-11-07T18:21:12.773016207Z"
      }
    },
    "answer": "Geocodio scores 72.2 (BB) on agent readiness against TomTom Maps APIs + MCP's 45.9 (E), and leads in 6 of 7 scored categories.",
    "b": {
      "slug": "tomtom",
      "name": "TomTom Maps APIs + MCP",
      "vendor": "TomTom",
      "vendorUrl": "https://developer.tomtom.com",
      "kind": "http-api",
      "category": "maps",
      "summary": "Search, Geocoding and Reverse Geocoding, Routing, Matrix Routing, Reachable Range, EV routing and live traffic, plus map tiles.",
      "url": "https://www.anchorterminal.com/tools/tomtom",
      "markdownUrl": "https://www.anchorterminal.com/tools/tomtom.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/tomtom.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/tomtom.json",
      "dns": "tomtom.grade.anchorterminal.com",
      "repo": "https://github.com/tomtom-international/tomtom-mcp",
      "license": "Apache-2.0 (MCP server)",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://api.tomtom.com",
      "packages": [
        {
          "registry": "npm",
          "name": "@tomtom-org/tomtom-mcp"
        }
      ],
      "auth": "api-key",
      "authNotes": "One API key, passed as the key query parameter on REST calls. The hosted MCP takes it in a tomtom-api-key header, and OAuth deployments must set OAUTH_AUDIENCE since 1.6.13. Since 1.6.11 every tool runs on the Orbis backend; the MAPS variable and the tomtom-maps-backend header are no longer read.",
      "pricing": "freemium",
      "pricingNotes": "Free monthly allowance with no card. 2,500 Search, 20,000 Geocoding, 20,000 Routing, 2,500 Matrix Routing, 200,000 vector and 200,000 raster tiles and 20,000 non-tile map requests. Past that it's pay as you grow in euros at volume tiers, worked out by an estimator on the pricing page. The per-request rates sit behind per-API detail links we couldn't read, so no rate is quoted here (https://docs.tomtom.com/pricing).",
      "priceSummary": "Freemium",
      "where": "both",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": 13,
      "popularity": {
        "githubStars": 55,
        "npmWeekly": 996,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.tomtom.com",
      "llmsTxt": "https://docs.tomtom.com/llms.txt",
      "capabilities": [
        "geo.geocode",
        "geo.reverse",
        "geo.places",
        "geo.routing",
        "geo.tiles"
      ],
      "tags": [
        "hosted",
        "mcp",
        "official",
        "typescript",
        "free-tier",
        "no-card",
        "enterprise",
        "eu",
        "closed-source"
      ],
      "lastRelease": "2026-11-02",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 45.9,
        "grade": "E",
        "agentReady": false,
        "rank": 1169,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 17,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 78,
          "maintenance": 86,
          "payments": 25,
          "reliability": 15,
          "schema": 71,
          "security": 51,
          "transparency": 58
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "low",
          "date": "2026-11-04"
        },
        "negative": -6,
        "negativeNotes": [
          "2026-10-05 to 2026-10-22. `@tomtom-org/tomtom-mcp` 1.6.11, 1.6.12 and 1.6.13, patch releases, carry changes marked BREAKING in the changelog with no earlier dated notice found. They removed the Genesis backend, the MAPS variable and the tomtom-maps-backend header, tomtom-static-map, tomtom-waypoint-routing, tomtom-reachable-range and tomtom-ev-routing, replaced offset paging with cursors and changed 75 POI category codes. A breaking change in a minor or patch release without notice (-3). https://github.com/tomtom-international/tomtom-mcp/blob/main/CHANGELOG.md",
          "2026-10-05 and 2026-10-22. 1.6.11 fixes tomtom-reachable-range returning the caller's TomTom API key in full responses, and 1.6.13 stops OAuth deployments accepting tokens issued for other TomTom applications. No advisory was found for either. Released fixes of the package's own described flaws with no advisory, folded (-3). https://github.com/tomtom-international/tomtom-mcp/blob/main/CHANGELOG.md"
        ],
        "verdict": "No-card free allowance of 20,000 geocodes, 20,000 reverse geocodes and 20,000 routes a month, with an official MCP server released about weekly. Terms, rate limits and the deprecation policy couldn't be read, the status page bars our reader, and MCP patch releases in October removed tools and inputs without notice.",
        "bestFor": "Drive planning with live traffic, EV charging and reachable range.",
        "strengths": [
          "No-card free allowance of 20,000 geocodes, 20,000 reverse geocodes and 20,000 routes a month",
          "Live traffic, EV charging search and search along a route as MCP tools",
          "MCP tools annotated read-only, idempotent and non-destructive, with typed errors that tell a missing key from a refused account",
          "Eight MCP releases between 15 September and 2 November 2026, with Veracode scanning and end-to-end tests in CI",
          "HackerOne disclosure programme with a 3 business day first response"
        ],
        "weaknesses": [
          "Terms, rate limits and deprecation policy couldn't be read, so storage rules and notice periods are unverified",
          "The ServiceNow status page disallows every path in robots.txt, so no incident history could be read",
          "MCP patch releases 1.6.11 to 1.6.13 removed tools, inputs and the older backend, marked breaking with no earlier notice",
          "Paid prices only through a euro estimator",
          "Only 2,500 free Search and Matrix calls a month"
        ],
        "agentNotes": [
          "Use tomtom-geocode (20,000 free) rather than tomtom-fuzzy-search (2,500 free) when you have a full address",
          "Pin `@tomtom-org/tomtom-mcp` to a version, since patch releases have removed tools and changed inputs",
          "Page search results with `cursor` and the previous response's `nextCursor`, not `ofs`, from 1.6.12",
          "Read a 403 as the account or key not covering the API, and don't retry it; a 401 means a missing or unknown key",
          "Redact the key parameter before logging REST URLs"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "low",
            "grade": "E",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 45.9
          }
        ],
        "editorialScores": {
          "ergonomics": 78,
          "maintenance": 86,
          "payments": 25,
          "reliability": 15,
          "schema": 71,
          "security": 51,
          "transparency": 41
        },
        "provenanceScore": 75,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-04",
            "maintenance": "2026-11-04",
            "payments": "2026-11-04",
            "reliability": "2026-11-04",
            "schema": "2026-11-04",
            "security": "2026-11-04",
            "transparency": "2026-11-04"
          },
          "last": "2026-11-04",
          "lastMoved": "2026-11-04",
          "oldest": "2026-11-04",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl \"https://api.tomtom.com/search/2/geocode/10%20Downing%20Street%2C%20London.json?limit=1\u0026key=$TOMTOM_API_KEY\"",
        "claudeCode": "claude mcp add --transport http tomtom https://mcp.tomtom.com/maps --header \"tomtom-api-key: $TOMTOM_API_KEY\"",
        "config": {
          "mcpServers": {
            "tomtom": {
              "args": [
                "-y",
                "@tomtom-org/tomtom-mcp@latest"
              ],
              "command": "npx",
              "env": {
                "TOMTOM_API_KEY": "${TOMTOM_API_KEY}"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/geo.geocode",
        "tool": "https://letme.dev/tomtom"
      },
      "area": "everyday",
      "provenance": {
        "legalEntity": "TomTom International BV",
        "domain": "tomtom.com",
        "domainRegistered": "1996-02-23",
        "endpointOnVendorDomain": true,
        "terms": "https://docs.tomtom.com/legal/terms-and-conditions",
        "privacy": "https://www.tomtom.com/privacy/",
        "statusPage": "https://tomtom.service-now.com/status",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-11-04",
        "notes": [
          "The privacy policy names TomTom International BV and was last edited 1 August 2024, per the 2 October check. Subprocessors and storage locations are on https://www.tomtom.com/en-gb/privacy/more-information/.",
          "The developer terms page still renders client-side on 4 November 2026, and developer.tomtom.com/legal redirects to it, so storage and caching rules are unverified. TomTom's Terms of Use (effective 1 September 2025) and acceptable use policy cover all TomTom websites.",
          "www.tomtom.com/.well-known/security.txt returned 404 per the 30 September check. Vulnerabilities go to TomTom's HackerOne programme, per the security policy in the tomtom-international GitHub organisation.",
          "The status page is a ServiceNow page at tomtom.service-now.com, whose robots.txt disallows every path on 4 November 2026.",
          "A deprecation policy page is linked from docs.tomtom.com/llms.txt but rendered client-side, and its .md twin returned 404, per the 1 October check."
        ],
        "score": 75
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/tomtom.json",
      "live": {
        "slug": "tomtom",
        "probe": {
          "target": "https://api.tomtom.com",
          "method": "get",
          "lastAt": "2026-11-07T18:21:01.314479526Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 385,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 99.96,
          "p50ms24h": 201,
          "p95ms24h": 501,
          "samples24h": 239,
          "samples30d": 7910,
          "days": [
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 251
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-29",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 247
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 246,
              "ok": 246
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 241
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "vendorStatus": {
          "page": "https://tomtom.service-now.com/status",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:48:53.259050511Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "tomtom-international/tomtom-mcp",
            "version": "v1.6.15",
            "released": "2026-11-02",
            "seenAt": "2026-11-07T00:12:31.820004932Z"
          },
          {
            "registry": "npm",
            "name": "@tomtom-org/tomtom-mcp",
            "version": "1.6.15",
            "seenAt": "2026-11-07T00:12:30.983981983Z"
          }
        ],
        "githubStars": 59,
        "npmWeekly": 533,
        "securityTxt": {
          "url": "https://tomtom.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:00:35.80240856Z"
        },
        "llmsTxt": {
          "url": "https://docs.tomtom.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:34:10.63321814Z"
        },
        "domain": {
          "domain": "tomtom.com",
          "registered": "1996-02-23",
          "source": "https://rdap.verisign.com/com/v1/domain/tomtom.com",
          "checkedAt": "2026-11-01T14:08:40.010831658Z"
        },
        "pages": [
          {
            "url": "https://docs.tomtom.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-07T14:08:24.436245345Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "9f426a4be50f"
          },
          {
            "url": "https://www.tomtom.com/privacy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:35:50.482210619Z",
            "changedAt": "2026-10-08T18:31:01.446679763Z",
            "fingerprint": "b77d548785dc"
          },
          {
            "url": "https://docs.tomtom.com/legal/terms-and-conditions",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:08:22.338954308Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "68f5b7cd1e5c"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.tomtom.com/maps",
          "checkedAt": "2026-11-07T01:48:48.000289783Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-07T01:48:48.000289783Z"
        },
        "github": {
          "repo": "tomtom-international/tomtom-mcp",
          "checkedAt": "2026-11-02T09:32:23.866567335Z",
          "stars": 59,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-11-02T09:12:05Z",
          "openIssues": 6,
          "openPRs": 9,
          "issuesOpened90d": 0,
          "issuesClosed90d": 0,
          "prsMerged90d": 0,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 50,
            "failure": 0,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-11-02T08:40:13Z"
          },
          "replies": {
            "sampled": 10,
            "unanswered": 6,
            "medianDays": 10.4
          }
        },
        "updatedAt": "2026-11-07T18:21:01.314479526Z"
      }
    },
    "edges": [
      {
        "by": 55,
        "category": "reliability",
        "leads": "geocodio",
        "name": "Reliability",
        "reasons": {
          "a": "Hosted lines. incident.io status page at status.geocod.io with five components (Geocodio API, Dashboard, Enterprise API, Enterprise Dashboard, Website) and an incidents feed at /api/v2/incidents.json (20). In the 90 days to 6 November 2026 the feed lists one incident marked major, 'Spreadsheet geocoding jobs are failing' on 27 October from 12:35 to 15:15 UTC, and a PHP security patch on 21 October marked no impact, so one major outage of a core feature (10). 1,000 requests a minute on single geocoding for pay-as-you-go and Flex, 100 on Enterprise Flex (15). 429 carries X-RateLimit-Remaining, -Limit and -Period, and llms.txt and AGENTS.md give a retry rule per status code with capped backoff, plus client-side idempotency guidance for the non-idempotent list and batch writes (15). The pricing page lists custom SLAs as an add-on on Unlimited and Enterprise plans, with no published terms, so no SLA (0). GA (10). 20+10+15+15+0+10 = 70.",
          "b": "TomTom's API status page sits on tomtom.service-now.com, whose robots.txt disallows every path on 4 November, so the earlier status readings are struck (0). With no history we may read, the record scores 5. No published QPS limits or 429 guidance were found on the docs pages we read on 1 October; TomTom's acceptable use policy now bars robots from its websites, so they weren't re-read (0). The MCP maps a 429 to a typed rate-limit error with a message, and we found nothing on Retry-After (5, the earlier partial kept). No SLA found (0). Orbis APIs went GA on 8 July 2026, but the remote MCP server is in public preview and the README says some Orbis and EV services may not be enabled on every account (5, kept). 0+5+0+5+0+5 = 15."
        },
        "scores": {
          "a": 70,
          "b": 15
        }
      },
      {
        "by": 29,
        "category": "transparency",
        "leads": "geocodio",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Editorial half only. Closed service with clear, dated terms under Virginia law, and libraries and CLI under MIT (20). The privacy policy says API and spreadsheet input and results are deleted within 45 days, error logs kept 90 days, and customer data isn't used to train AI models. A separate data retention policy and llms.txt put Lists API data at 72 hours. Results may be stored permanently by the customer (27). Replaced API versions are guaranteed for at least 12 months, breaking changes come only with a new version, and the changelog marks each one 'Breaking' (18). The privacy policy names its processors, such as Sentry and Laravel Nightwatch, and the security page says self-serve is hosted in Europe (15). 20+27+18+15 = 80.",
          "b": "Closed APIs with an Apache-2.0 MCP server. The developer terms page still renders client-side on 4 November, and TomTom's acceptable use policy (linked from its Terms of Use of 1 September 2025) bars data mining, robots and scraping on all TomTom websites, so the privacy and deprecation pages weren't re-read. Licence clarity 10, data handling 11 of 30, deprecation 8 and subprocessors 12 of 20 stand per the 2 October check, not re-read on 4 November. 10+11+8+12 = 41."
        },
        "scores": {
          "a": 87,
          "b": 58
        }
      },
      {
        "by": 21,
        "category": "schema",
        "leads": "geocodio",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "OpenAPI 3.0.1 spec, version 2.1.0, with 11 paths (25). llms.txt and an AGENTS.md written for agents (10). llms.txt and AGENTS.md say when to use each endpoint and when not to, such as the Lists API over looping single calls, the upload tool for a one-off spreadsheet and straightline over driving distance unless road distance is needed (19). Typed parameters with country values, component fields and documented limits, though `fields` is a comma-separated string (12). Error table with retry guidance, examples throughout, but the spec documents 200, 400, 403, 404, 422 and 424 and not 429 or 500 (11). Versioned paths from v1 to v2.1 and a dated public changelog with entries back to 2024 (15). 25+10+19+12+11+15 = 92.",
          "b": "No public OpenAPI that we found. The MCP's tools have Zod schemas with described fields (22). docs.tomtom.com/llms.txt indexes about 180 pages, many as .md, per the 2 October check, not re-read on 4 November (10). Tool descriptions are mostly one line, with little on when not to use a tool (12). Typed fields with constraints, and since 1.6.12 the search, routing and EV tools list their valid values from the maps-sdk (11, kept). We couldn't read the REST error reference. The MCP returns typed errors per status code, and since 1.6.13 tells a 401 from a 403 (8). Versioned REST paths; the MCP CHANGELOG.md has dated entries from 1.6.11 (5 October 2026) to 1.6.14 and says 1.1.1 to 1.6.10 have none (8, kept). 22+10+12+11+8+8 = 71."
        },
        "scores": {
          "a": 92,
          "b": 71
        }
      },
      {
        "by": 15,
        "category": "payments",
        "leads": "geocodio",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). $1 per 1,000 lookups after the free tier, and per-credit rates for every Flex tier, public without login (20). 2,500 lookups a day free with no card until usage passes the free tier (20). Signup and key creation are a browser flow at dash.geocod.io (0). 0+20+20+0 = 40.",
          "b": "No x402, MPP or L402 (0). Free allowances are public, but the pricing page re-read on 2 October showed no paid rate as a number, only a euro estimator and a contact-sales link (5 of 20, kept). A no-card free allowance of 20,000 geocodes, 20,000 reverse geocodes and 20,000 routes a month, with Search and Matrix at 2,500 (20). Signup is a browser flow (0). The pricing page is on a host whose acceptable use policy now bars robots, so it wasn't re-read on 4 November. 0+5+20+0 = 25."
        },
        "scores": {
          "a": 40,
          "b": 25
        }
      },
      {
        "by": 7,
        "category": "security",
        "leads": "geocodio",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Revocable keys, five on pay-as-you-go, each with permissions (Lists and Distance off by default), which earns 25. Less 10 because the docs say 'All requests require \u0026api_key=YOUR_API_KEY' and the OpenAPI spec defines only the query scheme, though an Authorization header has worked since March 2025 (15). Per-key permissions limit what a key can reach. DELETE on lists and distance jobs needs no confirmation (13). Results are addresses and government district, census and legislator data rather than user-written text. No prompt-injection guidance found (9). Usage per API key in the dashboard, downloadable as CSV, and billable-lookup headers on every response (8). Valid security.txt to 30 January 2030 with a PGP key and a responsible disclosure policy. SOC 2 Type II and annual penetration tests apply to the Enterprise platform only. No bug bounty found (13). 15+13+9+8+13 = 58.",
          "b": "API keys from the developer portal, limited to the products selected for them, which earns 25. Less 10 because REST calls take the key as the key query parameter. The hosted MCP takes a tomtom-api-key header, and the source carries OAuth with an audience check that 1.6.13 made mandatory for OAuth deployments (15). Keys can be limited by product and every tool reads (16). Results include POI names and traffic incident text with no prompt-injection guidance. An app-only tool, tomtom-get-api-key, returns the raw key to the map app; since 1.6.12 clients that render no apps don't receive it (6, kept). We didn't find per-call logs or usage reporting we could read (0). HackerOne disclosure programme with a 3 business day first response in the organisation's SECURITY.md, Veracode scanning in CI, and no security.txt per the 30 September check (14, kept). 15+16+6+0+14 = 51."
        },
        "scores": {
          "a": 58,
          "b": 51
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Dotsquare LLC",
        "b": "TomTom",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "https://api.tomtom.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP, Streamable HTTP, stdio",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "$1600 per month (plan)",
        "b": "not published",
        "name": "Price for geocoding"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "none",
        "b": "Apache-2.0 (MCP server)",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "13",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-11-03",
        "b": "2026-11-02",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "2018-05-25",
        "b": "couldn't be read",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "21k npm/wk, 921 PyPI/wk",
        "b": "55 stars, 996 npm/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Geocodio scores 72.2 (BB) on agent readiness against TomTom Maps APIs + MCP's 45.9 (E), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, Geocodio or TomTom Maps APIs + MCP?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do Geocodio and TomTom Maps APIs + MCP need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for Geocodio. TomTom Maps APIs + MCP has a hosted endpoint at https://api.tomtom.com.",
        "question": "Can an agent call Geocodio and TomTom Maps APIs + MCP without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 70 against 15",
          "Schema \u0026 documentation, 92 against 71",
          "Security \u0026 auth, 58 against 51",
          "Payments \u0026 pricing, 40 against 25",
          "Transparency \u0026 trust, 87 against 58"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "No incidents deducted, where TomTom Maps APIs + MCP loses 6 points for them"
        ],
        "goodFor": "Batch geocoding and district or census enrichment of addresses in the US, Canada, Mexico, the UK, Australia and New Zealand, where results must be stored.",
        "slug": "geocodio",
        "watchFor": "Covers only the US, Canada, Mexico, the UK, Australia and New Zealand, and UK needs a Flex or Unlimited plan"
      },
      {
        "aheadOn": null,
        "also": [
          "A hosted endpoint, with nothing to install",
          "Runs on your own machine"
        ],
        "goodFor": "Drive planning with live traffic, EV charging and reachable range.",
        "slug": "tomtom",
        "watchFor": "Terms, rate limits and deprecation policy couldn't be read, so storage rules and notice periods are unverified"
      }
    ],
    "history": {
      "geocodio": null,
      "tomtom": [
        {
          "causes": [
            "product",
            "evidence"
          ],
          "date": "2026-11-04",
          "delta": -9,
          "from": 54.9,
          "fromGrade": "C",
          "to": 45.9,
          "toGrade": "E"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-08",
          "delta": -0.2,
          "from": 55.1,
          "fromGrade": "C",
          "to": 54.9,
          "toGrade": "C"
        }
      ]
    },
    "job": {
      "capability": "geo.geocode",
      "name": "Geocoding"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/amazon-location-vs-geocodio.json",
        "title": "Amazon Location Service vs Geocodio",
        "url": "https://www.anchorterminal.com/compare/amazon-location-vs-geocodio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-location-vs-tomtom.json",
        "title": "Amazon Location Service vs TomTom Maps APIs + MCP",
        "url": "https://www.anchorterminal.com/compare/amazon-location-vs-tomtom"
      },
      {
        "json": "https://www.anchorterminal.com/compare/arcgis-vs-geocodio.json",
        "title": "ArcGIS Location Platform vs Geocodio",
        "url": "https://www.anchorterminal.com/compare/arcgis-vs-geocodio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/arcgis-vs-tomtom.json",
        "title": "ArcGIS Location Platform vs TomTom Maps APIs + MCP",
        "url": "https://www.anchorterminal.com/compare/arcgis-vs-tomtom"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-maps-vs-geocodio.json",
        "title": "Azure Maps vs Geocodio",
        "url": "https://www.anchorterminal.com/compare/azure-maps-vs-geocodio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-maps-vs-tomtom.json",
        "title": "Azure Maps vs TomTom Maps APIs + MCP",
        "url": "https://www.anchorterminal.com/compare/azure-maps-vs-tomtom"
      },
      {
        "json": "https://www.anchorterminal.com/compare/geoapify-vs-geocodio.json",
        "title": "Geoapify Location Platform + MCP vs Geocodio",
        "url": "https://www.anchorterminal.com/compare/geoapify-vs-geocodio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/geoapify-vs-tomtom.json",
        "title": "Geoapify Location Platform + MCP vs TomTom Maps APIs + MCP",
        "url": "https://www.anchorterminal.com/compare/geoapify-vs-tomtom"
      },
      {
        "json": "https://www.anchorterminal.com/compare/geocodio-vs-google-maps-platform.json",
        "title": "Geocodio vs Google Maps Platform + Grounding Lite MCP",
        "url": "https://www.anchorterminal.com/compare/geocodio-vs-google-maps-platform"
      },
      {
        "json": "https://www.anchorterminal.com/compare/geocodio-vs-here-location-services.json",
        "title": "Geocodio vs HERE Location Services",
        "url": "https://www.anchorterminal.com/compare/geocodio-vs-here-location-services"
      },
      {
        "json": "https://www.anchorterminal.com/compare/geocodio-vs-locationiq.json",
        "title": "Geocodio vs LocationIQ",
        "url": "https://www.anchorterminal.com/compare/geocodio-vs-locationiq"
      },
      {
        "json": "https://www.anchorterminal.com/compare/geocodio-vs-mapbox.json",
        "title": "Geocodio vs Mapbox APIs + MCP",
        "url": "https://www.anchorterminal.com/compare/geocodio-vs-mapbox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/geocodio-vs-mapquest.json",
        "title": "Geocodio vs MapQuest",
        "url": "https://www.anchorterminal.com/compare/geocodio-vs-mapquest"
      },
      {
        "json": "https://www.anchorterminal.com/compare/geocodio-vs-maptiler.json",
        "title": "Geocodio vs MapTiler Cloud",
        "url": "https://www.anchorterminal.com/compare/geocodio-vs-maptiler"
      },
      {
        "json": "https://www.anchorterminal.com/compare/geocodio-vs-nextbillion.json",
        "title": "Geocodio vs NextBillion.ai",
        "url": "https://www.anchorterminal.com/compare/geocodio-vs-nextbillion"
      },
      {
        "json": "https://www.anchorterminal.com/compare/geocodio-vs-nominatim.json",
        "title": "Geocodio vs Nominatim",
        "url": "https://www.anchorterminal.com/compare/geocodio-vs-nominatim"
      },
      {
        "json": "https://www.anchorterminal.com/compare/geocodio-vs-opencage.json",
        "title": "Geocodio vs OpenCage Geocoding API",
        "url": "https://www.anchorterminal.com/compare/geocodio-vs-opencage"
      },
      {
        "json": "https://www.anchorterminal.com/compare/geocodio-vs-radar.json",
        "title": "Geocodio vs Radar",
        "url": "https://www.anchorterminal.com/compare/geocodio-vs-radar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/geocodio-vs-stadia-maps.json",
        "title": "Geocodio vs Stadia Maps",
        "url": "https://www.anchorterminal.com/compare/geocodio-vs-stadia-maps"
      },
      {
        "json": "https://www.anchorterminal.com/compare/geocodio-vs-woosmap.json",
        "title": "Geocodio vs Woosmap",
        "url": "https://www.anchorterminal.com/compare/geocodio-vs-woosmap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-maps-platform-vs-tomtom.json",
        "title": "Google Maps Platform + Grounding Lite MCP vs TomTom Maps APIs + MCP",
        "url": "https://www.anchorterminal.com/compare/google-maps-platform-vs-tomtom"
      },
      {
        "json": "https://www.anchorterminal.com/compare/here-location-services-vs-tomtom.json",
        "title": "HERE Location Services vs TomTom Maps APIs + MCP",
        "url": "https://www.anchorterminal.com/compare/here-location-services-vs-tomtom"
      },
      {
        "json": "https://www.anchorterminal.com/compare/locationiq-vs-tomtom.json",
        "title": "LocationIQ vs TomTom Maps APIs + MCP",
        "url": "https://www.anchorterminal.com/compare/locationiq-vs-tomtom"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mapbox-vs-tomtom.json",
        "title": "Mapbox APIs + MCP vs TomTom Maps APIs + MCP",
        "url": "https://www.anchorterminal.com/compare/mapbox-vs-tomtom"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mapquest-vs-tomtom.json",
        "title": "MapQuest vs TomTom Maps APIs + MCP",
        "url": "https://www.anchorterminal.com/compare/mapquest-vs-tomtom"
      },
      {
        "json": "https://www.anchorterminal.com/compare/maptiler-vs-tomtom.json",
        "title": "MapTiler Cloud vs TomTom Maps APIs + MCP",
        "url": "https://www.anchorterminal.com/compare/maptiler-vs-tomtom"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nominatim-vs-tomtom.json",
        "title": "Nominatim vs TomTom Maps APIs + MCP",
        "url": "https://www.anchorterminal.com/compare/nominatim-vs-tomtom"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencage-vs-tomtom.json",
        "title": "OpenCage Geocoding API vs TomTom Maps APIs + MCP",
        "url": "https://www.anchorterminal.com/compare/opencage-vs-tomtom"
      },
      {
        "json": "https://www.anchorterminal.com/compare/radar-vs-tomtom.json",
        "title": "Radar vs TomTom Maps APIs + MCP",
        "url": "https://www.anchorterminal.com/compare/radar-vs-tomtom"
      },
      {
        "json": "https://www.anchorterminal.com/compare/stadia-maps-vs-tomtom.json",
        "title": "Stadia Maps vs TomTom Maps APIs + MCP",
        "url": "https://www.anchorterminal.com/compare/stadia-maps-vs-tomtom"
      },
      {
        "json": "https://www.anchorterminal.com/compare/tomtom-vs-woosmap.json",
        "title": "TomTom Maps APIs + MCP vs Woosmap",
        "url": "https://www.anchorterminal.com/compare/tomtom-vs-woosmap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nextbillion-vs-tomtom.json",
        "title": "NextBillion.ai vs TomTom Maps APIs + MCP",
        "url": "https://www.anchorterminal.com/compare/nextbillion-vs-tomtom"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 55,
        "edge": "geocodio",
        "geocodio": 70,
        "key": "reliability",
        "name": "Reliability",
        "tomtom": 15,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 21,
        "edge": "geocodio",
        "geocodio": 92,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "tomtom": 71,
        "weight": 13
      },
      {
        "by": 2,
        "edge": "geocodio",
        "geocodio": 80,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "tomtom": 78,
        "weight": 13
      },
      {
        "by": 7,
        "edge": "geocodio",
        "geocodio": 58,
        "key": "security",
        "name": "Security \u0026 auth",
        "tomtom": 51,
        "weight": 14
      },
      {
        "by": 15,
        "edge": "geocodio",
        "geocodio": 40,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "tomtom": 25,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 0,
        "edge": "",
        "geocodio": 86,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "tomtom": 86,
        "weight": 7
      },
      {
        "by": 29,
        "edge": "geocodio",
        "geocodio": 87,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "tomtom": 58,
        "weight": 7
      }
    ],
    "summary": "Geocodio scores 72.2 (BB) on agent readiness against TomTom Maps APIs + MCP's 45.9 (E), and leads in 6 of 7 scored categories. Both do geocoding.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "geocodio": "Geocodio publishes llms.txt, an AGENTS.md on cost and retries, an OpenAPI spec and a dated changelog, and its results may be stored permanently. Coverage stops at six countries, there's no MCP server or published SLA for self-serve plans, and the docs still put the key in the query string by default.",
      "tomtom": "No-card free allowance of 20,000 geocodes, 20,000 reverse geocodes and 20,000 routes a month, with an official MCP server released about weekly. Terms, rate limits and the deprecation policy couldn't be read, the status page bars our reader, and MCP patch releases in October removed tools and inputs without notice."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/geocodio-vs-tomtom",
    "json": "https://www.anchorterminal.com/compare/geocodio-vs-tomtom.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/geocodio-vs-tomtom.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/geocodio-vs-tomtom.min.md"
  },
  "markdown": "Geocodio scores 72.2 (BB) on agent readiness against TomTom Maps APIs + MCP's 45.9 (E), and leads in 6 of 7 scored categories. Both do geocoding.\n\n- Geocodio: grade BB, 72.2/100, rank #137 of 1486. Markdown https://www.anchorterminal.com/tools/geocodio.md · JSON https://www.anchorterminal.com/api/v1/tools/geocodio.json\n- TomTom Maps APIs + MCP: grade E, 45.9/100, rank #1169 of 1486. Markdown https://www.anchorterminal.com/tools/tomtom.md · JSON https://www.anchorterminal.com/api/v1/tools/tomtom.json\n- Best maps, geocoding and places APIs for AI agents: https://www.anchorterminal.com/best/maps/index.md\n- All 153 maps comparisons: https://www.anchorterminal.com/compare/maps/index.md\n\n## Which one, for what\n\n### Geocodio (BB)\n\nGood for: Batch geocoding and district or census enrichment of addresses in the US, Canada, Mexico, the UK, Australia and New Zealand, where results must be stored.\n\nAhead on:\n- Reliability, 70 against 15\n- Schema \u0026 documentation, 92 against 71\n- Security \u0026 auth, 58 against 51\n- Payments \u0026 pricing, 40 against 25\n- Transparency \u0026 trust, 87 against 58\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- No incidents deducted, where TomTom Maps APIs + MCP loses 6 points for them\n\nWatch for: Covers only the US, Canada, Mexico, the UK, Australia and New Zealand, and UK needs a Flex or Unlimited plan\n\n### TomTom Maps APIs + MCP (E)\n\nGood for: Drive planning with live traffic, EV charging and reachable range.\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n- Runs on your own machine\n\nWatch for: Terms, rate limits and deprecation policy couldn't be read, so storage rules and notice periods are unverified\n\n\n## Why the edge\n\n### Reliability: Geocodio +55\n\n- Geocodio (70): Hosted lines. incident.io status page at status.geocod.io with five components (Geocodio API, Dashboard, Enterprise API, Enterprise Dashboard, Website) and an incidents feed at /api/v2/incidents.json (20). In the 90 days to 6 November 2026 the feed lists one incident marked major, 'Spreadsheet geocoding jobs are failing' on 27 October from 12:35 to 15:15 UTC, and a PHP security patch on 21 October marked no impact, so one major outage of a core feature (10). 1,000 requests a minute on single geocoding for pay-as-you-go and Flex, 100 on Enterprise Flex (15). 429 carries X-RateLimit-Remaining, -Limit and -Period, and llms.txt and AGENTS.md give a retry rule per status code with capped backoff, plus client-side idempotency guidance for the non-idempotent list and batch writes (15). The pricing page lists custom SLAs as an add-on on Unlimited and Enterprise plans, with no published terms, so no SLA (0). GA (10). 20+10+15+15+0+10 = 70.\n- TomTom Maps APIs + MCP (15): TomTom's API status page sits on tomtom.service-now.com, whose robots.txt disallows every path on 4 November, so the earlier status readings are struck (0). With no history we may read, the record scores 5. No published QPS limits or 429 guidance were found on the docs pages we read on 1 October; TomTom's acceptable use policy now bars robots from its websites, so they weren't re-read (0). The MCP maps a 429 to a typed rate-limit error with a message, and we found nothing on Retry-After (5, the earlier partial kept). No SLA found (0). Orbis APIs went GA on 8 July 2026, but the remote MCP server is in public preview and the README says some Orbis and EV services may not be enabled on every account (5, kept). 0+5+0+5+0+5 = 15.\n\n### Transparency \u0026 trust: Geocodio +29\n\n- Geocodio (87): Editorial half only. Closed service with clear, dated terms under Virginia law, and libraries and CLI under MIT (20). The privacy policy says API and spreadsheet input and results are deleted within 45 days, error logs kept 90 days, and customer data isn't used to train AI models. A separate data retention policy and llms.txt put Lists API data at 72 hours. Results may be stored permanently by the customer (27). Replaced API versions are guaranteed for at least 12 months, breaking changes come only with a new version, and the changelog marks each one 'Breaking' (18). The privacy policy names its processors, such as Sentry and Laravel Nightwatch, and the security page says self-serve is hosted in Europe (15). 20+27+18+15 = 80.\n- TomTom Maps APIs + MCP (58): Closed APIs with an Apache-2.0 MCP server. The developer terms page still renders client-side on 4 November, and TomTom's acceptable use policy (linked from its Terms of Use of 1 September 2025) bars data mining, robots and scraping on all TomTom websites, so the privacy and deprecation pages weren't re-read. Licence clarity 10, data handling 11 of 30, deprecation 8 and subprocessors 12 of 20 stand per the 2 October check, not re-read on 4 November. 10+11+8+12 = 41.\n\n### Schema \u0026 documentation: Geocodio +21\n\n- Geocodio (92): OpenAPI 3.0.1 spec, version 2.1.0, with 11 paths (25). llms.txt and an AGENTS.md written for agents (10). llms.txt and AGENTS.md say when to use each endpoint and when not to, such as the Lists API over looping single calls, the upload tool for a one-off spreadsheet and straightline over driving distance unless road distance is needed (19). Typed parameters with country values, component fields and documented limits, though `fields` is a comma-separated string (12). Error table with retry guidance, examples throughout, but the spec documents 200, 400, 403, 404, 422 and 424 and not 429 or 500 (11). Versioned paths from v1 to v2.1 and a dated public changelog with entries back to 2024 (15). 25+10+19+12+11+15 = 92.\n- TomTom Maps APIs + MCP (71): No public OpenAPI that we found. The MCP's tools have Zod schemas with described fields (22). docs.tomtom.com/llms.txt indexes about 180 pages, many as .md, per the 2 October check, not re-read on 4 November (10). Tool descriptions are mostly one line, with little on when not to use a tool (12). Typed fields with constraints, and since 1.6.12 the search, routing and EV tools list their valid values from the maps-sdk (11, kept). We couldn't read the REST error reference. The MCP returns typed errors per status code, and since 1.6.13 tells a 401 from a 403 (8). Versioned REST paths; the MCP CHANGELOG.md has dated entries from 1.6.11 (5 October 2026) to 1.6.14 and says 1.1.1 to 1.6.10 have none (8, kept). 22+10+12+11+8+8 = 71.\n\n### Payments \u0026 pricing: Geocodio +15\n\n- Geocodio (40): No x402, MPP or L402 (0). $1 per 1,000 lookups after the free tier, and per-credit rates for every Flex tier, public without login (20). 2,500 lookups a day free with no card until usage passes the free tier (20). Signup and key creation are a browser flow at dash.geocod.io (0). 0+20+20+0 = 40.\n- TomTom Maps APIs + MCP (25): No x402, MPP or L402 (0). Free allowances are public, but the pricing page re-read on 2 October showed no paid rate as a number, only a euro estimator and a contact-sales link (5 of 20, kept). A no-card free allowance of 20,000 geocodes, 20,000 reverse geocodes and 20,000 routes a month, with Search and Matrix at 2,500 (20). Signup is a browser flow (0). The pricing page is on a host whose acceptable use policy now bars robots, so it wasn't re-read on 4 November. 0+5+20+0 = 25.\n\n### Security \u0026 auth: Geocodio +7\n\n- Geocodio (58): Revocable keys, five on pay-as-you-go, each with permissions (Lists and Distance off by default), which earns 25. Less 10 because the docs say 'All requests require \u0026api_key=YOUR_API_KEY' and the OpenAPI spec defines only the query scheme, though an Authorization header has worked since March 2025 (15). Per-key permissions limit what a key can reach. DELETE on lists and distance jobs needs no confirmation (13). Results are addresses and government district, census and legislator data rather than user-written text. No prompt-injection guidance found (9). Usage per API key in the dashboard, downloadable as CSV, and billable-lookup headers on every response (8). Valid security.txt to 30 January 2030 with a PGP key and a responsible disclosure policy. SOC 2 Type II and annual penetration tests apply to the Enterprise platform only. No bug bounty found (13). 15+13+9+8+13 = 58.\n- TomTom Maps APIs + MCP (51): API keys from the developer portal, limited to the products selected for them, which earns 25. Less 10 because REST calls take the key as the key query parameter. The hosted MCP takes a tomtom-api-key header, and the source carries OAuth with an audience check that 1.6.13 made mandatory for OAuth deployments (15). Keys can be limited by product and every tool reads (16). Results include POI names and traffic incident text with no prompt-injection guidance. An app-only tool, tomtom-get-api-key, returns the raw key to the map app; since 1.6.12 clients that render no apps don't receive it (6, kept). We didn't find per-call logs or usage reporting we could read (0). HackerOne disclosure programme with a 3 business day first response in the organisation's SECURITY.md, Veracode scanning in CI, and no security.txt per the 30 September check (14, kept). 15+16+6+0+14 = 51.\n\n## Score by category\n\n| Category | Weight | Geocodio | TomTom Maps APIs + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 70 | 15 | Geocodio +55 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 92 | 71 | Geocodio +21 |\n| Agent ergonomics | 13% (16.2 this run) | 80 | 78 | Geocodio +2 |\n| Security \u0026 auth | 14% (17.5 this run) | 58 | 51 | Geocodio +7 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 25 | Geocodio +15 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 86 | 86 | even |\n| Transparency \u0026 trust | 7% (8.8 this run) | 87 | 58 | Geocodio +29 |\n| Negative events | ≤15 | 0 | -6 | |\n| **Total** | | **72.2 · BB** | **45.9 · E** | |\n\n## Facts side by side\n\n| Fact | Geocodio | TomTom Maps APIs + MCP |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Dotsquare LLC | TomTom |\n| Hosted endpoint | no (local only) | `https://api.tomtom.com` |\n| Transports | HTTP | HTTP, Streamable HTTP, stdio |\n| Auth | API key | API key |\n| Pricing | Freemium | Freemium |\n| Price for geocoding | $1600 per month (plan) | not published |\n| x402 | no | no |\n| Licence | none | Apache-2.0 (MCP server) |\n| Tools exposed | none | 13 |\n| Read-only variant documented | no | yes |\n| llms.txt | yes | yes |\n| Last release | 2026-11-03 | 2026-11-02 |\n| Terms last updated | no date given | couldn't be read |\n| Privacy policy last updated | 2018-05-25 | couldn't be read |\n| Customer content may train models | not found in the text | couldn't be read |\n| Terms restrict automated access | yes | couldn't be read |\n| Terms restrict benchmarking | yes | couldn't be read |\n| Terms or service can change without notice | yes | couldn't be read |\n| Arbitration or class-action waiver | not found in the text | couldn't be read |\n| Popularity | 21k npm/wk, 921 PyPI/wk | 55 stars, 996 npm/wk |\n| Agent reviews | none | 3/5 (2) |\n\n## How the scores have moved\n\n### Geocodio\n\nNo score change since it was listed.\n\n### TomTom Maps APIs + MCP\n\n- -9.0 on 4 November 2026 (C to E): product, new evidence\n- -0.2 on 8 October 2026: checklist\n\n## Verdicts\n\n**Geocodio.** Geocodio publishes llms.txt, an AGENTS.md on cost and retries, an OpenAPI spec and a dated changelog, and its results may be stored permanently. Coverage stops at six countries, there's no MCP server or published SLA for self-serve plans, and the docs still put the key in the query string by default.\n\n**TomTom Maps APIs + MCP.** No-card free allowance of 20,000 geocodes, 20,000 reverse geocodes and 20,000 routes a month, with an official MCP server released about weekly. Terms, rate limits and the deprecation policy couldn't be read, the status page bars our reader, and MCP patch releases in October removed tools and inputs without notice.\n\n## Before you call either\n\n### Geocodio\n\n1. Always set `country`, because an address with none falls back to the US and is billed even when it's wrong\n2. Send the key as `Authorization: Bearer`, not in the query string, so it stays out of logs\n3. Use batch POST /geocode (up to 10,000 lookups) or the Lists API rather than looping single requests\n4. Treat accuracy_type place, county or state as not found, and check `_warnings` for appends that were billed but skipped\n5. Don't retry 403 or 422. On 429 read X-RateLimit headers and back off, and never re-upload a list sitting in ENQUEUED\n\n### TomTom Maps APIs + MCP\n\n1. Use tomtom-geocode (20,000 free) rather than tomtom-fuzzy-search (2,500 free) when you have a full address\n2. Pin `@tomtom-org/tomtom-mcp` to a version, since patch releases have removed tools and changed inputs\n3. Page search results with `cursor` and the previous response's `nextCursor`, not `ofs`, from 1.6.12\n4. Read a 403 as the account or key not covering the API, and don't retry it; a 401 means a missing or unknown key\n5. Redact the key parameter before logging REST URLs\n\n## Questions\n\n### Which is better for AI agents, Geocodio or TomTom Maps APIs + MCP?\n\nGeocodio scores 72.2 (BB) on agent readiness against TomTom Maps APIs + MCP's 45.9 (E), and leads in 6 of 7 scored categories.\n\n### Do Geocodio and TomTom Maps APIs + MCP need an API key?\n\nBoth need an API key.\n\n### Can an agent call Geocodio and TomTom Maps APIs + MCP without installing anything?\n\nNo hosted endpoint is listed for Geocodio. TomTom Maps APIs + MCP has a hosted endpoint at https://api.tomtom.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/geocodio-vs-tomtom.json, and with the fewest tokens: https://www.anchorterminal.com/compare/geocodio-vs-tomtom.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"geocodio\", \"b\": \"tomtom\"}`. From a terminal: `anchor compare geocodio tomtom`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/geocodio.json and https://www.anchorterminal.com/api/v1/tools/tomtom.json\n\n## Other comparisons with Geocodio or TomTom Maps APIs + MCP\n\n- [Amazon Location Service vs Geocodio](https://www.anchorterminal.com/compare/amazon-location-vs-geocodio.md)\n- [Amazon Location Service vs TomTom Maps APIs + MCP](https://www.anchorterminal.com/compare/amazon-location-vs-tomtom.md)\n- [ArcGIS Location Platform vs Geocodio](https://www.anchorterminal.com/compare/arcgis-vs-geocodio.md)\n- [ArcGIS Location Platform vs TomTom Maps APIs + MCP](https://www.anchorterminal.com/compare/arcgis-vs-tomtom.md)\n- [Azure Maps vs Geocodio](https://www.anchorterminal.com/compare/azure-maps-vs-geocodio.md)\n- [Azure Maps vs TomTom Maps APIs + MCP](https://www.anchorterminal.com/compare/azure-maps-vs-tomtom.md)\n- [Geoapify Location Platform + MCP vs Geocodio](https://www.anchorterminal.com/compare/geoapify-vs-geocodio.md)\n- [Geoapify Location Platform + MCP vs TomTom Maps APIs + MCP](https://www.anchorterminal.com/compare/geoapify-vs-tomtom.md)\n- [Geocodio vs Google Maps Platform + Grounding Lite MCP](https://www.anchorterminal.com/compare/geocodio-vs-google-maps-platform.md)\n- [Geocodio vs HERE Location Services](https://www.anchorterminal.com/compare/geocodio-vs-here-location-services.md)\n- [Geocodio vs LocationIQ](https://www.anchorterminal.com/compare/geocodio-vs-locationiq.md)\n- [Geocodio vs Mapbox APIs + MCP](https://www.anchorterminal.com/compare/geocodio-vs-mapbox.md)\n- [Geocodio vs MapQuest](https://www.anchorterminal.com/compare/geocodio-vs-mapquest.md)\n- [Geocodio vs MapTiler Cloud](https://www.anchorterminal.com/compare/geocodio-vs-maptiler.md)\n- [Geocodio vs NextBillion.ai](https://www.anchorterminal.com/compare/geocodio-vs-nextbillion.md)\n- [Geocodio vs Nominatim](https://www.anchorterminal.com/compare/geocodio-vs-nominatim.md)\n- [Geocodio vs OpenCage Geocoding API](https://www.anchorterminal.com/compare/geocodio-vs-opencage.md)\n- [Geocodio vs Radar](https://www.anchorterminal.com/compare/geocodio-vs-radar.md)\n- [Geocodio vs Stadia Maps](https://www.anchorterminal.com/compare/geocodio-vs-stadia-maps.md)\n- [Geocodio vs Woosmap](https://www.anchorterminal.com/compare/geocodio-vs-woosmap.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- [HERE Location Services vs TomTom Maps APIs + MCP](https://www.anchorterminal.com/compare/here-location-services-vs-tomtom.md)\n- [LocationIQ vs TomTom Maps APIs + MCP](https://www.anchorterminal.com/compare/locationiq-vs-tomtom.md)\n- [Mapbox APIs + MCP vs TomTom Maps APIs + MCP](https://www.anchorterminal.com/compare/mapbox-vs-tomtom.md)\n- [MapQuest vs TomTom Maps APIs + MCP](https://www.anchorterminal.com/compare/mapquest-vs-tomtom.md)\n- [MapTiler Cloud vs TomTom Maps APIs + MCP](https://www.anchorterminal.com/compare/maptiler-vs-tomtom.md)\n- [Nominatim vs TomTom Maps APIs + MCP](https://www.anchorterminal.com/compare/nominatim-vs-tomtom.md)\n- [OpenCage Geocoding API vs TomTom Maps APIs + MCP](https://www.anchorterminal.com/compare/opencage-vs-tomtom.md)\n- [Radar vs TomTom Maps APIs + MCP](https://www.anchorterminal.com/compare/radar-vs-tomtom.md)\n- [Stadia Maps vs TomTom Maps APIs + MCP](https://www.anchorterminal.com/compare/stadia-maps-vs-tomtom.md)\n- [TomTom Maps APIs + MCP vs Woosmap](https://www.anchorterminal.com/compare/tomtom-vs-woosmap.md)\n- [NextBillion.ai vs TomTom Maps APIs + MCP](https://www.anchorterminal.com/compare/nextbillion-vs-tomtom.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-07",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "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": "Geocodio vs TomTom Maps APIs + MCP",
        "url": ""
      }
    ],
    "description": "Geocodio scores 72.2 (BB) to TomTom Maps's 45.9 (E) for geocoding. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Geocodio BB 72.2",
      "TomTom Maps APIs + MCP E 45.9",
      "scores"
    ],
    "h1": "Geocodio vs TomTom Maps APIs + MCP",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/geocodio-vs-tomtom",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Geocodio vs TomTom Maps for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/geocodio-vs-tomtom"
  },
  "tokens": {
    "markdown": 4550,
    "slim": 2530
  },
  "version": 1
}
