{
  "data": {
    "a": {
      "slug": "nominatim",
      "name": "Nominatim",
      "vendor": "Nominatim project (osm-search)",
      "vendorUrl": "https://nominatim.org",
      "kind": "http-api",
      "category": "maps",
      "summary": "Nominatim is open-source geocoding software that searches OpenStreetMap data by name and address and reverse geocodes coordinates. Operators self-host its HTTP API; the OpenStreetMap Foundation runs a free public instance under a strict usage policy.",
      "url": "https://www.anchorterminal.com/tools/nominatim",
      "markdownUrl": "https://www.anchorterminal.com/tools/nominatim.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/nominatim.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/nominatim.json",
      "dns": "nominatim.grade.anchorterminal.com",
      "repo": "https://github.com/osm-search/Nominatim",
      "license": "GPL-3.0-or-later",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "pypi",
          "name": "nominatim-api"
        },
        {
          "registry": "pypi",
          "name": "nominatim-db"
        }
      ],
      "auth": "none",
      "authNotes": "The server has no authentication; operators add it with their own proxy. The public instance at nominatim.openstreetmap.org takes no key but requires a valid User-Agent or Referer identifying the application.",
      "pricing": "free",
      "pricingNotes": "Free software. The public instance is free within its usage policy (at most 1 request a second, no bulk or systematic use). Commercial hosted Nominatim is sold by third parties, not by the project.",
      "priceSummary": "Free · OSS",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No payment protocol in the server or the docs (checked 2026-11-06). The software is free.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": 2052,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://nominatim.org/release-docs/latest/api/Overview/",
      "capabilities": [
        "geo.geocode",
        "geo.reverse",
        "geo.places"
      ],
      "tags": [
        "open-source",
        "self-hosted",
        "free",
        "no-auth",
        "no-key",
        "python",
        "open-data",
        "local"
      ],
      "lastRelease": "2026-10-14",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 63.5,
        "grade": "B",
        "agentReady": false,
        "rank": 513,
        "ranked": true,
        "rankOf": 1510,
        "categoryRank": 9,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 75,
          "maintenance": 60,
          "payments": 60,
          "reliability": 82,
          "schema": 51,
          "security": 50,
          "transparency": 59
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "Nominatim is the open-source OpenStreetMap geocoder, free to run with a documented search, reverse and lookup API, tested releases and two years of security support per release. It has no OpenAPI spec, no built-in authentication, and the public instance allows one request a second and restricts LLM-suggested use, so agents at scale need their own server.",
        "bestFor": "Self-hosted worldwide geocoding from OpenStreetMap data with no per-call cost or storage limits beyond ODbL.",
        "strengths": [
          "Open source under GPL, free to self-host with no key and nothing to buy",
          "Search, reverse, lookup and status endpoints with limit, layer, country and viewbox filters",
          "Release 5.3.3 on 14 October 2026, with a ChangeLog and two years of security updates per release line",
          "SECURITY.md with a security address, a 3-work-day acknowledgement and a disclosure process",
          "CI runs unit and BDD tests on every push across PostgreSQL 13 to 18"
        ],
        "weaknesses": [
          "No OpenAPI spec and no llms.txt",
          "The public instance allows at most one request a second, no autocomplete, no systematic queries and no reselling",
          "The usage policy says LLMs may suggest the public API only while pointing to the policy, and bars it from no-code and vibe-coding platforms",
          "No authentication in the server, so access control is the operator's job",
          "A full planet import needs substantial hardware and time to set up"
        ],
        "agentNotes": [
          "Don't send bulk or repeated queries to nominatim.openstreetmap.org; keep to one request a second, cache results and set an identifying User-Agent",
          "Tell the user about the OSMF usage policy before suggesting the public instance, as the policy requires",
          "For regular or large jobs, run your own Nominatim or use a commercial provider listed on the Nominatim wiki",
          "Pass format=jsonv2 or geojson and limit, since omitting format sends the request to the web UI",
          "Attribute OpenStreetMap and respect the ODbL share-alike terms when storing results"
        ],
        "metrics": {
          "kind": "local",
          "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": 63.5
          }
        ],
        "editorialScores": {
          "ergonomics": 75,
          "maintenance": 60,
          "payments": 60,
          "reliability": 82,
          "schema": 51,
          "security": 50,
          "transparency": 81
        },
        "provenanceScore": 37,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install nominatim-db nominatim-api",
        "http": "curl -A \"my-app/1.0 (contact@example.com)\" \"https://nominatim.openstreetmap.org/search?q=Dresden\u0026format=jsonv2\u0026limit=1\""
      },
      "letme": {
        "capability": "https://letme.dev/geo.geocode",
        "tool": "https://letme.dev/nominatim"
      },
      "area": "everyday",
      "provenance": {
        "legalEntity": "",
        "domain": "nominatim.org",
        "domainRegistered": "2010-05-20",
        "endpointOnVendorDomain": false,
        "terms": "https://operations.osmfoundation.org/policies/nominatim/",
        "privacy": "",
        "statusPage": "",
        "changelog": "https://github.com/osm-search/Nominatim/blob/master/ChangeLog",
        "securityTxt": "none",
        "checked": "2026-11-06",
        "notes": [
          "No company stands behind the software. The nominatim.org imprint names its maintainer Sarah Hoffmann as the person who runs the site.",
          "The terms listed are the OSMF usage policy for the public instance, which is run by the OpenStreetMap Foundation and is also governed by the OSMF Terms of Use. The licence governs the software.",
          "nominatim.openstreetmap.org's robots.txt disallows /search, /reverse, /lookup, /details and /status, so no request was sent there.",
          "nominatim.org has no robots.txt (404) and no llms.txt. Security reports go to security@nominatim.org per SECURITY.md; no security.txt was looked for beyond that file.",
          "RDAP gives nominatim.org a registration date of 20 May 2010.",
          "A request to pypi.org/pypi/nominatim-api/json, disallowed by PyPI's robots.txt, was sent by mistake on 6 November 2026; release dates are taken from PyPI's allowed RSS release feed instead."
        ],
        "score": 37
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/nominatim.json",
      "live": {
        "slug": "nominatim",
        "versions": [
          {
            "registry": "github",
            "name": "osm-search/Nominatim",
            "version": "v5.3.3",
            "released": "2026-10-14",
            "seenAt": "2026-11-06T23:49:38.546585976Z"
          },
          {
            "registry": "pypi",
            "name": "nominatim-api",
            "version": "5.3.3",
            "released": "2026-10-14",
            "seenAt": "2026-11-06T23:49:36.460811725Z"
          },
          {
            "registry": "pypi",
            "name": "nominatim-db",
            "version": "5.3.3",
            "released": "2026-10-14",
            "seenAt": "2026-11-06T23:49:36.677899359Z"
          }
        ],
        "githubStars": 4553,
        "pypiWeekly": 2052,
        "securityTxt": {
          "url": "https://nominatim.org/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:00:36.659918342Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/osm-search/Nominatim/master/ChangeLog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:22:43.498875362Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "d293d5592f9f"
          },
          {
            "url": "https://operations.osmfoundation.org/policies/nominatim/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:15:39.38384818Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e7342ba42b14"
          }
        ],
        "updatedAt": "2026-11-07T16:00:36.659918342Z"
      }
    },
    "answer": "Nominatim scores 63.5 (B) on agent readiness against Radar's 53.3 (D), and leads in 5 of 7 scored categories. Radar leads on security \u0026 auth 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": 50,
        "category": "payments",
        "leads": "nominatim",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "Self-hosted rule. No payment protocol (0). Free software with nothing to buy (20 + 20 + 20). The public instance is also free and keyless, within its usage policy. 0+20+20+20 = 60.",
          "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": 60,
          "b": 10
        }
      },
      {
        "by": 17,
        "category": "maintenance",
        "leads": "radar",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Release 5.3.3 on 14 October 2026, 23 days before this check (30). Only one release in the 90 days from 8 August, against 106 commits on the default branch; commits aren't counted as releases (0). Commits from the lead maintainer and seven or more contributors since August, but we couldn't read issue reply times (12). The nominatim-api Python library is current with the server (10). CI on every push, current PostgreSQL and Python versions (8). 30+0+12+10+8 = 60.",
          "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": 60,
          "b": 77
        }
      },
      {
        "by": 12,
        "category": "reliability",
        "leads": "nominatim",
        "name": "Reliability",
        "reasons": {
          "a": "Read with the local-software lines, since the listing is the Nominatim server an operator runs. The public instance at nominatim.openstreetmap.org belongs to the OpenStreetMap Foundation and its usage policy caps it at one request a second, so it isn't graded as a hosted service. Official packages nominatim-db and nominatim-api on PyPI (5.3.3 on 14 October 2026, Python 3.9 or later) and installation guides for Ubuntu 22 and 24 (20). A public CI workflow runs unit and BDD tests on every push across Ubuntu 24 and 26 with PostgreSQL 13 to 18, and Windows unit tests. We couldn't see run results (20). Issue counts and reply times couldn't be read because the GitHub API was rate-limited for us; Sarah Hoffmann made 76 of the 106 commits since 8 August (12). A ChangeLog per release and semantic version numbers (15). Version 5.3.3 (15). 20+20+12+15+15 = 82.",
          "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": 82,
          "b": 70
        }
      },
      {
        "by": 10,
        "category": "ergonomics",
        "leads": "nominatim",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "API reading. limit, addressdetails, extratags, namedetails and the polygon options size responses, and geocodejson, geojson and jsonv2 formats are available (22). countrycodes, viewbox, bounded, layer, featureType and exclude_place_ids filter results, the last one standing in for pagination (18). Bad parameters return an error rather than a silent default in current versions, but there's no error code reference (12). Every endpoint reads and is safe to retry (15). Few required parameters, and the Python library exposes the same search API in-process, but there are no other official clients (8). 22+18+12+15+8 = 75.",
          "b": "Read as an API. `limit` on search operations (1 to 100), `layers` and `country` filters on geocoding, and optional `geometry` on route optimisation size a response, with no field selection (14). List operations page with `limit` up to 1,000 and date cursors such as `updatedBefore` (16). Errors are JSON with `code`, `param` and `message`, and every response carries `X-Radar-Request-ID` (15). The maps operations only read. Geofence and beacon writes are PUT upserts by external ID, and no idempotency key was found for trip or user creation (10). Most maps calls need one parameter. Official SDKs cover web, iOS, Android and five cross-platform frameworks, all client-side, with no server library found (10). 14 + 16 + 15 + 10 + 10 = 65."
        },
        "scores": {
          "a": 75,
          "b": 65
        }
      },
      {
        "by": 6,
        "category": "security",
        "leads": "radar",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "The server has no authentication of its own; an operator puts it behind their own proxy. The public instance takes no key and identifies callers by User-Agent or Referer (5). Every endpoint reads, so there's nothing to approve (18). Results are OpenStreetMap names and tags, community-edited text, with no prompt-injection guidance (7). Query logging to a file is available through NOMINATIM_LOG_FILE and off by default (8). SECURITY.md gives security@nominatim.org, an acknowledgement within 3 work days, a disclosure process and two years of security updates per release. No bug bounty (12). 5+18+7+8+12 = 50.",
          "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": 50,
          "b": 56
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Nominatim project (osm-search)",
        "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": "None",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "GPL-3.0-or-later",
        "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": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-14",
        "b": "2026-10-13",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "2023-05-24",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "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": "yes",
        "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": "not found in the text",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "2.1k PyPI/wk",
        "b": "none",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Nominatim scores 63.5 (B) on agent readiness against Radar's 53.3 (D), and leads in 5 of 7 scored categories. Radar leads on security \u0026 auth and maintenance \u0026 community.",
        "question": "Which is better for AI agents, Nominatim or Radar?"
      },
      {
        "answer": "Nominatim needs no key. Radar needs an API key.",
        "question": "Do Nominatim and Radar need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for Nominatim. Radar has a hosted endpoint at https://api.radar.io/v1.",
        "question": "Can an agent call Nominatim and Radar without installing anything?"
      },
      {
        "answer": "Nominatim is open source (GPL-3.0-or-later). No open-source release is listed for Radar.",
        "question": "Are Nominatim and Radar open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 82 against 70",
          "Agent ergonomics, 75 against 65",
          "Payments \u0026 pricing, 60 against 10"
        ],
        "also": [
          "No key needed to call it",
          "Open source"
        ],
        "goodFor": "Self-hosted worldwide geocoding from OpenStreetMap data with no per-call cost or storage limits beyond ODbL.",
        "slug": "nominatim",
        "watchFor": "No OpenAPI spec and no llms.txt"
      },
      {
        "aheadOn": [
          "Security \u0026 auth, 56 against 50",
          "Maintenance \u0026 community, 77 against 60"
        ],
        "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-nominatim.json",
        "title": "Amazon Location Service vs Nominatim",
        "url": "https://www.anchorterminal.com/compare/amazon-location-vs-nominatim"
      },
      {
        "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-nominatim.json",
        "title": "ArcGIS Location Platform vs Nominatim",
        "url": "https://www.anchorterminal.com/compare/arcgis-vs-nominatim"
      },
      {
        "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-nominatim.json",
        "title": "Azure Maps vs Nominatim",
        "url": "https://www.anchorterminal.com/compare/azure-maps-vs-nominatim"
      },
      {
        "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-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-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-nominatim.json",
        "title": "Geocodio vs Nominatim",
        "url": "https://www.anchorterminal.com/compare/geocodio-vs-nominatim"
      },
      {
        "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-nominatim.json",
        "title": "Google Maps Platform + Grounding Lite MCP vs Nominatim",
        "url": "https://www.anchorterminal.com/compare/google-maps-platform-vs-nominatim"
      },
      {
        "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-nominatim.json",
        "title": "HERE Location Services vs Nominatim",
        "url": "https://www.anchorterminal.com/compare/here-location-services-vs-nominatim"
      },
      {
        "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-nominatim.json",
        "title": "LocationIQ vs Nominatim",
        "url": "https://www.anchorterminal.com/compare/locationiq-vs-nominatim"
      },
      {
        "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-nominatim.json",
        "title": "Mapbox APIs + MCP vs Nominatim",
        "url": "https://www.anchorterminal.com/compare/mapbox-vs-nominatim"
      },
      {
        "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-nominatim.json",
        "title": "MapQuest vs Nominatim",
        "url": "https://www.anchorterminal.com/compare/mapquest-vs-nominatim"
      },
      {
        "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-nominatim.json",
        "title": "MapTiler Cloud vs Nominatim",
        "url": "https://www.anchorterminal.com/compare/maptiler-vs-nominatim"
      },
      {
        "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/nextbillion-vs-nominatim.json",
        "title": "NextBillion.ai vs Nominatim",
        "url": "https://www.anchorterminal.com/compare/nextbillion-vs-nominatim"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nominatim-vs-opencage.json",
        "title": "Nominatim vs OpenCage Geocoding API",
        "url": "https://www.anchorterminal.com/compare/nominatim-vs-opencage"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nominatim-vs-stadia-maps.json",
        "title": "Nominatim vs Stadia Maps",
        "url": "https://www.anchorterminal.com/compare/nominatim-vs-stadia-maps"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nominatim-vs-tomtom.json",
        "title": "Nominatim vs TomTom Maps APIs + MCP",
        "url": "https://www.anchorterminal.com/compare/nominatim-vs-tomtom"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nominatim-vs-woosmap.json",
        "title": "Nominatim vs Woosmap",
        "url": "https://www.anchorterminal.com/compare/nominatim-vs-woosmap"
      },
      {
        "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": 12,
        "edge": "nominatim",
        "key": "reliability",
        "name": "Reliability",
        "nominatim": 82,
        "radar": 70,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 1,
        "edge": "nominatim",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "nominatim": 51,
        "radar": 50,
        "weight": 13
      },
      {
        "by": 10,
        "edge": "nominatim",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "nominatim": 75,
        "radar": 65,
        "weight": 13
      },
      {
        "by": 6,
        "edge": "radar",
        "key": "security",
        "name": "Security \u0026 auth",
        "nominatim": 50,
        "radar": 56,
        "weight": 14
      },
      {
        "by": 50,
        "edge": "nominatim",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "nominatim": 60,
        "radar": 10,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 17,
        "edge": "radar",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "nominatim": 60,
        "radar": 77,
        "weight": 7
      },
      {
        "by": 4,
        "edge": "nominatim",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "nominatim": 59,
        "radar": 55,
        "weight": 7
      }
    ],
    "summary": "Nominatim scores 63.5 (B) on agent readiness against Radar's 53.3 (D), and leads in 5 of 7 scored categories. Radar leads on security \u0026 auth and maintenance \u0026 community. Both do geocoding.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "nominatim": "Nominatim is the open-source OpenStreetMap geocoder, free to run with a documented search, reverse and lookup API, tested releases and two years of security support per release. It has no OpenAPI spec, no built-in authentication, and the public instance allows one request a second and restricts LLM-suggested use, so agents at scale need their own server.",
      "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/nominatim-vs-radar",
    "json": "https://www.anchorterminal.com/compare/nominatim-vs-radar.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/nominatim-vs-radar.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/nominatim-vs-radar.min.md"
  },
  "markdown": "Nominatim scores 63.5 (B) on agent readiness against Radar's 53.3 (D), and leads in 5 of 7 scored categories. Radar leads on security \u0026 auth and maintenance \u0026 community. Both do geocoding.\n\n- Nominatim: grade B, 63.5/100, rank #513 of 1510. Markdown https://www.anchorterminal.com/tools/nominatim.md · JSON https://www.anchorterminal.com/api/v1/tools/nominatim.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### Nominatim (B)\n\nGood for: Self-hosted worldwide geocoding from OpenStreetMap data with no per-call cost or storage limits beyond ODbL.\n\nAhead on:\n- Reliability, 82 against 70\n- Agent ergonomics, 75 against 65\n- Payments \u0026 pricing, 60 against 10\n\nAlso in its favour:\n- No key needed to call it\n- Open source\n\nWatch for: No OpenAPI spec and no llms.txt\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- Security \u0026 auth, 56 against 50\n- Maintenance \u0026 community, 77 against 60\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: Nominatim +50\n\n- Nominatim (60): Self-hosted rule. No payment protocol (0). Free software with nothing to buy (20 + 20 + 20). The public instance is also free and keyless, within its usage policy. 0+20+20+20 = 60.\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### Maintenance \u0026 community: Radar +17\n\n- Nominatim (60): Release 5.3.3 on 14 October 2026, 23 days before this check (30). Only one release in the 90 days from 8 August, against 106 commits on the default branch; commits aren't counted as releases (0). Commits from the lead maintainer and seven or more contributors since August, but we couldn't read issue reply times (12). The nominatim-api Python library is current with the server (10). CI on every push, current PostgreSQL and Python versions (8). 30+0+12+10+8 = 60.\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### Reliability: Nominatim +12\n\n- Nominatim (82): Read with the local-software lines, since the listing is the Nominatim server an operator runs. The public instance at nominatim.openstreetmap.org belongs to the OpenStreetMap Foundation and its usage policy caps it at one request a second, so it isn't graded as a hosted service. Official packages nominatim-db and nominatim-api on PyPI (5.3.3 on 14 October 2026, Python 3.9 or later) and installation guides for Ubuntu 22 and 24 (20). A public CI workflow runs unit and BDD tests on every push across Ubuntu 24 and 26 with PostgreSQL 13 to 18, and Windows unit tests. We couldn't see run results (20). Issue counts and reply times couldn't be read because the GitHub API was rate-limited for us; Sarah Hoffmann made 76 of the 106 commits since 8 August (12). A ChangeLog per release and semantic version numbers (15). Version 5.3.3 (15). 20+20+12+15+15 = 82.\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### Agent ergonomics: Nominatim +10\n\n- Nominatim (75): API reading. limit, addressdetails, extratags, namedetails and the polygon options size responses, and geocodejson, geojson and jsonv2 formats are available (22). countrycodes, viewbox, bounded, layer, featureType and exclude_place_ids filter results, the last one standing in for pagination (18). Bad parameters return an error rather than a silent default in current versions, but there's no error code reference (12). Every endpoint reads and is safe to retry (15). Few required parameters, and the Python library exposes the same search API in-process, but there are no other official clients (8). 22+18+12+15+8 = 75.\n- Radar (65): Read as an API. `limit` on search operations (1 to 100), `layers` and `country` filters on geocoding, and optional `geometry` on route optimisation size a response, with no field selection (14). List operations page with `limit` up to 1,000 and date cursors such as `updatedBefore` (16). Errors are JSON with `code`, `param` and `message`, and every response carries `X-Radar-Request-ID` (15). The maps operations only read. Geofence and beacon writes are PUT upserts by external ID, and no idempotency key was found for trip or user creation (10). Most maps calls need one parameter. Official SDKs cover web, iOS, Android and five cross-platform frameworks, all client-side, with no server library found (10). 14 + 16 + 15 + 10 + 10 = 65.\n\n### Security \u0026 auth: Radar +6\n\n- Nominatim (50): The server has no authentication of its own; an operator puts it behind their own proxy. The public instance takes no key and identifies callers by User-Agent or Referer (5). Every endpoint reads, so there's nothing to approve (18). Results are OpenStreetMap names and tags, community-edited text, with no prompt-injection guidance (7). Query logging to a file is available through NOMINATIM_LOG_FILE and off by default (8). SECURITY.md gives security@nominatim.org, an acknowledgement within 3 work days, a disclosure process and two years of security updates per release. No bug bounty (12). 5+18+7+8+12 = 50.\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## Score by category\n\n| Category | Weight | Nominatim | Radar | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 82 | 70 | Nominatim +12 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 51 | 50 | Nominatim +1 |\n| Agent ergonomics | 13% (16.2 this run) | 75 | 65 | Nominatim +10 |\n| Security \u0026 auth | 14% (17.5 this run) | 50 | 56 | Radar +6 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 10 | Nominatim +50 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 60 | 77 | Radar +17 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 59 | 55 | Nominatim +4 |\n| Negative events | ≤15 | 0 | -2 | |\n| **Total** | | **63.5 · B** | **53.3 · D** | |\n\n## Facts side by side\n\n| Fact | Nominatim | Radar |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Nominatim project (osm-search) | Radar Labs |\n| Hosted endpoint | no (local only) | `https://api.radar.io/v1` |\n| Transports | HTTP | HTTP |\n| Auth | None | API key |\n| Pricing | Free | Paid |\n| x402 | no | no |\n| Licence | GPL-3.0-or-later | 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 | no | yes |\n| Last release | 2026-10-14 | 2026-10-13 |\n| Terms last updated | no date given | 2023-05-24 |\n| Privacy policy last updated | no document linked | 2025-05-13 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | yes | 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 | not found in the text | yes |\n| Popularity | 2.1k PyPI/wk | none |\n\n## Verdicts\n\n**Nominatim.** Nominatim is the open-source OpenStreetMap geocoder, free to run with a documented search, reverse and lookup API, tested releases and two years of security support per release. It has no OpenAPI spec, no built-in authentication, and the public instance allows one request a second and restricts LLM-suggested use, so agents at scale need their own server.\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### Nominatim\n\n1. Don't send bulk or repeated queries to nominatim.openstreetmap.org; keep to one request a second, cache results and set an identifying User-Agent\n2. Tell the user about the OSMF usage policy before suggesting the public instance, as the policy requires\n3. For regular or large jobs, run your own Nominatim or use a commercial provider listed on the Nominatim wiki\n4. Pass format=jsonv2 or geojson and limit, since omitting format sends the request to the web UI\n5. Attribute OpenStreetMap and respect the ODbL share-alike terms when storing results\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, Nominatim or Radar?\n\nNominatim scores 63.5 (B) on agent readiness against Radar's 53.3 (D), and leads in 5 of 7 scored categories. Radar leads on security \u0026 auth and maintenance \u0026 community.\n\n### Do Nominatim and Radar need an API key?\n\nNominatim needs no key. Radar needs an API key.\n\n### Can an agent call Nominatim and Radar without installing anything?\n\nNo hosted endpoint is listed for Nominatim. Radar has a hosted endpoint at https://api.radar.io/v1.\n\n### Are Nominatim and Radar open source?\n\nNominatim is open source (GPL-3.0-or-later). No open-source release is listed for Radar.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/nominatim-vs-radar.json, and with the fewest tokens: https://www.anchorterminal.com/compare/nominatim-vs-radar.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"nominatim\", \"b\": \"radar\"}`. From a terminal: `anchor compare nominatim radar`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/nominatim.json and https://www.anchorterminal.com/api/v1/tools/radar.json\n\n## Other comparisons with Nominatim or Radar\n\n- [Amazon Location Service vs Nominatim](https://www.anchorterminal.com/compare/amazon-location-vs-nominatim.md)\n- [Amazon Location Service vs Radar](https://www.anchorterminal.com/compare/amazon-location-vs-radar.md)\n- [ArcGIS Location Platform vs Nominatim](https://www.anchorterminal.com/compare/arcgis-vs-nominatim.md)\n- [ArcGIS Location Platform vs Radar](https://www.anchorterminal.com/compare/arcgis-vs-radar.md)\n- [Azure Maps vs Nominatim](https://www.anchorterminal.com/compare/azure-maps-vs-nominatim.md)\n- [Azure Maps vs Radar](https://www.anchorterminal.com/compare/azure-maps-vs-radar.md)\n- [Geoapify Location Platform + MCP vs Nominatim](https://www.anchorterminal.com/compare/geoapify-vs-nominatim.md)\n- [Geoapify Location Platform + MCP vs Radar](https://www.anchorterminal.com/compare/geoapify-vs-radar.md)\n- [Geocodio vs Nominatim](https://www.anchorterminal.com/compare/geocodio-vs-nominatim.md)\n- [Geocodio vs Radar](https://www.anchorterminal.com/compare/geocodio-vs-radar.md)\n- [Google Maps Platform + Grounding Lite MCP vs Nominatim](https://www.anchorterminal.com/compare/google-maps-platform-vs-nominatim.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 Nominatim](https://www.anchorterminal.com/compare/here-location-services-vs-nominatim.md)\n- [HERE Location Services vs Radar](https://www.anchorterminal.com/compare/here-location-services-vs-radar.md)\n- [LocationIQ vs Nominatim](https://www.anchorterminal.com/compare/locationiq-vs-nominatim.md)\n- [LocationIQ vs Radar](https://www.anchorterminal.com/compare/locationiq-vs-radar.md)\n- [Mapbox APIs + MCP vs Nominatim](https://www.anchorterminal.com/compare/mapbox-vs-nominatim.md)\n- [Mapbox APIs + MCP vs Radar](https://www.anchorterminal.com/compare/mapbox-vs-radar.md)\n- [MapQuest vs Nominatim](https://www.anchorterminal.com/compare/mapquest-vs-nominatim.md)\n- [MapQuest vs Radar](https://www.anchorterminal.com/compare/mapquest-vs-radar.md)\n- [MapTiler Cloud vs Nominatim](https://www.anchorterminal.com/compare/maptiler-vs-nominatim.md)\n- [MapTiler Cloud vs Radar](https://www.anchorterminal.com/compare/maptiler-vs-radar.md)\n- [NextBillion.ai vs Nominatim](https://www.anchorterminal.com/compare/nextbillion-vs-nominatim.md)\n- [Nominatim vs OpenCage Geocoding API](https://www.anchorterminal.com/compare/nominatim-vs-opencage.md)\n- [Nominatim vs Stadia Maps](https://www.anchorterminal.com/compare/nominatim-vs-stadia-maps.md)\n- [Nominatim vs TomTom Maps APIs + MCP](https://www.anchorterminal.com/compare/nominatim-vs-tomtom.md)\n- [Nominatim vs Woosmap](https://www.anchorterminal.com/compare/nominatim-vs-woosmap.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": "Nominatim vs Radar",
        "url": ""
      }
    ],
    "description": "Nominatim scores 63.5 (B) to Radar's 53.3 (D) for geocoding. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Nominatim B 63.5",
      "Radar D 53.3",
      "scores"
    ],
    "h1": "Nominatim vs Radar",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/nominatim-vs-radar",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Nominatim vs Radar for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/nominatim-vs-radar"
  },
  "tokens": {
    "markdown": 4400,
    "slim": 2430
  },
  "version": 1
}
