{
  "data": {
    "a": {
      "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"
      }
    },
    "answer": "MapTiler Cloud scores 62.1 (B) on agent readiness against Radar's 53.3 (D), and leads in 5 of 7 scored categories. Radar leads on reliability and maintenance \u0026 community.",
    "b": {
      "slug": "radar",
      "name": "Radar",
      "vendor": "Radar Labs",
      "vendorUrl": "https://radar.com",
      "kind": "http-api",
      "category": "maps",
      "summary": "Radar is a location platform from Radar Labs with REST APIs for forward, reverse and IP geocoding, address autocomplete and validation, places search, distance, matrix, directions and route optimisation, plus geofencing, trip tracking and base maps.",
      "url": "https://www.anchorterminal.com/tools/radar",
      "markdownUrl": "https://www.anchorterminal.com/tools/radar.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/radar.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/radar.json",
      "dns": "radar.grade.anchorterminal.com",
      "repo": "https://github.com/radarlabs/radar-sdk-js",
      "license": "Proprietary service under Radar's Terms of Use. The web SDK in radarlabs/radar-sdk-js is Apache-2.0",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.radar.io/v1",
      "packages": [
        {
          "registry": "npm",
          "name": "radar-sdk-js"
        }
      ],
      "auth": "api-key",
      "authNotes": "API key in the `Authorization` header, with no query-string option documented. Each project has four keys, test and live, publishable and secret. Publishable keys reach 16 of the 38 documented operations (4 November 2026), including all geocoding, search and routing calls, and can be restricted by website domain or mobile app identifier. Secret keys reach the rest and can read or write any data. Keys come from the dashboard. Whether sign-up is self-serve was not established, because dashboard.radar.com's robots.txt closes every path.",
      "pricing": "paid",
      "pricingNotes": "Core Maps (forward, reverse and IP geocoding, autocomplete, static maps, distance, directions, matrix) starts at $0.50 per 1,000 API calls and Premium Maps (address validation, places search, route matching, route optimisation, satellite maps) at $2.00. Matrix bills per element. Every plan is an annual commitment with a monthly quota, at a rate Radar sets by quote. The pricing page says there is no free tier, and that teams can start with a technical validation period arranged with sales (https://radar.com/pricing).",
      "priceSummary": "$0.50 / 1k req",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API reference, the docs index or the pricing page (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://docs.radar.com/api",
      "llmsTxt": "https://docs.radar.com/llms.txt",
      "capabilities": [
        "geo.geocode",
        "geo.reverse",
        "geo.places",
        "geo.routing",
        "geo.tiles"
      ],
      "tags": [
        "hosted",
        "api-key",
        "llms-txt",
        "status-page",
        "sales-led",
        "annual-contract",
        "soc2",
        "closed-source"
      ],
      "lastRelease": "2026-10-13",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 53.3,
        "grade": "D",
        "agentReady": false,
        "rank": 955,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 16,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 65,
          "maintenance": 77,
          "payments": 10,
          "reliability": 70,
          "schema": 50,
          "security": 56,
          "transparency": 55
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-04"
        },
        "negative": -2,
        "negativeNotes": [
          "9 October 2026, re-read 4 November 2026. The Maps product page still says the geocoding APIs come with 'the right to store, reuse, and export results freely' (https://radar.com/product/maps), while section 2(d) of the Terms of Use forbids storing address or point-of-interest data from the geocoding, autocomplete or place search APIs for more than 30 days (https://radar.com/terms) and the geocoding docs repeat the 30-day limit (https://docs.radar.com/maps/geocoding.md). 2 points for a claim the published terms contradict. A quoted enterprise agreement may differ and is not published."
        ],
        "verdict": "Radar documents 38 REST operations in Markdown with a rate limit on each, and its status feed shows two API incidents of elevated errors or latency in 90 days. Access is sales-led. The pricing page says there is no free tier, every plan is an annual commitment, and no OpenAPI description or API changelog was found.",
        "bestFor": "A company that already has a Radar contract, or wants geofencing and trip tracking with geocoding and routing on one key.",
        "strengths": [
          "Each of the 38 documented operations states its key level and a default rate limit, from 10 to 100 requests a second",
          "docs.radar.com publishes llms.txt and a Markdown twin of every page, including the whole API reference in one file",
          "Statuspage history lists two API incidents in the 90 days to 4 November 2026, about an hour of errors and about three hours of latency",
          "Publishable keys are limited to 16 client-safe operations and can be restricted by website domain or mobile app identifier",
          "The DPA names two sub-processors (AWS and MongoDB) and the FAQ states default retention periods"
        ],
        "weaknesses": [
          "The pricing page says Radar has no free tier and every plan is an annual commitment set by quote",
          "No OpenAPI description and no API changelog were found in the docs index",
          "The terms cap storage of geocoding, autocomplete and place results at 30 days, while the Maps product page claims a right to store results freely",
          "The terms of 24 May 2023 let Radar change or stop the services without notice, and still describe a free version",
          "A secret key can read or write any project data, with no scopes found",
          "The terms forbid using the services to develop or test other geocoding, autocomplete or place search APIs, which matters before any probe is run"
        ],
        "agentNotes": [
          "Send the key in the `Authorization` header with no `Bearer` prefix, and call `https://api.radar.io/v1`, not radar.com",
          "Use a publishable key for geocoding, search and routing. Keep the secret key for users, trips, geofences and beacons",
          "Call `/v1/search/autocomplete` for partial addresses and place names. `/v1/geocode/forward` is documented as best for complete addresses",
          "Set `units=metric` on routing calls. The default is imperial, with distances in feet",
          "Treat 429 as one of three things (rate limit, no state change or selective throttling) and 402 as usage exceeded. No Retry-After header is documented",
          "Do not keep geocoding, autocomplete or place results for more than 30 days"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 53.3
          }
        ],
        "editorialScores": {
          "ergonomics": 65,
          "maintenance": 77,
          "payments": 10,
          "reliability": 70,
          "schema": 50,
          "security": 56,
          "transparency": 51
        },
        "provenanceScore": 59,
        "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",
          "oldest": "2026-11-04",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm install radar-sdk-js",
        "http": "curl \"https://api.radar.io/v1/geocode/forward?query=20+jay+st+brooklyn+ny\" -H \"Authorization: $RADAR_PUBLISHABLE_KEY\""
      },
      "letme": {
        "capability": "https://letme.dev/geo.geocode",
        "tool": "https://letme.dev/radar"
      },
      "area": "everyday",
      "unitPrices": [
        {
          "item": "Core Maps API calls, starting price",
          "unit": "1k-requests",
          "usd": 0.5,
          "note": "Geocoding, autocomplete, static maps, distance, directions, matrix (per element). Annual commitment, rate set by quote"
        },
        {
          "item": "Premium Maps API calls, starting price",
          "unit": "1k-requests",
          "usd": 2,
          "note": "Address validation, places search, route matching, route optimisation, satellite maps. Annual commitment, rate set by quote"
        }
      ],
      "provenance": {
        "legalEntity": "Radar Labs, Inc.",
        "domain": "radar.com",
        "domainRegistered": "1994-12-16",
        "endpointOnVendorDomain": false,
        "terms": "https://radar.com/terms",
        "privacy": "https://radar.com/privacy",
        "statusPage": "https://status.radar.com",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-11-04",
        "notes": [
          "The privacy notice (last updated 13 May 2025) names Radar Labs, Inc., a Delaware corporation in New York, per the 9 October 2026 check.",
          "The Terms of Use (last updated 24 May 2023, re-read 4 November 2026) cover the SDK and Radar's APIs and incorporate the DPA at radar.com/dpa. They describe a free version, which the pricing page says Radar does not have. They contain no clause on automated access to the website. Paid plans are by quote, and no enterprise agreement is published.",
          "The API answers at api.radar.io, a second domain. Nothing was sent to it, and its registrant was not checked.",
          "radar.com/.well-known/security.txt answers 404 (4 November 2026). The FAQ gives security@radar.com for reports.",
          "No API changelog was found in the docs index (4 November 2026). The SDK repositories have dated release tags.",
          "RDAP gave 16 December 1994 as the registration date of radar.com on 9 October 2026 (not re-read; RDAP is a JSON service).",
          "robots.txt on 4 November 2026. radar.com 200 with a sitemap line only. docs.radar.com 200 for all agents, /cdn-cgi/ and /_next/ disallowed, Content-Signal ai-train=yes, search=yes, ai-input=yes. status.radar.com 200 disallowing /api/ and /embed/. dashboard.radar.com disallowed every path on 9 October (not re-read)."
        ],
        "score": 59
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/radar.json",
      "live": {
        "slug": "radar",
        "probe": {
          "target": "https://api.radar.io/v1",
          "method": "get",
          "lastAt": "2026-11-07T19:22:28.638139376Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 132,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 99.93,
          "p50ms24h": 127,
          "p95ms24h": 229,
          "samples24h": 238,
          "samples30d": 7215,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "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": 250,
              "ok": 250
            },
            {
              "date": "2026-10-29",
              "probes": 249,
              "ok": 249
            },
            {
              "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": 243
            },
            {
              "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
            }
          ],
          "outages": [
            {
              "start": "2026-11-03T11:49:09.103056402Z",
              "end": "2026-11-03T12:18:34.21468377Z",
              "note": "timed out"
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.radar.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-07T19:23:33.704456906Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "radarlabs/radar-sdk-js",
            "version": "maps-v1.2.0",
            "released": "2026-10-15",
            "seenAt": "2026-11-07T00:00:04.44338016Z"
          },
          {
            "registry": "npm",
            "name": "radar-sdk-js",
            "version": "5.2.0",
            "seenAt": "2026-11-07T00:00:02.395906253Z"
          }
        ],
        "githubStars": 52,
        "npmWeekly": 127337,
        "securityTxt": {
          "url": "https://radar.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:01:06.937447505Z"
        },
        "llmsTxt": {
          "url": "https://docs.radar.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:33:43.359883875Z"
        },
        "domain": {
          "domain": "radar.com",
          "registered": "1994-12-16",
          "source": "https://rdap.verisign.com/com/v1/domain/radar.com",
          "checkedAt": "2026-11-01T14:26:44.033610339Z"
        },
        "pages": [
          {
            "url": "https://radar.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-07T14:17:52.554845922Z",
            "changedAt": "2026-11-06T13:39:31.015729856Z",
            "fingerprint": "34830dec8146"
          },
          {
            "url": "https://radar.com/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:17:54.663856655Z",
            "changedAt": "2026-11-06T13:39:33.138157539Z",
            "fingerprint": "3c21c931b16e"
          },
          {
            "url": "https://radar.com/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:17:56.689904287Z",
            "changedAt": "2026-11-06T13:39:35.353975966Z",
            "fingerprint": "854a0ce74930"
          }
        ],
        "github": {
          "repo": "radarlabs/radar-sdk-js",
          "checkedAt": "2026-11-02T09:20:06.168958113Z",
          "stars": 52,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-29T20:13:29Z",
          "openIssues": 4,
          "openPRs": 30,
          "issuesOpened90d": 0,
          "issuesClosed90d": 0,
          "prsMerged90d": 9,
          "ci": {
            "branch": "master",
            "runs": 23,
            "success": 23,
            "failure": 0,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-10-28T22:18:51Z"
          },
          "replies": {
            "sampled": 22,
            "unanswered": 4,
            "medianDays": 96.4
          }
        },
        "updatedAt": "2026-11-07T19:23:33.704456906Z"
      }
    },
    "edges": [
      {
        "by": 30,
        "category": "payments",
        "leads": "maptiler",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "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.",
          "b": "No x402, MPP or L402 (0). The pricing page publishes starting prices without a login, $0.50 per 1,000 calls for Core Maps and $2.00 for Premium Maps, but every plan is an annual commitment at a rate set by quote (10). The pricing page says \"Radar does not currently offer a free tier\", and the technical validation period goes through sales (0). Keys come from a dashboard account, and the sign-up page was closed to us by robots.txt on 9 October, so no programmatic route was found (0). 0 + 10 + 0 + 0 = 10."
        },
        "scores": {
          "a": 40,
          "b": 10
        }
      },
      {
        "by": 29,
        "category": "schema",
        "leads": "maptiler",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "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.",
          "b": "No OpenAPI description or other machine-readable contract was found in the docs index (0). docs.radar.com publishes llms.txt and a Markdown twin of each page, with the whole API reference in one Markdown file of about 154 KB (10). Descriptions say what an operation is for and sometimes when to use another, for example forward geocoding for complete addresses and autocomplete for partial ones (14). Parameters are listed with type, required or optional, ranges and allowed values, though coordinate lists travel as pipe-delimited strings and there is no schema to validate against (11). Every operation has a sample request and response, and there is one list of 12 response codes with one sample error (11). Paths carry `/v1`, and no API changelog was found (4). 0 + 10 + 14 + 11 + 11 + 4 = 50."
        },
        "scores": {
          "a": 79,
          "b": 50
        }
      },
      {
        "by": 27,
        "category": "reliability",
        "leads": "radar",
        "name": "Reliability",
        "reasons": {
          "a": "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.",
          "b": "Read with the hosted lines. status.radar.com is a Statuspage site with components for the Geocoding, Search, Routing, Maps, Track and Trips APIs among others (20). Its history feed lists two incidents in the 90 days to 4 November 2026. Elevated API errors on 27 August from 19:31 to 20:34 EDT, and elevated API latencies on 23 October from 11:52 to 14:57 EDT, traced to a Cloudflare incident. Neither states the share of failed requests, and this run reads \"elevated\" errors or latencies as partial, so both are minor (20). Each operation states a default rate limit, 100 requests a second for geocoding down to 10 for matrix and the data operations (15). 429 is documented with three meanings, with no Retry-After header or backoff guidance found, and PUT upserts keyed on `tag` and `externalId` make geofence writes repeatable (5, partial kept). No SLA is published (0). The APIs carry no beta label (10). 20 + 20 + 15 + 5 + 0 + 10 = 70."
        },
        "scores": {
          "a": 43,
          "b": 70
        }
      },
      {
        "by": 25,
        "category": "transparency",
        "leads": "maptiler",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "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.",
          "b": "Closed service with public Terms of Use, and an Apache-2.0 web SDK. The terms date from 24 May 2023, describe a free version the pricing page says does not exist, and paid plans run on a quoted agreement that is not published (12). The privacy notice of 13 May 2025, a public DPA and the FAQ agree on a default retention of 1 year, with 90 days for trips and 7 days for location updates in the FAQ. The privacy notice itself gives no period (22). No deprecation policy was found, and the terms let Radar change or stop the services without notice. One parameter (`userId` on geofences) is marked deprecated with no date (2). The DPA names AWS and MongoDB as sub-processors, and the privacy notice says hosting is in the United States (15). 12 + 22 + 2 + 15 = 51. The privacy notice and DPA weren't re-read on 4 November, so their readings are per the 9 October check."
        },
        "scores": {
          "a": 80,
          "b": 55
        }
      },
      {
        "by": 8,
        "category": "security",
        "leads": "maptiler",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "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.",
          "b": "Four keys a project, test and live, publishable and secret, sent in the `Authorization` header only. A secret key can read or write any data and no scopes were found. Key rotation was not read (20). Publishable keys reach only 16 of the 38 documented operations and can be restricted by website domain or mobile app identifier, and dashboard accounts have read, write, admin and owner roles. No confirmation step for deletes (10). Results are addresses and place names from open and commercial datasets, with no prompt-injection guidance (6). Audit logs cover dashboard requests on enterprise plans, and each API response has a request ID (7). security.txt answers 404 (4 November 2026). The FAQ gives a disclosure address, and the DPA states SOC 2 Type II, a yearly third-party penetration test and a bug bounty, with the report on request. The trust centre is script-drawn and was not read (13). 20 + 10 + 6 + 7 + 13 = 56."
        },
        "scores": {
          "a": 64,
          "b": 56
        }
      },
      {
        "by": 7,
        "category": "maintenance",
        "leads": "radar",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "@maptiler/client 3.1.0 and @maptiler/sdk 4.2.0 on 2 October 2026, 35 days before this check, with the agent skill updated on 21 October (20). Platform updates entries for August (EU endpoint, key security) and September 2026 (terrain blending) plus the two October releases (20). A Discord community and support answered on a best-effort basis within two business days, per the Cloud terms. We didn't read GitHub issues (10). Official JavaScript client and SDK current, no Python client (12). The SDK repository runs unit and end-to-end tests in CI; we didn't check results (8). 20+20+10+12+8 = 70.",
          "b": "No API changelog was found, so recency rests on Radar's own SDKs. radar-sdk-android 4.2.0 on 29 October and radar-sdk-ios 3.45.0 on 27 October 2026, and in the listed web SDK, maps-v1.2.0 on 13 October (a MapLibre upgrade with changes to RadarMap.ts and RadarMarker.ts), all within 30 days (30). Stable tags in the 90 days from 6 August include web v5.1.2 (25 August), v5.1.3 (31 August), v5.2.0 (1 September), autocomplete-v1.1.1 (14 September) and maps-v1.2.0, iOS 3.40.0 to 3.45.0 and Android 3.37.0 to 4.2.0; betas aren't counted (20). No public changelog for the API, support through a customer success manager and a feedback form, and GitHub issue replies were not read (5). Official SDKs for eight platforms are current (15). The web SDK repository carries Jest tests and CodeQL and npm publish workflows, whose results were not read (7). 30 + 20 + 5 + 15 + 7 = 77."
        },
        "scores": {
          "a": 70,
          "b": 77
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "MapTiler AG",
        "b": "Radar Labs",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "https://api.radar.io/v1",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "none",
        "b": "Proprietary service under Radar's Terms of Use. The web SDK in radarlabs/radar-sdk-js is Apache-2.0",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-02",
        "b": "2026-10-13",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "2023-05-24",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "2025-05-13",
        "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": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "115k npm/wk",
        "b": "none",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "MapTiler Cloud scores 62.1 (B) on agent readiness against Radar's 53.3 (D), and leads in 5 of 7 scored categories. Radar leads on reliability and maintenance \u0026 community.",
        "question": "Which is better for AI agents, MapTiler Cloud or Radar?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do MapTiler Cloud and Radar need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for MapTiler Cloud. Radar has a hosted endpoint at https://api.radar.io/v1.",
        "question": "Can an agent call MapTiler Cloud and Radar without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 79 against 50",
          "Agent ergonomics, 70 against 65",
          "Security \u0026 auth, 64 against 56",
          "Payments \u0026 pricing, 40 against 10",
          "Transparency \u0026 trust, 80 against 55"
        ],
        "also": [
          "Free to start without a card"
        ],
        "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"
      },
      {
        "aheadOn": [
          "Reliability, 70 against 43",
          "Maintenance \u0026 community, 77 against 70"
        ],
        "also": [
          "A hosted endpoint, with nothing to install"
        ],
        "goodFor": "A company that already has a Radar contract, or wants geofencing and trip tracking with geocoding and routing on one key.",
        "slug": "radar",
        "watchFor": "The pricing page says Radar has no free tier and every plan is an annual commitment set by quote"
      }
    ],
    "history": null,
    "job": {
      "capability": "geo.geocode",
      "name": "Geocoding"
    },
    "others": [
      {
        "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/amazon-location-vs-radar.json",
        "title": "Amazon Location Service vs Radar",
        "url": "https://www.anchorterminal.com/compare/amazon-location-vs-radar"
      },
      {
        "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/arcgis-vs-radar.json",
        "title": "ArcGIS Location Platform vs Radar",
        "url": "https://www.anchorterminal.com/compare/arcgis-vs-radar"
      },
      {
        "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/azure-maps-vs-radar.json",
        "title": "Azure Maps vs Radar",
        "url": "https://www.anchorterminal.com/compare/azure-maps-vs-radar"
      },
      {
        "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-radar.json",
        "title": "Geoapify Location Platform + MCP vs Radar",
        "url": "https://www.anchorterminal.com/compare/geoapify-vs-radar"
      },
      {
        "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-radar.json",
        "title": "Geocodio vs Radar",
        "url": "https://www.anchorterminal.com/compare/geocodio-vs-radar"
      },
      {
        "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/google-maps-platform-vs-radar.json",
        "title": "Google Maps Platform + Grounding Lite MCP vs Radar",
        "url": "https://www.anchorterminal.com/compare/google-maps-platform-vs-radar"
      },
      {
        "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/here-location-services-vs-radar.json",
        "title": "HERE Location Services vs Radar",
        "url": "https://www.anchorterminal.com/compare/here-location-services-vs-radar"
      },
      {
        "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/locationiq-vs-radar.json",
        "title": "LocationIQ vs Radar",
        "url": "https://www.anchorterminal.com/compare/locationiq-vs-radar"
      },
      {
        "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/mapbox-vs-radar.json",
        "title": "Mapbox APIs + MCP vs Radar",
        "url": "https://www.anchorterminal.com/compare/mapbox-vs-radar"
      },
      {
        "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/mapquest-vs-radar.json",
        "title": "MapQuest vs Radar",
        "url": "https://www.anchorterminal.com/compare/mapquest-vs-radar"
      },
      {
        "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-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"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nominatim-vs-radar.json",
        "title": "Nominatim vs Radar",
        "url": "https://www.anchorterminal.com/compare/nominatim-vs-radar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/opencage-vs-radar.json",
        "title": "OpenCage Geocoding API vs Radar",
        "url": "https://www.anchorterminal.com/compare/opencage-vs-radar"
      },
      {
        "json": "https://www.anchorterminal.com/compare/radar-vs-stadia-maps.json",
        "title": "Radar vs Stadia Maps",
        "url": "https://www.anchorterminal.com/compare/radar-vs-stadia-maps"
      },
      {
        "json": "https://www.anchorterminal.com/compare/radar-vs-tomtom.json",
        "title": "Radar vs TomTom Maps APIs + MCP",
        "url": "https://www.anchorterminal.com/compare/radar-vs-tomtom"
      },
      {
        "json": "https://www.anchorterminal.com/compare/radar-vs-woosmap.json",
        "title": "Radar vs Woosmap",
        "url": "https://www.anchorterminal.com/compare/radar-vs-woosmap"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nextbillion-vs-radar.json",
        "title": "NextBillion.ai vs Radar",
        "url": "https://www.anchorterminal.com/compare/nextbillion-vs-radar"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 27,
        "edge": "radar",
        "key": "reliability",
        "maptiler": 43,
        "name": "Reliability",
        "radar": 70,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 29,
        "edge": "maptiler",
        "key": "schema",
        "maptiler": 79,
        "name": "Schema \u0026 documentation",
        "radar": 50,
        "weight": 13
      },
      {
        "by": 5,
        "edge": "maptiler",
        "key": "ergonomics",
        "maptiler": 70,
        "name": "Agent ergonomics",
        "radar": 65,
        "weight": 13
      },
      {
        "by": 8,
        "edge": "maptiler",
        "key": "security",
        "maptiler": 64,
        "name": "Security \u0026 auth",
        "radar": 56,
        "weight": 14
      },
      {
        "by": 30,
        "edge": "maptiler",
        "key": "payments",
        "maptiler": 40,
        "name": "Payments \u0026 pricing",
        "radar": 10,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 7,
        "edge": "radar",
        "key": "maintenance",
        "maptiler": 70,
        "name": "Maintenance \u0026 community",
        "radar": 77,
        "weight": 7
      },
      {
        "by": 25,
        "edge": "maptiler",
        "key": "transparency",
        "maptiler": 80,
        "name": "Transparency \u0026 trust",
        "radar": 55,
        "weight": 7
      }
    ],
    "summary": "MapTiler Cloud scores 62.1 (B) on agent readiness against Radar's 53.3 (D), and leads in 5 of 7 scored categories. Radar leads on reliability and maintenance \u0026 community. Both do geocoding.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "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.",
      "radar": "Radar documents 38 REST operations in Markdown with a rate limit on each, and its status feed shows two API incidents of elevated errors or latency in 90 days. Access is sales-led. The pricing page says there is no free tier, every plan is an annual commitment, and no OpenAPI description or API changelog was found."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/maptiler-vs-radar",
    "json": "https://www.anchorterminal.com/compare/maptiler-vs-radar.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/maptiler-vs-radar.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/maptiler-vs-radar.min.md"
  },
  "markdown": "MapTiler Cloud scores 62.1 (B) on agent readiness against Radar's 53.3 (D), and leads in 5 of 7 scored categories. Radar leads on reliability and maintenance \u0026 community. Both do geocoding.\n\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- Radar: grade D, 53.3/100, rank #955 of 1510. Markdown https://www.anchorterminal.com/tools/radar.md · JSON https://www.anchorterminal.com/api/v1/tools/radar.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### 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- Schema \u0026 documentation, 79 against 50\n- Agent ergonomics, 70 against 65\n- Security \u0026 auth, 64 against 56\n- Payments \u0026 pricing, 40 against 10\n- Transparency \u0026 trust, 80 against 55\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: The API key is always sent as a query parameter\n\n### Radar (D)\n\nGood for: A company that already has a Radar contract, or wants geofencing and trip tracking with geocoding and routing on one key.\n\nAhead on:\n- Reliability, 70 against 43\n- Maintenance \u0026 community, 77 against 70\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n\nWatch for: The pricing page says Radar has no free tier and every plan is an annual commitment set by quote\n\n\n## Why the edge\n\n### Payments \u0026 pricing: MapTiler Cloud +30\n\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- Radar (10): No x402, MPP or L402 (0). The pricing page publishes starting prices without a login, $0.50 per 1,000 calls for Core Maps and $2.00 for Premium Maps, but every plan is an annual commitment at a rate set by quote (10). The pricing page says \"Radar does not currently offer a free tier\", and the technical validation period goes through sales (0). Keys come from a dashboard account, and the sign-up page was closed to us by robots.txt on 9 October, so no programmatic route was found (0). 0 + 10 + 0 + 0 = 10.\n\n### Schema \u0026 documentation: MapTiler Cloud +29\n\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- Radar (50): No OpenAPI description or other machine-readable contract was found in the docs index (0). docs.radar.com publishes llms.txt and a Markdown twin of each page, with the whole API reference in one Markdown file of about 154 KB (10). Descriptions say what an operation is for and sometimes when to use another, for example forward geocoding for complete addresses and autocomplete for partial ones (14). Parameters are listed with type, required or optional, ranges and allowed values, though coordinate lists travel as pipe-delimited strings and there is no schema to validate against (11). Every operation has a sample request and response, and there is one list of 12 response codes with one sample error (11). Paths carry `/v1`, and no API changelog was found (4). 0 + 10 + 14 + 11 + 11 + 4 = 50.\n\n### Reliability: Radar +27\n\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- Radar (70): Read with the hosted lines. status.radar.com is a Statuspage site with components for the Geocoding, Search, Routing, Maps, Track and Trips APIs among others (20). Its history feed lists two incidents in the 90 days to 4 November 2026. Elevated API errors on 27 August from 19:31 to 20:34 EDT, and elevated API latencies on 23 October from 11:52 to 14:57 EDT, traced to a Cloudflare incident. Neither states the share of failed requests, and this run reads \"elevated\" errors or latencies as partial, so both are minor (20). Each operation states a default rate limit, 100 requests a second for geocoding down to 10 for matrix and the data operations (15). 429 is documented with three meanings, with no Retry-After header or backoff guidance found, and PUT upserts keyed on `tag` and `externalId` make geofence writes repeatable (5, partial kept). No SLA is published (0). The APIs carry no beta label (10). 20 + 20 + 15 + 5 + 0 + 10 = 70.\n\n### Transparency \u0026 trust: MapTiler Cloud +25\n\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- Radar (55): Closed service with public Terms of Use, and an Apache-2.0 web SDK. The terms date from 24 May 2023, describe a free version the pricing page says does not exist, and paid plans run on a quoted agreement that is not published (12). The privacy notice of 13 May 2025, a public DPA and the FAQ agree on a default retention of 1 year, with 90 days for trips and 7 days for location updates in the FAQ. The privacy notice itself gives no period (22). No deprecation policy was found, and the terms let Radar change or stop the services without notice. One parameter (`userId` on geofences) is marked deprecated with no date (2). The DPA names AWS and MongoDB as sub-processors, and the privacy notice says hosting is in the United States (15). 12 + 22 + 2 + 15 = 51. The privacy notice and DPA weren't re-read on 4 November, so their readings are per the 9 October check.\n\n### Security \u0026 auth: MapTiler Cloud +8\n\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- Radar (56): Four keys a project, test and live, publishable and secret, sent in the `Authorization` header only. A secret key can read or write any data and no scopes were found. Key rotation was not read (20). Publishable keys reach only 16 of the 38 documented operations and can be restricted by website domain or mobile app identifier, and dashboard accounts have read, write, admin and owner roles. No confirmation step for deletes (10). Results are addresses and place names from open and commercial datasets, with no prompt-injection guidance (6). Audit logs cover dashboard requests on enterprise plans, and each API response has a request ID (7). security.txt answers 404 (4 November 2026). The FAQ gives a disclosure address, and the DPA states SOC 2 Type II, a yearly third-party penetration test and a bug bounty, with the report on request. The trust centre is script-drawn and was not read (13). 20 + 10 + 6 + 7 + 13 = 56.\n\n### Maintenance \u0026 community: Radar +7\n\n- MapTiler Cloud (70): @maptiler/client 3.1.0 and @maptiler/sdk 4.2.0 on 2 October 2026, 35 days before this check, with the agent skill updated on 21 October (20). Platform updates entries for August (EU endpoint, key security) and September 2026 (terrain blending) plus the two October releases (20). A Discord community and support answered on a best-effort basis within two business days, per the Cloud terms. We didn't read GitHub issues (10). Official JavaScript client and SDK current, no Python client (12). The SDK repository runs unit and end-to-end tests in CI; we didn't check results (8). 20+20+10+12+8 = 70.\n- Radar (77): No API changelog was found, so recency rests on Radar's own SDKs. radar-sdk-android 4.2.0 on 29 October and radar-sdk-ios 3.45.0 on 27 October 2026, and in the listed web SDK, maps-v1.2.0 on 13 October (a MapLibre upgrade with changes to RadarMap.ts and RadarMarker.ts), all within 30 days (30). Stable tags in the 90 days from 6 August include web v5.1.2 (25 August), v5.1.3 (31 August), v5.2.0 (1 September), autocomplete-v1.1.1 (14 September) and maps-v1.2.0, iOS 3.40.0 to 3.45.0 and Android 3.37.0 to 4.2.0; betas aren't counted (20). No public changelog for the API, support through a customer success manager and a feedback form, and GitHub issue replies were not read (5). Official SDKs for eight platforms are current (15). The web SDK repository carries Jest tests and CodeQL and npm publish workflows, whose results were not read (7). 30 + 20 + 5 + 15 + 7 = 77.\n\n## Score by category\n\n| Category | Weight | MapTiler Cloud | Radar | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 43 | 70 | Radar +27 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 79 | 50 | MapTiler Cloud +29 |\n| Agent ergonomics | 13% (16.2 this run) | 70 | 65 | MapTiler Cloud +5 |\n| Security \u0026 auth | 14% (17.5 this run) | 64 | 56 | MapTiler Cloud +8 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 10 | MapTiler Cloud +30 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 70 | 77 | Radar +7 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 80 | 55 | MapTiler Cloud +25 |\n| Negative events | ≤15 | 0 | -2 | |\n| **Total** | | **62.1 · B** | **53.3 · D** | |\n\n## Facts side by side\n\n| Fact | MapTiler Cloud | Radar |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | MapTiler AG | Radar Labs |\n| Hosted endpoint | no (local only) | `https://api.radar.io/v1` |\n| Transports | HTTP | HTTP |\n| Auth | API key | API key |\n| Pricing | Freemium | Paid |\n| x402 | no | no |\n| Licence | none | Proprietary service under Radar's Terms of Use. The web SDK in radarlabs/radar-sdk-js is Apache-2.0 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-02 | 2026-10-13 |\n| Terms last updated | no date given | 2023-05-24 |\n| Privacy policy last updated | no date given | 2025-05-13 |\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 | yes |\n| Terms or service can change without notice | not found in the text | yes |\n| Arbitration or class-action waiver | yes | yes |\n| Popularity | 115k npm/wk | none |\n\n## Verdicts\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**Radar.** Radar documents 38 REST operations in Markdown with a rate limit on each, and its status feed shows two API incidents of elevated errors or latency in 90 days. Access is sales-led. The pricing page says there is no free tier, every plan is an annual commitment, and no OpenAPI description or API changelog was found.\n\n## Before you call either\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### Radar\n\n1. Send the key in the `Authorization` header with no `Bearer` prefix, and call `https://api.radar.io/v1`, not radar.com\n2. Use a publishable key for geocoding, search and routing. Keep the secret key for users, trips, geofences and beacons\n3. Call `/v1/search/autocomplete` for partial addresses and place names. `/v1/geocode/forward` is documented as best for complete addresses\n4. Set `units=metric` on routing calls. The default is imperial, with distances in feet\n5. Treat 429 as one of three things (rate limit, no state change or selective throttling) and 402 as usage exceeded. No Retry-After header is documented\n6. Do not keep geocoding, autocomplete or place results for more than 30 days\n\n## Questions\n\n### Which is better for AI agents, MapTiler Cloud or Radar?\n\nMapTiler Cloud scores 62.1 (B) on agent readiness against Radar's 53.3 (D), and leads in 5 of 7 scored categories. Radar leads on reliability and maintenance \u0026 community.\n\n### Do MapTiler Cloud and Radar need an API key?\n\nBoth need an API key.\n\n### Can an agent call MapTiler Cloud and Radar without installing anything?\n\nNo hosted endpoint is listed for MapTiler Cloud. Radar has a hosted endpoint at https://api.radar.io/v1.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/maptiler-vs-radar.json, and with the fewest tokens: https://www.anchorterminal.com/compare/maptiler-vs-radar.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"maptiler\", \"b\": \"radar\"}`. From a terminal: `anchor compare maptiler radar`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/maptiler.json and https://www.anchorterminal.com/api/v1/tools/radar.json\n\n## Other comparisons with MapTiler Cloud or Radar\n\n- [Amazon Location Service vs MapTiler Cloud](https://www.anchorterminal.com/compare/amazon-location-vs-maptiler.md)\n- [Amazon Location Service vs Radar](https://www.anchorterminal.com/compare/amazon-location-vs-radar.md)\n- [ArcGIS Location Platform vs MapTiler Cloud](https://www.anchorterminal.com/compare/arcgis-vs-maptiler.md)\n- [ArcGIS Location Platform vs Radar](https://www.anchorterminal.com/compare/arcgis-vs-radar.md)\n- [Azure Maps vs MapTiler Cloud](https://www.anchorterminal.com/compare/azure-maps-vs-maptiler.md)\n- [Azure Maps vs Radar](https://www.anchorterminal.com/compare/azure-maps-vs-radar.md)\n- [Geoapify Location Platform + MCP vs MapTiler Cloud](https://www.anchorterminal.com/compare/geoapify-vs-maptiler.md)\n- [Geoapify Location Platform + MCP vs Radar](https://www.anchorterminal.com/compare/geoapify-vs-radar.md)\n- [Geocodio vs MapTiler Cloud](https://www.anchorterminal.com/compare/geocodio-vs-maptiler.md)\n- [Geocodio vs Radar](https://www.anchorterminal.com/compare/geocodio-vs-radar.md)\n- [Google Maps Platform + Grounding Lite MCP vs MapTiler Cloud](https://www.anchorterminal.com/compare/google-maps-platform-vs-maptiler.md)\n- [Google Maps Platform + Grounding Lite MCP vs Radar](https://www.anchorterminal.com/compare/google-maps-platform-vs-radar.md)\n- [HERE Location Services vs MapTiler Cloud](https://www.anchorterminal.com/compare/here-location-services-vs-maptiler.md)\n- [HERE Location Services vs Radar](https://www.anchorterminal.com/compare/here-location-services-vs-radar.md)\n- [LocationIQ vs MapTiler Cloud](https://www.anchorterminal.com/compare/locationiq-vs-maptiler.md)\n- [LocationIQ vs Radar](https://www.anchorterminal.com/compare/locationiq-vs-radar.md)\n- [Mapbox APIs + MCP vs MapTiler Cloud](https://www.anchorterminal.com/compare/mapbox-vs-maptiler.md)\n- [Mapbox APIs + MCP vs Radar](https://www.anchorterminal.com/compare/mapbox-vs-radar.md)\n- [MapQuest vs MapTiler Cloud](https://www.anchorterminal.com/compare/mapquest-vs-maptiler.md)\n- [MapQuest vs Radar](https://www.anchorterminal.com/compare/mapquest-vs-radar.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 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- [Nominatim vs Radar](https://www.anchorterminal.com/compare/nominatim-vs-radar.md)\n- [OpenCage Geocoding API vs Radar](https://www.anchorterminal.com/compare/opencage-vs-radar.md)\n- [Radar vs Stadia Maps](https://www.anchorterminal.com/compare/radar-vs-stadia-maps.md)\n- [Radar vs TomTom Maps APIs + MCP](https://www.anchorterminal.com/compare/radar-vs-tomtom.md)\n- [Radar vs Woosmap](https://www.anchorterminal.com/compare/radar-vs-woosmap.md)\n- [NextBillion.ai vs Radar](https://www.anchorterminal.com/compare/nextbillion-vs-radar.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": "MapTiler Cloud vs Radar",
        "url": ""
      }
    ],
    "description": "MapTiler Cloud scores 62.1 (B) to Radar's 53.3 (D) for geocoding. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "MapTiler Cloud B 62.1",
      "Radar D 53.3",
      "scores"
    ],
    "h1": "MapTiler Cloud vs Radar",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/maptiler-vs-radar",
    "published": "2026-10-01",
    "section": "tools",
    "title": "MapTiler Cloud vs Radar for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/maptiler-vs-radar"
  },
  "tokens": {
    "markdown": 4850,
    "slim": 2830
  },
  "version": 1
}
