{
  "data": {
    "a": {
      "slug": "geoapify",
      "name": "Geoapify Location Platform + MCP",
      "vendor": "Geoapify",
      "vendorUrl": "https://www.geoapify.com",
      "kind": "http-api",
      "category": "maps",
      "summary": "Geocoding, reverse geocoding, autocomplete, Places search by category, Routing, Route Matrix, isolines and map tiles, with OpenStreetMap attribution required on every plan.",
      "url": "https://www.anchorterminal.com/tools/geoapify",
      "markdownUrl": "https://www.anchorterminal.com/tools/geoapify.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/geoapify.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/geoapify.json",
      "dns": "geoapify.grade.anchorterminal.com",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.geoapify.com/v1",
      "packages": [],
      "auth": "api-key",
      "authNotes": "API key as the apiKey query parameter or the x-api-key header, both defined in the OpenAPI specs. The hosted MCP takes x-api-key. api-eu.geoapify.com serves the same API on EU infrastructure.",
      "pricing": "freemium",
      "pricingNotes": "Free 3,000 credits a day at 5 requests a second, commercial and production use allowed, no card, with a Geoapify attribution link required. API 10 $59 a month (10,000 credits a day, 12 a second), API 25 $109 (25,000), API 50 $179 (50,000), API 100 $299 (100,000), API 250 $609 (250,000), Custom from $860. A simple geocoding, places or routing request costs 1 credit (https://www.geoapify.com/pricing/). Over MCP, initialize, tools/list and notifications cost nothing and each tools/call is billed as the Geoapify API operation behind it (https://apidocs.geoapify.com/how-to/api-tooling-ai/connect-ai-client-mcp/).",
      "priceSummary": "$59 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": 12,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://apidocs.geoapify.com/docs",
      "openapi": "https://apidocs.geoapify.com/open-api/",
      "capabilities": [
        "geo.geocode",
        "geo.reverse",
        "geo.places",
        "geo.routing",
        "geo.tiles"
      ],
      "tags": [
        "hosted",
        "mcp",
        "official",
        "free-tier",
        "no-card",
        "open-data",
        "eu",
        "closed-source"
      ],
      "lastRelease": "2026-11-02",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 58.1,
        "grade": "C",
        "agentReady": false,
        "rank": 765,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 14,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 72,
          "maintenance": 69,
          "payments": 30,
          "reliability": 60,
          "schema": 84,
          "security": 29,
          "transparency": 67
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-04"
        },
        "negative": 0,
        "verdict": "Free plan allows commercial production use, 3,000 credits a day, no card, and a dated public changelog records API and MCP changes, most recently on 2 November 2026. No security.txt, disclosure policy, bug bounty or certification was found, and the specs recommend sending the key in the URL.",
        "bestFor": "Cheap geocoding, category place search, routing and isolines on OpenStreetMap data, with commercial use on the free plan and EU hosting.",
        "strengths": [
          "Free plan allows commercial production use, 3,000 credits a day, no card",
          "OpenAPI 3.1 specs for 22 APIs and one per MCP tool, with error examples",
          "A dated What's new changelog with an RSS feed, five API or MCP entries since 6 August 2026",
          "Data for successful requests held no longer than 24 hours, per the privacy policy",
          "MCP tool descriptions say when to use each tool and which tool to use instead"
        ],
        "weaknesses": [
          "No security.txt, disclosure policy, bug bounty or certification found",
          "No deprecation policy, and the terms allow changes or suspension without notice",
          "Storage rights appear in the docs but not in the terms",
          "The specs recommend the apiKey query parameter for public APIs",
          "The status page loads its history from a path closed to automated readers, so its record couldn't be read"
        ],
        "agentNotes": [
          "Send the key as x-api-key, which the specs support, rather than apiKey in the URL",
          "Use api-eu.geoapify.com when the data has to stay on EU infrastructure",
          "Use calculate_route for geometry and directions, and calculate_route_matrix only for travel times between many points",
          "Read a 429 'Quota exceeded' as the day's credits being gone, not a burst, and wait for the daily reset",
          "Show OpenStreetMap attribution wherever you display results"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 4,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 58.1
          }
        ],
        "editorialScores": {
          "ergonomics": 72,
          "maintenance": 69,
          "payments": 30,
          "reliability": 60,
          "schema": 84,
          "security": 29,
          "transparency": 52
        },
        "provenanceScore": 82,
        "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.geoapify.com/v1/geocode/search?text=10%20Downing%20Street%2C%20London\u0026limit=1\u0026format=json\u0026apiKey=$GEOAPIFY_API_KEY\"",
        "claudeCode": "claude mcp add --transport http geoapify https://api.geoapify.com/v1/mcp --header \"x-api-key: $GEOAPIFY_API_KEY\"",
        "config": {
          "mcpServers": {
            "geoapify": {
              "headers": {
                "x-api-key": "${GEOAPIFY_API_KEY}"
              },
              "type": "http",
              "url": "https://api.geoapify.com/v1/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/geo.geocode",
        "tool": "https://letme.dev/geoapify"
      },
      "area": "everyday",
      "unitPrices": [
        {
          "item": "API 10 plan",
          "unit": "month",
          "usd": 59,
          "note": "10,000 credits a day, 12 requests a second"
        },
        {
          "item": "API 25 plan",
          "unit": "month",
          "usd": 109,
          "note": "25,000 credits a day"
        },
        {
          "item": "API 100 plan",
          "unit": "month",
          "usd": 299,
          "note": "100,000 credits a day, 25 requests a second"
        },
        {
          "item": "API 250 plan",
          "unit": "month",
          "usd": 609,
          "note": "250,000 credits a day"
        }
      ],
      "provenance": {
        "legalEntity": "KEPTAGO LTD",
        "domain": "geoapify.com",
        "domainRegistered": "2018-10-26",
        "endpointOnVendorDomain": true,
        "terms": "https://www.geoapify.com/terms-and-conditions/",
        "privacy": "https://www.geoapify.com/privacy-policy/",
        "statusPage": "https://status.geoapify.com",
        "changelog": "https://www.geoapify.com/news-and-updates/",
        "securityTxt": "none",
        "checked": "2026-11-04",
        "notes": [
          "The terms name KEPTAGO LTD, registered in Paphos, Cyprus, trading as Geoapify. Version 5, dated 2 February 2024, unchanged on 4 November 2026.",
          "www.geoapify.com/.well-known/security.txt returns 404 (4 November 2026).",
          "status.geoapify.com redirects to an UptimeRobot status page, which loads its data from a path that host's robots.txt closes.",
          "The What's new page at https://www.geoapify.com/news-and-updates/ is a dated changelog with an RSS feed. The OpenAPI specs repository on GitHub also has dated commits.",
          "The privacy policy was last modified 1 April 2026, per the 1 October check."
        ],
        "score": 82
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/geoapify.json",
      "live": {
        "slug": "geoapify",
        "probe": {
          "target": "https://api.geoapify.com/v1",
          "method": "get",
          "lastAt": "2026-11-07T19:22:08.582672979Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 182,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 112,
          "p95ms24h": 188,
          "samples24h": 238,
          "samples30d": 7920,
          "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": 252
            },
            {
              "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": 251,
              "ok": 251
            },
            {
              "date": "2026-10-29",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 249
            },
            {
              "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": 197,
              "ok": 197
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.geoapify.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:47:49.907766666Z"
        },
        "securityTxt": {
          "url": "https://geoapify.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:01:02.629902738Z"
        },
        "domain": {
          "domain": "geoapify.com",
          "registered": "2018-10-26",
          "source": "https://rdap.verisign.com/com/v1/domain/geoapify.com",
          "checkedAt": "2026-11-01T14:23:45.368745157Z"
        },
        "pages": [
          {
            "url": "https://www.geoapify.com/news-and-updates/",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-11-07T14:29:00.147305599Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "22ba74feb794"
          },
          {
            "url": "https://www.geoapify.com/pricing/",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-11-07T14:29:02.311882329Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "f9a9f1600f52"
          },
          {
            "url": "https://www.geoapify.com/privacy-policy/",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-11-07T14:29:04.24065775Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "37eb22e1e50f"
          },
          {
            "url": "https://www.geoapify.com/terms-and-conditions/",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-11-07T14:29:06.224946846Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "c5c95d7b727d"
          }
        ],
        "mcpTools": {
          "url": "https://api.geoapify.com/v1/mcp",
          "checkedAt": "2026-11-07T01:44:48.136358465Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-07T01:44:48.136358465Z"
        },
        "updatedAt": "2026-11-07T19:22:08.582672979Z"
      }
    },
    "answer": "Geocodio scores 72.2 (BB) on agent readiness against Geoapify Location Platform + MCP's 58.1 (C), and leads in every scored category.",
    "b": {
      "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": 138,
        "ranked": true,
        "rankOf": 1510,
        "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-07T19:22:12.77760537Z"
        },
        "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-07T19:22:12.77760537Z"
      }
    },
    "edges": [
      {
        "by": 29,
        "category": "security",
        "leads": "geocodio",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "Plain API keys per project, which earns 20. Less the checklist's fixed 10 because the specs call the apiKey query parameter 'Recommended authentication method for public APIs'. The x-api-key header works too and the spec warns that keys in URLs can be logged (10). The APIs only read (12). Results are OpenStreetMap names and addresses, community-edited text, with no prompt-injection guidance (7). We didn't find per-call logs we could read (0). www.geoapify.com/.well-known/security.txt returned 404 on 4 November, and we found no disclosure policy, bug bounty or certification (0). 10+12+7+0+0 = 29.",
          "b": "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."
        },
        "scores": {
          "a": 29,
          "b": 58
        }
      },
      {
        "by": 20,
        "category": "transparency",
        "leads": "geocodio",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "Editorial half only. Closed service with readable terms, still version 5 of 2 February 2024 on 4 November, under Cypriot law (15). The privacy policy says data for successful requests is held no longer than 24 hours and that servers are hosted by Hetzner, with custom DPAs on request (possibly at a cost). The docs say Places and Batch results can be cached or stored with no limits, while the terms say nothing on storage (22). No deprecation policy or dated deprecation notice on the What's new page, and the terms reserve the right to suspend, terminate or change the Service at any time without notice (0). Six processors named, including Hetzner (Germany), Cloudflare and Google Firebase, without locations for most (15). 15+22+0+15 = 52.",
          "b": "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."
        },
        "scores": {
          "a": 67,
          "b": 87
        }
      },
      {
        "by": 17,
        "category": "maintenance",
        "leads": "geocodio",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "The What's new page dates two API entries on 2 November 2026 (Marker Icon API and Static Maps API marker options), two days before this check (30). In the 90 days from 6 August it lists API or MCP changes on 6 August (MCP Places and Routing tools), 28 August (MCP geometry operations), 23 October (Timezone API and get_timezone tool) and 2 November (two), and the OpenAPI repository has commits on 1, 2 and 25 September and 16, 23 and 30 October (20, from 15). A public changelog with an RSS feed and email support on paid plans. We didn't test support response (8 of 15, from 5). The JavaScript libraries are current, with geocoder-autocomplete at v3.1.0 on 27 July 2026, and the official MCP isn't in the MCP registry (6). The autocomplete SDK carries Jest tests (5). 30+20+8+6+5 = 69.",
          "b": "API v2.1 released 3 November 2026 (Australia and New Zealand), and PHP library 3.4.1 on 4 November (30). Dated changelog entries on 8 September, 1, 8, 9, 19, 22 and 31 October and 3 November 2026, plus library releases in October (20). Public changelog, support by email and a team-staffed help desk named on the pricing page. We didn't read GitHub issue reply times (12). Official Python 1.6.0 and Node 2.3.0 from 12 October and PHP 3.4.1 from 4 November are current (15). Each library and the CLI run CI on GitHub Actions; we didn't check whether the runs pass (9). 30+20+12+15+9 = 86."
        },
        "scores": {
          "a": 69,
          "b": 86
        }
      },
      {
        "by": 10,
        "category": "reliability",
        "leads": "geocodio",
        "name": "Reliability",
        "reasons": {
          "a": "status.geoapify.com redirects to an UptimeRobot page. On 4 November its HTML again showed only an error fetching the data, which the page loads from stats.uptimerobot.com/api/, a path that host's robots.txt closes, so no component or incident was read. The page keeps its first award of 15 of 20 while the UptimeRobot split stays open, and 5 for a history we couldn't read (our limit, not a finding against Geoapify). Per-plan rates are published, 5 requests a second on Free up to 30 on API 250 (15). 429 is in the OpenAPI specs as 'Rate limit or quota exceeded' with a JSON body, but there's no Retry-After or backoff guidance, and the pricing page says limits are soft and Geoapify doesn't throttle in general (7, an earlier partial kept). The terms say all paid plans include a default SLA of 99.5 per cent monthly availability, with a 10 per cent discount below it and 50 per cent below 99 per cent (10). The APIs are GA. The MCP page gives no launch stage (8, an earlier partial kept). 15+5+15+7+10+8 = 60.",
          "b": "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."
        },
        "scores": {
          "a": 60,
          "b": 70
        }
      },
      {
        "by": 10,
        "category": "payments",
        "leads": "geocodio",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). Public plan prices with credit costs per request (1 credit for a simple geocode, place search, route or timezone lookup), but no per-unit overage price, since limits are soft and Geoapify asks heavy users to upgrade (10). Free plan of 3,000 credits a day with 'No credit card required', and commercial use allowed with attribution (20). Signup is a browser flow (0). 0+10+20+0 = 30.",
          "b": "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."
        },
        "scores": {
          "a": 30,
          "b": 40
        }
      },
      {
        "by": 8,
        "category": "schema",
        "leads": "geocodio",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "OpenAPI 3.1 specs for 22 APIs and a separate spec per MCP tool in geoapify/geoapify-openapi-specs, with documented 400, 401, 429 and 500 responses, and the repository added the Timezone API on 23 October 2026 (25). apidocs.geoapify.com/llms.txt still serves the HTML home page on 4 November, and we found no Markdown docs for agents (0). The MCP page's 12 tools each carry a 'when to use' line and name the sibling tool to use instead, for example calculate_route_matrix sends you to calculate_route for geometry (18). Typed parameters with limits such as limit at most 100, and enums for type and format (13). Error examples in the specs, such as '\"limit\" must be less than or equal to 100', and a playground per API (13). v1 and v2 paths, versioned specs, and a dated public changelog at www.geoapify.com/news-and-updates/ with entries back to September 2022 and an RSS feed, which the 1 October check missed (15, from 5). 25+0+18+13+13+15 = 84.",
          "b": "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."
        },
        "scores": {
          "a": 84,
          "b": 92
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Geoapify",
        "b": "Dotsquare LLC",
        "name": "Vendor"
      },
      {
        "a": "https://api.geoapify.com/v1",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "not published",
        "b": "$1600 per month (plan)",
        "name": "Price for geocoding"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "12",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-11-02",
        "b": "2026-11-03",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "2018-05-25",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "21k npm/wk, 921 PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "4/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Geocodio scores 72.2 (BB) on agent readiness against Geoapify Location Platform + MCP's 58.1 (C), and leads in every scored category.",
        "question": "Which is better for AI agents, Geoapify Location Platform + MCP or Geocodio?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do Geoapify Location Platform + MCP and Geocodio need an API key?"
      },
      {
        "answer": "Geoapify Location Platform + MCP has a hosted endpoint at https://api.geoapify.com/v1. No hosted endpoint is listed for Geocodio.",
        "question": "Can an agent call Geoapify Location Platform + MCP and Geocodio without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": [
          "A hosted endpoint, with nothing to install"
        ],
        "goodFor": "Cheap geocoding, category place search, routing and isolines on OpenStreetMap data, with commercial use on the free plan and EU hosting.",
        "slug": "geoapify",
        "watchFor": "No security.txt, disclosure policy, bug bounty or certification found"
      },
      {
        "aheadOn": [
          "Reliability, 70 against 60",
          "Schema \u0026 documentation, 92 against 84",
          "Agent ergonomics, 80 against 72",
          "Security \u0026 auth, 58 against 29",
          "Payments \u0026 pricing, 40 against 30",
          "Maintenance \u0026 community, 86 against 69",
          "Transparency \u0026 trust, 87 against 67"
        ],
        "also": [
          "Agent-ready, a grade of BB or better"
        ],
        "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"
      }
    ],
    "history": {
      "geoapify": [
        {
          "causes": [
            "evidence"
          ],
          "date": "2026-11-04",
          "delta": 2.8,
          "from": 55.3,
          "fromGrade": "C",
          "to": 58.1,
          "toGrade": "C"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-08",
          "delta": -0.2,
          "from": 55.5,
          "fromGrade": "C",
          "to": 55.3,
          "toGrade": "C"
        }
      ],
      "geocodio": null
    },
    "job": {
      "capability": "geo.geocode",
      "name": "Geocoding"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/amazon-location-vs-geoapify.json",
        "title": "Amazon Location Service vs Geoapify Location Platform + MCP",
        "url": "https://www.anchorterminal.com/compare/amazon-location-vs-geoapify"
      },
      {
        "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/arcgis-vs-geoapify.json",
        "title": "ArcGIS Location Platform vs Geoapify Location Platform + MCP",
        "url": "https://www.anchorterminal.com/compare/arcgis-vs-geoapify"
      },
      {
        "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/azure-maps-vs-geoapify.json",
        "title": "Azure Maps vs Geoapify Location Platform + MCP",
        "url": "https://www.anchorterminal.com/compare/azure-maps-vs-geoapify"
      },
      {
        "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/geoapify-vs-google-maps-platform.json",
        "title": "Geoapify Location Platform + MCP vs Google Maps Platform + Grounding Lite MCP",
        "url": "https://www.anchorterminal.com/compare/geoapify-vs-google-maps-platform"
      },
      {
        "json": "https://www.anchorterminal.com/compare/geoapify-vs-here-location-services.json",
        "title": "Geoapify Location Platform + MCP vs HERE Location Services",
        "url": "https://www.anchorterminal.com/compare/geoapify-vs-here-location-services"
      },
      {
        "json": "https://www.anchorterminal.com/compare/geoapify-vs-locationiq.json",
        "title": "Geoapify Location Platform + MCP vs LocationIQ",
        "url": "https://www.anchorterminal.com/compare/geoapify-vs-locationiq"
      },
      {
        "json": "https://www.anchorterminal.com/compare/geoapify-vs-mapbox.json",
        "title": "Geoapify Location Platform + MCP vs Mapbox APIs + MCP",
        "url": "https://www.anchorterminal.com/compare/geoapify-vs-mapbox"
      },
      {
        "json": "https://www.anchorterminal.com/compare/geoapify-vs-mapquest.json",
        "title": "Geoapify Location Platform + MCP vs MapQuest",
        "url": "https://www.anchorterminal.com/compare/geoapify-vs-mapquest"
      },
      {
        "json": "https://www.anchorterminal.com/compare/geoapify-vs-maptiler.json",
        "title": "Geoapify Location Platform + MCP vs MapTiler Cloud",
        "url": "https://www.anchorterminal.com/compare/geoapify-vs-maptiler"
      },
      {
        "json": "https://www.anchorterminal.com/compare/geoapify-vs-nextbillion.json",
        "title": "Geoapify Location Platform + MCP vs NextBillion.ai",
        "url": "https://www.anchorterminal.com/compare/geoapify-vs-nextbillion"
      },
      {
        "json": "https://www.anchorterminal.com/compare/geoapify-vs-nominatim.json",
        "title": "Geoapify Location Platform + MCP vs Nominatim",
        "url": "https://www.anchorterminal.com/compare/geoapify-vs-nominatim"
      },
      {
        "json": "https://www.anchorterminal.com/compare/geoapify-vs-opencage.json",
        "title": "Geoapify Location Platform + MCP vs OpenCage Geocoding API",
        "url": "https://www.anchorterminal.com/compare/geoapify-vs-opencage"
      },
      {
        "json": "https://www.anchorterminal.com/compare/geoapify-vs-radar.json",
        "title": "Geoapify Location Platform + MCP vs Radar",
        "url": "https://www.anchorterminal.com/compare/geoapify-vs-radar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/geoapify-vs-stadia-maps.json",
        "title": "Geoapify Location Platform + MCP vs Stadia Maps",
        "url": "https://www.anchorterminal.com/compare/geoapify-vs-stadia-maps"
      },
      {
        "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/geoapify-vs-woosmap.json",
        "title": "Geoapify Location Platform + MCP vs Woosmap",
        "url": "https://www.anchorterminal.com/compare/geoapify-vs-woosmap"
      },
      {
        "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-tomtom.json",
        "title": "Geocodio vs TomTom Maps APIs + MCP",
        "url": "https://www.anchorterminal.com/compare/geocodio-vs-tomtom"
      },
      {
        "json": "https://www.anchorterminal.com/compare/geocodio-vs-woosmap.json",
        "title": "Geocodio vs Woosmap",
        "url": "https://www.anchorterminal.com/compare/geocodio-vs-woosmap"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 10,
        "edge": "geocodio",
        "geoapify": 60,
        "geocodio": 70,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 8,
        "edge": "geocodio",
        "geoapify": 84,
        "geocodio": 92,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 8,
        "edge": "geocodio",
        "geoapify": 72,
        "geocodio": 80,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 29,
        "edge": "geocodio",
        "geoapify": 29,
        "geocodio": 58,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 10,
        "edge": "geocodio",
        "geoapify": 30,
        "geocodio": 40,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 17,
        "edge": "geocodio",
        "geoapify": 69,
        "geocodio": 86,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 20,
        "edge": "geocodio",
        "geoapify": 67,
        "geocodio": 87,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Geocodio scores 72.2 (BB) on agent readiness against Geoapify Location Platform + MCP's 58.1 (C), and leads in every scored category. Both do geocoding.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "geoapify": "Free plan allows commercial production use, 3,000 credits a day, no card, and a dated public changelog records API and MCP changes, most recently on 2 November 2026. No security.txt, disclosure policy, bug bounty or certification was found, and the specs recommend sending the key in the URL.",
      "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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/geoapify-vs-geocodio",
    "json": "https://www.anchorterminal.com/compare/geoapify-vs-geocodio.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/geoapify-vs-geocodio.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/geoapify-vs-geocodio.min.md"
  },
  "markdown": "Geocodio scores 72.2 (BB) on agent readiness against Geoapify Location Platform + MCP's 58.1 (C), and leads in every scored category. Both do geocoding.\n\n- Geoapify Location Platform + MCP: grade C, 58.1/100, rank #765 of 1510. Markdown https://www.anchorterminal.com/tools/geoapify.md · JSON https://www.anchorterminal.com/api/v1/tools/geoapify.json\n- Geocodio: grade BB, 72.2/100, rank #138 of 1510. Markdown https://www.anchorterminal.com/tools/geocodio.md · JSON https://www.anchorterminal.com/api/v1/tools/geocodio.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### Geoapify Location Platform + MCP (C)\n\nGood for: Cheap geocoding, category place search, routing and isolines on OpenStreetMap data, with commercial use on the free plan and EU hosting.\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n\nWatch for: No security.txt, disclosure policy, bug bounty or certification found\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 60\n- Schema \u0026 documentation, 92 against 84\n- Agent ergonomics, 80 against 72\n- Security \u0026 auth, 58 against 29\n- Payments \u0026 pricing, 40 against 30\n- Maintenance \u0026 community, 86 against 69\n- Transparency \u0026 trust, 87 against 67\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\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\n## Why the edge\n\n### Security \u0026 auth: Geocodio +29\n\n- Geoapify Location Platform + MCP (29): Plain API keys per project, which earns 20. Less the checklist's fixed 10 because the specs call the apiKey query parameter 'Recommended authentication method for public APIs'. The x-api-key header works too and the spec warns that keys in URLs can be logged (10). The APIs only read (12). Results are OpenStreetMap names and addresses, community-edited text, with no prompt-injection guidance (7). We didn't find per-call logs we could read (0). www.geoapify.com/.well-known/security.txt returned 404 on 4 November, and we found no disclosure policy, bug bounty or certification (0). 10+12+7+0+0 = 29.\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\n### Transparency \u0026 trust: Geocodio +20\n\n- Geoapify Location Platform + MCP (67): Editorial half only. Closed service with readable terms, still version 5 of 2 February 2024 on 4 November, under Cypriot law (15). The privacy policy says data for successful requests is held no longer than 24 hours and that servers are hosted by Hetzner, with custom DPAs on request (possibly at a cost). The docs say Places and Batch results can be cached or stored with no limits, while the terms say nothing on storage (22). No deprecation policy or dated deprecation notice on the What's new page, and the terms reserve the right to suspend, terminate or change the Service at any time without notice (0). Six processors named, including Hetzner (Germany), Cloudflare and Google Firebase, without locations for most (15). 15+22+0+15 = 52.\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\n### Maintenance \u0026 community: Geocodio +17\n\n- Geoapify Location Platform + MCP (69): The What's new page dates two API entries on 2 November 2026 (Marker Icon API and Static Maps API marker options), two days before this check (30). In the 90 days from 6 August it lists API or MCP changes on 6 August (MCP Places and Routing tools), 28 August (MCP geometry operations), 23 October (Timezone API and get_timezone tool) and 2 November (two), and the OpenAPI repository has commits on 1, 2 and 25 September and 16, 23 and 30 October (20, from 15). A public changelog with an RSS feed and email support on paid plans. We didn't test support response (8 of 15, from 5). The JavaScript libraries are current, with geocoder-autocomplete at v3.1.0 on 27 July 2026, and the official MCP isn't in the MCP registry (6). The autocomplete SDK carries Jest tests (5). 30+20+8+6+5 = 69.\n- Geocodio (86): API v2.1 released 3 November 2026 (Australia and New Zealand), and PHP library 3.4.1 on 4 November (30). Dated changelog entries on 8 September, 1, 8, 9, 19, 22 and 31 October and 3 November 2026, plus library releases in October (20). Public changelog, support by email and a team-staffed help desk named on the pricing page. We didn't read GitHub issue reply times (12). Official Python 1.6.0 and Node 2.3.0 from 12 October and PHP 3.4.1 from 4 November are current (15). Each library and the CLI run CI on GitHub Actions; we didn't check whether the runs pass (9). 30+20+12+15+9 = 86.\n\n### Reliability: Geocodio +10\n\n- Geoapify Location Platform + MCP (60): status.geoapify.com redirects to an UptimeRobot page. On 4 November its HTML again showed only an error fetching the data, which the page loads from stats.uptimerobot.com/api/, a path that host's robots.txt closes, so no component or incident was read. The page keeps its first award of 15 of 20 while the UptimeRobot split stays open, and 5 for a history we couldn't read (our limit, not a finding against Geoapify). Per-plan rates are published, 5 requests a second on Free up to 30 on API 250 (15). 429 is in the OpenAPI specs as 'Rate limit or quota exceeded' with a JSON body, but there's no Retry-After or backoff guidance, and the pricing page says limits are soft and Geoapify doesn't throttle in general (7, an earlier partial kept). The terms say all paid plans include a default SLA of 99.5 per cent monthly availability, with a 10 per cent discount below it and 50 per cent below 99 per cent (10). The APIs are GA. The MCP page gives no launch stage (8, an earlier partial kept). 15+5+15+7+10+8 = 60.\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\n### Payments \u0026 pricing: Geocodio +10\n\n- Geoapify Location Platform + MCP (30): No x402, MPP or L402 (0). Public plan prices with credit costs per request (1 credit for a simple geocode, place search, route or timezone lookup), but no per-unit overage price, since limits are soft and Geoapify asks heavy users to upgrade (10). Free plan of 3,000 credits a day with 'No credit card required', and commercial use allowed with attribution (20). Signup is a browser flow (0). 0+10+20+0 = 30.\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\n### Schema \u0026 documentation: Geocodio +8\n\n- Geoapify Location Platform + MCP (84): OpenAPI 3.1 specs for 22 APIs and a separate spec per MCP tool in geoapify/geoapify-openapi-specs, with documented 400, 401, 429 and 500 responses, and the repository added the Timezone API on 23 October 2026 (25). apidocs.geoapify.com/llms.txt still serves the HTML home page on 4 November, and we found no Markdown docs for agents (0). The MCP page's 12 tools each carry a 'when to use' line and name the sibling tool to use instead, for example calculate_route_matrix sends you to calculate_route for geometry (18). Typed parameters with limits such as limit at most 100, and enums for type and format (13). Error examples in the specs, such as '\"limit\" must be less than or equal to 100', and a playground per API (13). v1 and v2 paths, versioned specs, and a dated public changelog at www.geoapify.com/news-and-updates/ with entries back to September 2022 and an RSS feed, which the 1 October check missed (15, from 5). 25+0+18+13+13+15 = 84.\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\n## Score by category\n\n| Category | Weight | Geoapify Location Platform + MCP | Geocodio | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 60 | 70 | Geocodio +10 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 84 | 92 | Geocodio +8 |\n| Agent ergonomics | 13% (16.2 this run) | 72 | 80 | Geocodio +8 |\n| Security \u0026 auth | 14% (17.5 this run) | 29 | 58 | Geocodio +29 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 40 | Geocodio +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 69 | 86 | Geocodio +17 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 67 | 87 | Geocodio +20 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **58.1 · C** | **72.2 · BB** | |\n\n## Facts side by side\n\n| Fact | Geoapify Location Platform + MCP | Geocodio |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Geoapify | Dotsquare LLC |\n| Hosted endpoint | `https://api.geoapify.com/v1` | no (local only) |\n| Transports | HTTP, Streamable HTTP | HTTP |\n| Auth | API key | API key |\n| Pricing | Freemium | Freemium |\n| Price for geocoding | not published | $1600 per month (plan) |\n| x402 | no | no |\n| Tools exposed | 12 | none |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | 2026-11-02 | 2026-11-03 |\n| Terms last updated | no date given | no date given |\n| Privacy policy last updated | no date given | 2018-05-25 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | yes |\n| Terms restrict benchmarking | not found in the text | yes |\n| Terms or service can change without notice | yes | yes |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Popularity | none | 21k npm/wk, 921 PyPI/wk |\n| Agent reviews | 4/5 (2) | none |\n\n## How the scores have moved\n\n### Geoapify Location Platform + MCP\n\n- +2.8 on 4 November 2026: new evidence\n- -0.2 on 8 October 2026: checklist\n\n### Geocodio\n\nNo score change since it was listed.\n\n## Verdicts\n\n**Geoapify Location Platform + MCP.** Free plan allows commercial production use, 3,000 credits a day, no card, and a dated public changelog records API and MCP changes, most recently on 2 November 2026. No security.txt, disclosure policy, bug bounty or certification was found, and the specs recommend sending the key in the URL.\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## Before you call either\n\n### Geoapify Location Platform + MCP\n\n1. Send the key as x-api-key, which the specs support, rather than apiKey in the URL\n2. Use api-eu.geoapify.com when the data has to stay on EU infrastructure\n3. Use calculate_route for geometry and directions, and calculate_route_matrix only for travel times between many points\n4. Read a 429 'Quota exceeded' as the day's credits being gone, not a burst, and wait for the daily reset\n5. Show OpenStreetMap attribution wherever you display results\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## Questions\n\n### Which is better for AI agents, Geoapify Location Platform + MCP or Geocodio?\n\nGeocodio scores 72.2 (BB) on agent readiness against Geoapify Location Platform + MCP's 58.1 (C), and leads in every scored category.\n\n### Do Geoapify Location Platform + MCP and Geocodio need an API key?\n\nBoth need an API key.\n\n### Can an agent call Geoapify Location Platform + MCP and Geocodio without installing anything?\n\nGeoapify Location Platform + MCP has a hosted endpoint at https://api.geoapify.com/v1. No hosted endpoint is listed for Geocodio.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/geoapify-vs-geocodio.json, and with the fewest tokens: https://www.anchorterminal.com/compare/geoapify-vs-geocodio.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"geoapify\", \"b\": \"geocodio\"}`. From a terminal: `anchor compare geoapify geocodio`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/geoapify.json and https://www.anchorterminal.com/api/v1/tools/geocodio.json\n\n## Other comparisons with Geoapify Location Platform + MCP or Geocodio\n\n- [Amazon Location Service vs Geoapify Location Platform + MCP](https://www.anchorterminal.com/compare/amazon-location-vs-geoapify.md)\n- [Amazon Location Service vs Geocodio](https://www.anchorterminal.com/compare/amazon-location-vs-geocodio.md)\n- [ArcGIS Location Platform vs Geoapify Location Platform + MCP](https://www.anchorterminal.com/compare/arcgis-vs-geoapify.md)\n- [ArcGIS Location Platform vs Geocodio](https://www.anchorterminal.com/compare/arcgis-vs-geocodio.md)\n- [Azure Maps vs Geoapify Location Platform + MCP](https://www.anchorterminal.com/compare/azure-maps-vs-geoapify.md)\n- [Azure Maps vs Geocodio](https://www.anchorterminal.com/compare/azure-maps-vs-geocodio.md)\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 HERE Location Services](https://www.anchorterminal.com/compare/geoapify-vs-here-location-services.md)\n- [Geoapify Location Platform + MCP vs LocationIQ](https://www.anchorterminal.com/compare/geoapify-vs-locationiq.md)\n- [Geoapify Location Platform + MCP vs Mapbox APIs + MCP](https://www.anchorterminal.com/compare/geoapify-vs-mapbox.md)\n- [Geoapify Location Platform + MCP vs MapQuest](https://www.anchorterminal.com/compare/geoapify-vs-mapquest.md)\n- [Geoapify Location Platform + MCP vs MapTiler Cloud](https://www.anchorterminal.com/compare/geoapify-vs-maptiler.md)\n- [Geoapify Location Platform + MCP vs NextBillion.ai](https://www.anchorterminal.com/compare/geoapify-vs-nextbillion.md)\n- [Geoapify Location Platform + MCP vs Nominatim](https://www.anchorterminal.com/compare/geoapify-vs-nominatim.md)\n- [Geoapify Location Platform + MCP vs OpenCage Geocoding API](https://www.anchorterminal.com/compare/geoapify-vs-opencage.md)\n- [Geoapify Location Platform + MCP vs Radar](https://www.anchorterminal.com/compare/geoapify-vs-radar.md)\n- [Geoapify Location Platform + MCP vs Stadia Maps](https://www.anchorterminal.com/compare/geoapify-vs-stadia-maps.md)\n- [Geoapify Location Platform + MCP vs TomTom Maps APIs + MCP](https://www.anchorterminal.com/compare/geoapify-vs-tomtom.md)\n- [Geoapify Location Platform + MCP vs Woosmap](https://www.anchorterminal.com/compare/geoapify-vs-woosmap.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 TomTom Maps APIs + MCP](https://www.anchorterminal.com/compare/geocodio-vs-tomtom.md)\n- [Geocodio vs Woosmap](https://www.anchorterminal.com/compare/geocodio-vs-woosmap.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": "Geoapify Location Platform + MCP vs Geocodio",
        "url": ""
      }
    ],
    "description": "Geocodio scores 72.2 (BB) to Geoapify Location Platform's 58.1 (C) for geocoding. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Geoapify Location Platform + MCP C 58.1",
      "Geocodio BB 72.2",
      "scores"
    ],
    "h1": "Geoapify Location Platform + MCP vs Geocodio",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/geoapify-vs-geocodio",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Geoapify Location Platform vs Geocodio for AI agents (2026)",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/geoapify-vs-geocodio"
  },
  "tokens": {
    "markdown": 5100,
    "slim": 2980
  },
  "version": 1
}
