{
  "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": "MapTiler Cloud scores 62.1 (B) on agent readiness against Geoapify Location Platform + MCP's 58.1 (C), and leads in 4 of 7 scored categories. Geoapify Location Platform + MCP leads on reliability and schema \u0026 documentation.",
    "b": {
      "slug": "maptiler",
      "name": "MapTiler Cloud",
      "vendor": "MapTiler AG",
      "vendorUrl": "https://www.maptiler.com",
      "kind": "http-api",
      "category": "maps",
      "summary": "MapTiler Cloud is a hosted maps platform from MapTiler AG in Switzerland. Its read-only REST APIs serve map styles, vector and raster tiles, static maps, forward and reverse geocoding, IP geolocation, elevation, coordinate transforms and weather data.",
      "url": "https://www.anchorterminal.com/tools/maptiler",
      "markdownUrl": "https://www.anchorterminal.com/tools/maptiler.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/maptiler.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/maptiler.json",
      "dns": "maptiler.grade.anchorterminal.com",
      "repo": "https://github.com/maptiler/maptiler-client-js",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "@maptiler/client"
        },
        {
          "registry": "npm",
          "name": "@maptiler/sdk"
        }
      ],
      "auth": "api-key",
      "authNotes": "API key from the MapTiler Cloud account after a browser signup, always passed as the `key` query parameter. Keys can be limited to HTTP origins and a User-Agent substring and are managed through the Service API. From a backend, a service token can sign each request with a `signature` parameter instead. The Service API (uploads, tilesets, keys, analytics) needs a service token.",
      "pricing": "freemium",
      "pricingNotes": "Free plan with 100,000 API requests, 5,000 sessions and 1,000 search sessions a month, no card, for testing and non-commercial use; service pauses at the limit. Flex is $30 a month with 500,000 requests, then $0.15 per 1,000 requests and $2.50 per 1,000 search sessions. Custom contracts carry a 99.9% SLA.",
      "priceSummary": "$0.15 / 1k req",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API reference, OpenAPI spec, llms.txt or pricing page (checked 2026-11-06). Paid plans are billed by FastSpring.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 114682,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://docs.maptiler.com/cloud/api/",
      "llmsTxt": "https://docs.maptiler.com/llms.txt",
      "openapi": "https://docs.maptiler.com/_data/cloud/api/openapi.yml",
      "capabilities": [
        "geo.geocode",
        "geo.reverse",
        "geo.places",
        "geo.tiles",
        "data.weather"
      ],
      "tags": [
        "hosted",
        "api-key",
        "freemium",
        "free-tier",
        "no-card",
        "llms-txt",
        "openapi",
        "official",
        "agent-skills",
        "typescript",
        "status-page",
        "security-txt",
        "iso27001",
        "eu",
        "eu-region",
        "sla",
        "closed-source"
      ],
      "lastRelease": "2026-10-02",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 62.1,
        "grade": "B",
        "agentReady": false,
        "rank": 576,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 10,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 70,
          "maintenance": 70,
          "payments": 40,
          "reliability": 43,
          "schema": 79,
          "security": 64,
          "transparency": 80
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "MapTiler Cloud has an OpenAPI 3.1 reference, llms.txt with Markdown pages, an agent skill and ISO 27001 certification, and allows geocoding results to be stored. The key always travels in the query string, there's no routing API, no documented rate limit or 429 handling, and the free plan excludes commercial use.",
        "bestFor": "Map tiles, static maps and worldwide geocoding with storable results for apps that also show a map, with EU data residency.",
        "strengths": [
          "OpenAPI 3.1.0 spec, llms.txt, llms-full.txt and a Markdown version of every docs page",
          "Geocoding results may be bulk downloaded and used outside the service with attribution",
          "Keys can be restricted by origin and User-Agent, and service tokens can sign requests instead",
          "ISO/IEC 27001:2022 certification, security.txt and a vulnerability disclosure policy",
          "EU-only endpoint at api.maptiler.eu and hosting mainly in Switzerland and the EEA"
        ],
        "weaknesses": [
          "The API key is always sent as a query parameter",
          "No routing, directions or matrix API",
          "No per-second rate limit, 429 behaviour or retry guidance found in the documentation",
          "The free plan is for testing and non-commercial use only, and pauses at its monthly limit",
          "Official clients are JavaScript and TypeScript only"
        ],
        "agentNotes": [
          "Restrict the key to an origin or User-Agent, or sign requests with a service token from a backend, since the key appears in every URL",
          "Use the batch geocoding path (up to 50 semicolon-separated queries) rather than one call per address",
          "Use api.maptiler.eu when the user's requests must stay in the EU",
          "Read docs pages as Markdown by appending .md, starting from https://docs.maptiler.com/llms.txt",
          "Don't cache map tiles server-side; the Cloud terms forbid it, though geocoding results may be stored with attribution"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 62.1
          }
        ],
        "editorialScores": {
          "ergonomics": 70,
          "maintenance": 70,
          "payments": 40,
          "reliability": 43,
          "schema": 79,
          "security": 64,
          "transparency": 64
        },
        "provenanceScore": 96,
        "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": "npm install @maptiler/client",
        "http": "curl \"https://api.maptiler.com/geocoding/Zurich.json?language=en\u0026limit=3\u0026key=$MAPTILER_API_KEY\""
      },
      "letme": {
        "capability": "https://letme.dev/geo.geocode",
        "tool": "https://letme.dev/maptiler"
      },
      "area": "everyday",
      "unitPrices": [
        {
          "item": "API requests over the Flex allowance",
          "unit": "1k-requests",
          "usd": 0.15,
          "note": "Flex includes 500,000 a month"
        },
        {
          "item": "Search sessions over the Flex allowance",
          "unit": "1k-requests",
          "usd": 2.5,
          "note": "Priced per 1,000 search sessions through MapTiler SDK JS"
        },
        {
          "item": "Flex plan",
          "unit": "month",
          "usd": 30,
          "note": "Extra usage billed monthly"
        }
      ],
      "provenance": {
        "legalEntity": "MapTiler AG",
        "domain": "maptiler.com",
        "domainRegistered": "2008-08-08",
        "endpointOnVendorDomain": true,
        "terms": "https://www.maptiler.com/terms/",
        "privacy": "https://www.maptiler.com/privacy-policy/",
        "statusPage": "https://status.maptiler.com",
        "changelog": "https://docs.maptiler.com/updates/",
        "securityTxt": "valid",
        "checked": "2026-11-06",
        "notes": [
          "The general terms name MapTiler AG, Zugerstrasse 22, 6314 Unterägeri, Switzerland, under Swiss law with courts in Zug.",
          "security.txt at www.maptiler.com/.well-known/security.txt names sysadmin@maptiler.com, a PGP key and a signature, and has no Expires field.",
          "status.maptiler.com is a StatusCake public report whose data loads from app.statuscake.com. That host's robots.txt answered with a redirect, so it wasn't fetched and no uptime or incident history was read.",
          "RDAP gives maptiler.com a registration date of 8 August 2008.",
          "No clause on automated access to the website was found in the general terms. robots.txt on www.maptiler.com and docs.maptiler.com allows all agents apart from a few paths."
        ],
        "score": 96
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/maptiler.json",
      "live": {
        "slug": "maptiler",
        "vendorStatus": {
          "page": "https://status.maptiler.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:48:02.124798696Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "maptiler/maptiler-client-js",
            "version": "v3.1.0",
            "released": "2026-10-02",
            "seenAt": "2026-11-06T23:42:38.646681081Z"
          },
          {
            "registry": "npm",
            "name": "@maptiler/client",
            "version": "3.1.0",
            "seenAt": "2026-11-06T23:42:36.419318643Z"
          },
          {
            "registry": "npm",
            "name": "@maptiler/sdk",
            "version": "4.2.1",
            "seenAt": "2026-11-06T23:42:37.315182633Z"
          }
        ],
        "githubStars": 25,
        "npmWeekly": 114682,
        "securityTxt": {
          "url": "https://maptiler.com/.well-known/security.txt",
          "state": "valid",
          "checkedAt": "2026-11-07T15:59:35.51300876Z"
        },
        "llmsTxt": {
          "url": "https://docs.maptiler.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:57.151624353Z"
        },
        "pages": [
          {
            "url": "https://docs.maptiler.com/updates/",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:06:56.724195464Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "1152e8fe8b9d"
          },
          {
            "url": "https://www.maptiler.com/privacy-policy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:31:21.154658791Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "46d3f1544780"
          },
          {
            "url": "https://www.maptiler.com/terms/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:31:23.29013826Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "fc740f21aa9f"
          }
        ],
        "updatedAt": "2026-11-07T15:59:35.51300876Z"
      }
    },
    "edges": [
      {
        "by": 35,
        "category": "security",
        "leads": "maptiler",
        "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 that can be limited to origins and a User-Agent substring and managed by the API keys API, and service tokens that sign requests so the token itself never travels, which earns 27. Less 10 because the key is 'always passed as a query parameter' (17). The public APIs are read-only, and account changes need a separate service token (16). Geocoding returns OpenStreetMap names and addresses, community-edited text, with no prompt-injection guidance (7). An Analytics API and account usage statistics (8). security.txt, a vulnerability disclosure policy and ISO/IEC 27001:2022 certification per the security page. No bug bounty found (16). 17+16+7+8+16 = 64."
        },
        "scores": {
          "a": 29,
          "b": 64
        }
      },
      {
        "by": 17,
        "category": "reliability",
        "leads": "geoapify",
        "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. status.maptiler.com is a StatusCake public uptime report rather than a component incident page (15). Its data loads from app.statuscake.com, whose robots.txt answered with a redirect, so we didn't fetch it and read no history. That's our limit, not a finding, and the rubric gives 5 (5). Monthly request and session quotas are published per plan, but no per-second limit (5). No 429, Retry-After or backoff guidance found in the API reference, the OpenAPI spec or llms-full.txt (0). The pricing page lists a 99.9% SLA on the Custom plan, while the Cloud terms call availability best effort and point to a custom SLA (8). The public APIs are GA (10). 15+5+5+0+8+10 = 43."
        },
        "scores": {
          "a": 60,
          "b": 43
        }
      },
      {
        "by": 13,
        "category": "transparency",
        "leads": "maptiler",
        "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 general and Cloud-specific terms under Swiss law, and SDKs under BSD 3-Clause and the skill under MIT (20). The privacy policy covers account and payment data and says legal-claim data is kept up to 10 years, but says nothing about how long API request logs are kept (15). A dated deprecation page for v3 maps and migration guides, with no written notice period (12). Hosting with OVHcloud and Google Firebase, data mainly in Switzerland and the EEA, and an EU-only endpoint. Google Analytics, Firebase and FastSpring named in the privacy policy (17). 20+15+12+17 = 64."
        },
        "scores": {
          "a": 67,
          "b": 80
        }
      },
      {
        "by": 10,
        "category": "payments",
        "leads": "maptiler",
        "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). Per-1,000 prices for requests ($0.15) and sessions ($2.50) public without login (20). Free plan with no card, though only for testing and non-commercial use (20). Signup is a browser flow (0). 0+20+20+0 = 40."
        },
        "scores": {
          "a": 30,
          "b": 40
        }
      },
      {
        "by": 5,
        "category": "schema",
        "leads": "geoapify",
        "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.1.0 document with 32 paths for the public APIs (25). llms.txt, llms-full.txt and a Markdown twin of every page (10). Each API page says what it's for and when to use the SDK instead (session billing), with little on when not to call it (13). Parameters are typed with defaults, such as limit (default 5 forward, 1 reverse) and a types enum, but bbox and proximity are strings (11). Examples on every endpoint, and the spec documents 400, 403, 404 and 414, without an error reference page (10). A dated platform updates page and a geocoding index changelog, but no version in the API path and the spec is version '1.0' (10). 25+10+13+11+10+10 = 79."
        },
        "scores": {
          "a": 84,
          "b": 79
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Geoapify",
        "b": "MapTiler AG",
        "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": "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-10-02",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "no date given",
        "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": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "115k npm/wk",
        "name": "Popularity"
      },
      {
        "a": "4/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "MapTiler Cloud scores 62.1 (B) on agent readiness against Geoapify Location Platform + MCP's 58.1 (C), and leads in 4 of 7 scored categories. Geoapify Location Platform + MCP leads on reliability and schema \u0026 documentation.",
        "question": "Which is better for AI agents, Geoapify Location Platform + MCP or MapTiler Cloud?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do Geoapify Location Platform + MCP and MapTiler Cloud 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 MapTiler Cloud.",
        "question": "Can an agent call Geoapify Location Platform + MCP and MapTiler Cloud without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 60 against 43",
          "Schema \u0026 documentation, 84 against 79"
        ],
        "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": [
          "Security \u0026 auth, 64 against 29",
          "Payments \u0026 pricing, 40 against 30",
          "Transparency \u0026 trust, 80 against 67"
        ],
        "also": null,
        "goodFor": "Map tiles, static maps and worldwide geocoding with storable results for apps that also show a map, with EU data residency.",
        "slug": "maptiler",
        "watchFor": "The API key is always sent as a query parameter"
      }
    ],
    "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"
        }
      ],
      "maptiler": 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-maptiler.json",
        "title": "Amazon Location Service vs MapTiler Cloud",
        "url": "https://www.anchorterminal.com/compare/amazon-location-vs-maptiler"
      },
      {
        "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-maptiler.json",
        "title": "ArcGIS Location Platform vs MapTiler Cloud",
        "url": "https://www.anchorterminal.com/compare/arcgis-vs-maptiler"
      },
      {
        "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-maptiler.json",
        "title": "Azure Maps vs MapTiler Cloud",
        "url": "https://www.anchorterminal.com/compare/azure-maps-vs-maptiler"
      },
      {
        "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-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-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-maptiler.json",
        "title": "Geocodio vs MapTiler Cloud",
        "url": "https://www.anchorterminal.com/compare/geocodio-vs-maptiler"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-maps-platform-vs-maptiler.json",
        "title": "Google Maps Platform + Grounding Lite MCP vs MapTiler Cloud",
        "url": "https://www.anchorterminal.com/compare/google-maps-platform-vs-maptiler"
      },
      {
        "json": "https://www.anchorterminal.com/compare/here-location-services-vs-maptiler.json",
        "title": "HERE Location Services vs MapTiler Cloud",
        "url": "https://www.anchorterminal.com/compare/here-location-services-vs-maptiler"
      },
      {
        "json": "https://www.anchorterminal.com/compare/locationiq-vs-maptiler.json",
        "title": "LocationIQ vs MapTiler Cloud",
        "url": "https://www.anchorterminal.com/compare/locationiq-vs-maptiler"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mapbox-vs-maptiler.json",
        "title": "Mapbox APIs + MCP vs MapTiler Cloud",
        "url": "https://www.anchorterminal.com/compare/mapbox-vs-maptiler"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mapquest-vs-maptiler.json",
        "title": "MapQuest vs MapTiler Cloud",
        "url": "https://www.anchorterminal.com/compare/mapquest-vs-maptiler"
      },
      {
        "json": "https://www.anchorterminal.com/compare/maptiler-vs-nextbillion.json",
        "title": "MapTiler Cloud vs NextBillion.ai",
        "url": "https://www.anchorterminal.com/compare/maptiler-vs-nextbillion"
      },
      {
        "json": "https://www.anchorterminal.com/compare/maptiler-vs-nominatim.json",
        "title": "MapTiler Cloud vs Nominatim",
        "url": "https://www.anchorterminal.com/compare/maptiler-vs-nominatim"
      },
      {
        "json": "https://www.anchorterminal.com/compare/maptiler-vs-opencage.json",
        "title": "MapTiler Cloud vs OpenCage Geocoding API",
        "url": "https://www.anchorterminal.com/compare/maptiler-vs-opencage"
      },
      {
        "json": "https://www.anchorterminal.com/compare/maptiler-vs-radar.json",
        "title": "MapTiler Cloud vs Radar",
        "url": "https://www.anchorterminal.com/compare/maptiler-vs-radar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/maptiler-vs-stadia-maps.json",
        "title": "MapTiler Cloud vs Stadia Maps",
        "url": "https://www.anchorterminal.com/compare/maptiler-vs-stadia-maps"
      },
      {
        "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/maptiler-vs-woosmap.json",
        "title": "MapTiler Cloud vs Woosmap",
        "url": "https://www.anchorterminal.com/compare/maptiler-vs-woosmap"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 17,
        "edge": "geoapify",
        "geoapify": 60,
        "key": "reliability",
        "maptiler": 43,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 5,
        "edge": "geoapify",
        "geoapify": 84,
        "key": "schema",
        "maptiler": 79,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 2,
        "edge": "geoapify",
        "geoapify": 72,
        "key": "ergonomics",
        "maptiler": 70,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 35,
        "edge": "maptiler",
        "geoapify": 29,
        "key": "security",
        "maptiler": 64,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 10,
        "edge": "maptiler",
        "geoapify": 30,
        "key": "payments",
        "maptiler": 40,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 1,
        "edge": "maptiler",
        "geoapify": 69,
        "key": "maintenance",
        "maptiler": 70,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 13,
        "edge": "maptiler",
        "geoapify": 67,
        "key": "transparency",
        "maptiler": 80,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "MapTiler Cloud scores 62.1 (B) on agent readiness against Geoapify Location Platform + MCP's 58.1 (C), and leads in 4 of 7 scored categories. Geoapify Location Platform + MCP leads on reliability and schema \u0026 documentation. 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.",
      "maptiler": "MapTiler Cloud has an OpenAPI 3.1 reference, llms.txt with Markdown pages, an agent skill and ISO 27001 certification, and allows geocoding results to be stored. The key always travels in the query string, there's no routing API, no documented rate limit or 429 handling, and the free plan excludes commercial use."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/geoapify-vs-maptiler",
    "json": "https://www.anchorterminal.com/compare/geoapify-vs-maptiler.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/geoapify-vs-maptiler.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/geoapify-vs-maptiler.min.md"
  },
  "markdown": "MapTiler Cloud scores 62.1 (B) on agent readiness against Geoapify Location Platform + MCP's 58.1 (C), and leads in 4 of 7 scored categories. Geoapify Location Platform + MCP leads on reliability and schema \u0026 documentation. 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- MapTiler Cloud: grade B, 62.1/100, rank #576 of 1510. Markdown https://www.anchorterminal.com/tools/maptiler.md · JSON https://www.anchorterminal.com/api/v1/tools/maptiler.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\nAhead on:\n- Reliability, 60 against 43\n- Schema \u0026 documentation, 84 against 79\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### MapTiler Cloud (B)\n\nGood for: Map tiles, static maps and worldwide geocoding with storable results for apps that also show a map, with EU data residency.\n\nAhead on:\n- Security \u0026 auth, 64 against 29\n- Payments \u0026 pricing, 40 against 30\n- Transparency \u0026 trust, 80 against 67\n\nWatch for: The API key is always sent as a query parameter\n\n\n## Why the edge\n\n### Security \u0026 auth: MapTiler Cloud +35\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- MapTiler Cloud (64): Revocable keys that can be limited to origins and a User-Agent substring and managed by the API keys API, and service tokens that sign requests so the token itself never travels, which earns 27. Less 10 because the key is 'always passed as a query parameter' (17). The public APIs are read-only, and account changes need a separate service token (16). Geocoding returns OpenStreetMap names and addresses, community-edited text, with no prompt-injection guidance (7). An Analytics API and account usage statistics (8). security.txt, a vulnerability disclosure policy and ISO/IEC 27001:2022 certification per the security page. No bug bounty found (16). 17+16+7+8+16 = 64.\n\n### Reliability: Geoapify Location Platform + MCP +17\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- MapTiler Cloud (43): Hosted lines. status.maptiler.com is a StatusCake public uptime report rather than a component incident page (15). Its data loads from app.statuscake.com, whose robots.txt answered with a redirect, so we didn't fetch it and read no history. That's our limit, not a finding, and the rubric gives 5 (5). Monthly request and session quotas are published per plan, but no per-second limit (5). No 429, Retry-After or backoff guidance found in the API reference, the OpenAPI spec or llms-full.txt (0). The pricing page lists a 99.9% SLA on the Custom plan, while the Cloud terms call availability best effort and point to a custom SLA (8). The public APIs are GA (10). 15+5+5+0+8+10 = 43.\n\n### Transparency \u0026 trust: MapTiler Cloud +13\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- MapTiler Cloud (80): Editorial half only. Closed service with general and Cloud-specific terms under Swiss law, and SDKs under BSD 3-Clause and the skill under MIT (20). The privacy policy covers account and payment data and says legal-claim data is kept up to 10 years, but says nothing about how long API request logs are kept (15). A dated deprecation page for v3 maps and migration guides, with no written notice period (12). Hosting with OVHcloud and Google Firebase, data mainly in Switzerland and the EEA, and an EU-only endpoint. Google Analytics, Firebase and FastSpring named in the privacy policy (17). 20+15+12+17 = 64.\n\n### Payments \u0026 pricing: MapTiler Cloud +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- MapTiler Cloud (40): No x402, MPP or L402 (0). Per-1,000 prices for requests ($0.15) and sessions ($2.50) public without login (20). Free plan with no card, though only for testing and non-commercial use (20). Signup is a browser flow (0). 0+20+20+0 = 40.\n\n### Schema \u0026 documentation: Geoapify Location Platform + MCP +5\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- MapTiler Cloud (79): OpenAPI 3.1.0 document with 32 paths for the public APIs (25). llms.txt, llms-full.txt and a Markdown twin of every page (10). Each API page says what it's for and when to use the SDK instead (session billing), with little on when not to call it (13). Parameters are typed with defaults, such as limit (default 5 forward, 1 reverse) and a types enum, but bbox and proximity are strings (11). Examples on every endpoint, and the spec documents 400, 403, 404 and 414, without an error reference page (10). A dated platform updates page and a geocoding index changelog, but no version in the API path and the spec is version '1.0' (10). 25+10+13+11+10+10 = 79.\n\n## Score by category\n\n| Category | Weight | Geoapify Location Platform + MCP | MapTiler Cloud | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 60 | 43 | Geoapify Location Platform + MCP +17 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 84 | 79 | Geoapify Location Platform + MCP +5 |\n| Agent ergonomics | 13% (16.2 this run) | 72 | 70 | Geoapify Location Platform + MCP +2 |\n| Security \u0026 auth | 14% (17.5 this run) | 29 | 64 | MapTiler Cloud +35 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 40 | MapTiler Cloud +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 69 | 70 | MapTiler Cloud +1 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 67 | 80 | MapTiler Cloud +13 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **58.1 · C** | **62.1 · B** | |\n\n## Facts side by side\n\n| Fact | Geoapify Location Platform + MCP | MapTiler Cloud |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Geoapify | MapTiler AG |\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| 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-10-02 |\n| Terms last updated | no date given | no date given |\n| Privacy policy last updated | no date given | no date given |\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 | not found in the text |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | yes | not found in the text |\n| Arbitration or class-action waiver | not found in the text | yes |\n| Popularity | none | 115k npm/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### MapTiler Cloud\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**MapTiler Cloud.** MapTiler Cloud has an OpenAPI 3.1 reference, llms.txt with Markdown pages, an agent skill and ISO 27001 certification, and allows geocoding results to be stored. The key always travels in the query string, there's no routing API, no documented rate limit or 429 handling, and the free plan excludes commercial use.\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### MapTiler Cloud\n\n1. Restrict the key to an origin or User-Agent, or sign requests with a service token from a backend, since the key appears in every URL\n2. Use the batch geocoding path (up to 50 semicolon-separated queries) rather than one call per address\n3. Use api.maptiler.eu when the user's requests must stay in the EU\n4. Read docs pages as Markdown by appending .md, starting from https://docs.maptiler.com/llms.txt\n5. Don't cache map tiles server-side; the Cloud terms forbid it, though geocoding results may be stored with attribution\n\n## Questions\n\n### Which is better for AI agents, Geoapify Location Platform + MCP or MapTiler Cloud?\n\nMapTiler Cloud scores 62.1 (B) on agent readiness against Geoapify Location Platform + MCP's 58.1 (C), and leads in 4 of 7 scored categories. Geoapify Location Platform + MCP leads on reliability and schema \u0026 documentation.\n\n### Do Geoapify Location Platform + MCP and MapTiler Cloud need an API key?\n\nBoth need an API key.\n\n### Can an agent call Geoapify Location Platform + MCP and MapTiler Cloud without installing anything?\n\nGeoapify Location Platform + MCP has a hosted endpoint at https://api.geoapify.com/v1. No hosted endpoint is listed for MapTiler Cloud.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/geoapify-vs-maptiler.json, and with the fewest tokens: https://www.anchorterminal.com/compare/geoapify-vs-maptiler.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"geoapify\", \"b\": \"maptiler\"}`. From a terminal: `anchor compare geoapify maptiler`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/geoapify.json and https://www.anchorterminal.com/api/v1/tools/maptiler.json\n\n## Other comparisons with Geoapify Location Platform + MCP or MapTiler Cloud\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 MapTiler Cloud](https://www.anchorterminal.com/compare/amazon-location-vs-maptiler.md)\n- [ArcGIS Location Platform vs Geoapify Location Platform + MCP](https://www.anchorterminal.com/compare/arcgis-vs-geoapify.md)\n- [ArcGIS Location Platform vs MapTiler Cloud](https://www.anchorterminal.com/compare/arcgis-vs-maptiler.md)\n- [Azure Maps vs Geoapify Location Platform + MCP](https://www.anchorterminal.com/compare/azure-maps-vs-geoapify.md)\n- [Azure Maps vs MapTiler Cloud](https://www.anchorterminal.com/compare/azure-maps-vs-maptiler.md)\n- [Geoapify Location Platform + MCP vs Geocodio](https://www.anchorterminal.com/compare/geoapify-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 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 MapTiler Cloud](https://www.anchorterminal.com/compare/geocodio-vs-maptiler.md)\n- [Google Maps Platform + Grounding Lite MCP vs MapTiler Cloud](https://www.anchorterminal.com/compare/google-maps-platform-vs-maptiler.md)\n- [HERE Location Services vs MapTiler Cloud](https://www.anchorterminal.com/compare/here-location-services-vs-maptiler.md)\n- [LocationIQ vs MapTiler Cloud](https://www.anchorterminal.com/compare/locationiq-vs-maptiler.md)\n- [Mapbox APIs + MCP vs MapTiler Cloud](https://www.anchorterminal.com/compare/mapbox-vs-maptiler.md)\n- [MapQuest vs MapTiler Cloud](https://www.anchorterminal.com/compare/mapquest-vs-maptiler.md)\n- [MapTiler Cloud vs NextBillion.ai](https://www.anchorterminal.com/compare/maptiler-vs-nextbillion.md)\n- [MapTiler Cloud vs Nominatim](https://www.anchorterminal.com/compare/maptiler-vs-nominatim.md)\n- [MapTiler Cloud vs OpenCage Geocoding API](https://www.anchorterminal.com/compare/maptiler-vs-opencage.md)\n- [MapTiler Cloud vs Radar](https://www.anchorterminal.com/compare/maptiler-vs-radar.md)\n- [MapTiler Cloud vs Stadia Maps](https://www.anchorterminal.com/compare/maptiler-vs-stadia-maps.md)\n- [MapTiler Cloud vs TomTom Maps APIs + MCP](https://www.anchorterminal.com/compare/maptiler-vs-tomtom.md)\n- [MapTiler Cloud vs Woosmap](https://www.anchorterminal.com/compare/maptiler-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 MapTiler Cloud",
        "url": ""
      }
    ],
    "description": "MapTiler Cloud scores 62.1 (B) 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",
      "MapTiler Cloud B 62.1",
      "scores"
    ],
    "h1": "Geoapify Location Platform + MCP vs MapTiler Cloud",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/geoapify-vs-maptiler",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Geoapify Location Platform vs MapTiler Cloud for AI agents (2026)",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/geoapify-vs-maptiler"
  },
  "tokens": {
    "markdown": 4600,
    "slim": 2380
  },
  "version": 1
}
