{
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-08",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "tool": {
    "slug": "amazon-location",
    "name": "Amazon Location Service",
    "vendor": "Amazon Web Services",
    "vendorUrl": "https://aws.amazon.com/location/",
    "kind": "http-api",
    "category": "maps",
    "summary": "Amazon Location Service is AWS's API for geocoding, place search, routing and map tiles, with geofences and device tracking. Agents call regional REST endpoints with an API key or IAM credentials, or through the AWS SDKs and CLI.",
    "url": "https://www.anchorterminal.com/tools/amazon-location",
    "markdownUrl": "https://www.anchorterminal.com/tools/amazon-location.md",
    "slimMarkdownUrl": "https://www.anchorterminal.com/tools/amazon-location.min.md",
    "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/amazon-location.json",
    "repo": "https://github.com/aws-geospatial/amazon-location-agent-context",
    "license": "Proprietary service under the AWS Customer Agreement and AWS Service Terms. The AWS SDK clients and the agent context package on GitHub are Apache-2.0",
    "transports": [
      "http"
    ],
    "remoteUrl": "https://places.geo.us-east-1.amazonaws.com",
    "packages": [
      {
        "registry": "npm",
        "name": "@aws-sdk/client-geo-places"
      },
      {
        "registry": "npm",
        "name": "@aws-sdk/client-geo-routes"
      },
      {
        "registry": "npm",
        "name": "@aws-sdk/client-geo-maps"
      },
      {
        "registry": "pypi",
        "name": "boto3"
      }
    ],
    "auth": "api-key",
    "authNotes": "Access needs an AWS account. Maps, Places and Routes accept an Amazon Location API key in the `key` query parameter, created in the console, the CLI or the `CreateKey` call, limited to named actions and resources, with optional expiry and referrer or mobile app restrictions. Every API also accepts AWS Signature Version 4 with IAM credentials or a role, and Amazon Cognito identity pools for unauthenticated clients. Geofences, trackers and the Jobs API refuse API keys. API keys can't be used over AWS PrivateLink (https://docs.aws.amazon.com/location/latest/developerguide/using-apikeys.html).",
    "pricing": "usage",
    "pricingNotes": "Geocoding, reverse geocoding and place search cost $0.50 per 1,000 requests (core), $1.50 with advanced fields and $4.00 when results are stored, in US East (N. Virginia). Routes cost $0.50 per 1,000 for car, truck or pedestrian, map tiles $0.04 per 1,000. No sandbox or contract is needed, but an AWS account is. The pricing page lists monthly allowances for the first three months (20,000 core Places requests, 10,000 routes, 500,000 tiles) and up to $200 of credits for customers who joined after 15 July 2025. Volume discounts above $5,000 a month are by quote (https://aws.amazon.com/location/pricing/, checked 2026-10-08).",
    "priceSummary": "$0.50 / 1k req",
    "where": "hosted",
    "x402": {
      "level": "no",
      "evidence": "No x402, MPP or L402 in the developer guide's llms.txt, the service models or the pricing page (checked 2026-10-08).",
      "endpoints": []
    },
    "toolCount": null,
    "popularity": {
      "githubStars": null,
      "npmWeekly": 426988,
      "pypiWeekly": null,
      "asOf": "2026-10-08"
    },
    "docsUrl": "https://docs.aws.amazon.com/location/latest/developerguide/what-is.html",
    "llmsTxt": "https://docs.aws.amazon.com/location/latest/developerguide/llms.txt",
    "capabilities": [
      "geo.geocode",
      "geo.reverse",
      "geo.places",
      "geo.routing",
      "geo.tiles"
    ],
    "tags": [
      "hosted",
      "closed-source",
      "python",
      "typescript",
      "enterprise",
      "llms-txt",
      "card-required",
      "sla",
      "status-page",
      "batch"
    ],
    "lastRelease": "2026-08-17",
    "graded": true,
    "anchor": {
      "graded": true,
      "score": 74.1,
      "grade": "BB",
      "agentReady": true,
      "rank": 68,
      "ranked": true,
      "rankOf": 722,
      "categoryRank": 2,
      "methodology": "0.4",
      "run": "2026-10-01",
      "scores": {
        "ergonomics": 88,
        "maintenance": 60,
        "payments": 20,
        "reliability": 95,
        "schema": 87,
        "security": 73,
        "transparency": 70
      },
      "pending": [
        "performance",
        "tasks"
      ],
      "breakdown": [
        {
          "key": "reliability",
          "name": "Reliability",
          "weight": 16,
          "effectiveWeight": 20,
          "score": 95,
          "points": 19,
          "reason": "Hosted reading. AWS Health Dashboard with a feed per service and region (20). The Amazon Location feeds for us-east-1 and eu-west-1 held no events on 8 October 2026, and the dashboard's event history from 10 July 2026 names no Amazon Location event. The public dashboard lists only broad events, so a clean feed says less than a small vendor's detailed page. The us-east-1 event of 20 October 2025 listed Amazon Location among affected services, outside the 90 days (30). Default rates published per operation, 100 a second for each Places call, 20 for `CalculateRoutes`, 5 for `CalculateRouteMatrix`, with a burst of 80 per cent (15). Throttling returns `ThrottlingException` with HTTP 429, marked retryable in the service model, and every v2 call is a read, but the guide gives no backoff or `Retry-After` guidance (10 of 15). Amazon Location SLA at 99.9 per cent monthly uptime per region (10). GA (10)."
        },
        {
          "key": "performance",
          "name": "Performance",
          "weight": 10,
          "effectiveWeight": 0,
          "pending": true,
          "points": 0,
          "reason": "Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes."
        },
        {
          "key": "schema",
          "name": "Schema \u0026 documentation",
          "weight": 13,
          "effectiveWeight": 16.25,
          "score": 87,
          "points": 14.14,
          "reason": "The Smithy service models for `geo-places`, `geo-routes`, `geo-maps` and `location` (API version 2020-11-19) are public in aws/api-models-aws and in every AWS SDK, a machine-readable contract in the role OpenAPI plays (25). llms.txt for the developer guide, a Markdown twin of each page and the whole guide as `full.md` (10). A choose-an-API page and per-operation pages with use cases say when each call fits, with less on when not to use one (15 of 20). Inputs carry enums and ranges, such as `MaxResults` 1 to 100 and `QueryText` up to 200 characters (15). How-to pages give sample requests, responses, cURL and CLI commands, and each action lists its errors with HTTP codes, but the `ValidationException` fields are documented as \"Test stub\" (12 of 15). Versioned paths (`/v2/`), yet the document history has one entry, dated 31 October 2024, and changes are announced only in AWS What's New posts (10 of 15)."
        },
        {
          "key": "ergonomics",
          "name": "Agent ergonomics",
          "weight": 13,
          "effectiveWeight": 16.25,
          "score": 88,
          "points": 14.3,
          "reason": "API reading of the checklist. Places responses stay at the core fields unless `AdditionalFeatures` asks for more, and `MaxResults` caps the count, but there is no field selection and route responses can reach the 6 MB limit (20 of 25). `MaxResults` on six of seven Places calls, `NextToken` on `SearchText` and `SearchNearby`, and filters by country, bounding box and place type (18 of 20). Four typed errors per API, with a reason and field list on `ValidationException` (17 of 20). Every v2 operation is marked read-only in the model, so retries are safe. No hints apply to a plain API (18 of 20). One required field or none on most calls, an API key that avoids SigV4 signing, and SDKs on npm and PyPI among others (15)."
        },
        {
          "key": "security",
          "name": "Security \u0026 auth",
          "weight": 14,
          "effectiveWeight": 17.5,
          "score": 73,
          "points": 12.78,
          "reason": "Three credential routes, SigV4 with IAM, Amazon Cognito, and API keys limited to named actions and resources with optional expiry and referrer or app restrictions, which earns 30. Less 10 because the API key is sent in the `key` query parameter, the only documented way to present it (20). API keys reach only read calls on Maps, Places and Routes, and IAM policies scope each action and resource (18 of 20). Results carry place names and third-party map data, and no prompt-injection guidance was found in the reviewed documentation (5 of 15). CloudTrail records management events by default and data events on request, and CloudWatch reports usage by `ApiKeyName` (15). A vulnerability disclosure programme on HackerOne, audit reports in AWS Artifact and a FedRAMP High announcement of 28 October 2024. The security.txt on aws.amazon.com passed its Expires date on 24 September 2026, and no paid bounty was found (15 of 20)."
        },
        {
          "key": "payments",
          "name": "Payments \u0026 pricing",
          "weight": 10,
          "effectiveWeight": 12.5,
          "score": 20,
          "points": 2.5,
          "reason": "No x402, MPP or L402 (0). Per-1,000 prices for every operation and bucket published without a login (20). The pricing page lists monthly allowances for the first three months and up to $200 of credits for new customers, but an AWS account is needed. We did not re-read the sign-up flow today and follow the 1 October reading on the other AWS listings that a card is required (0). A person signs up in a browser. `CreateKey` mints API keys by API only after an account exists (0)."
        },
        {
          "key": "tasks",
          "name": "Task success",
          "weight": 10,
          "effectiveWeight": 0,
          "pending": true,
          "points": 0,
          "reason": "Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored."
        },
        {
          "key": "maintenance",
          "name": "Maintenance \u0026 community",
          "weight": 7,
          "effectiveWeight": 8.75,
          "score": 60,
          "points": 5.25,
          "reason": "Read as a closed service. The newest API change is in the `geo-maps` model on 17 August 2026 (point-of-interest density and category filters on maps), 52 days before the check (20 of 30). In the last 90 days we found that one model change plus two releases of the agent context package, v1.1.0 on 6 August and v1.2.0 on 11 September 2026. The `geo-places` change of 8 July falls two days outside (10 of 20). AWS What's New posts for the service run to 2 April 2026, re:Post and paid support exist, and the agent context repository had no open issues (10 of 15). Official SDKs are current, `@aws-sdk/client-geo-places` 3.1147.0 on 6 October 2026 and boto3 1.43.109 on 7 October (15). SDKs regenerate from the model on AWS's release train, CI not checked (5 of 10)."
        },
        {
          "key": "transparency",
          "name": "Transparency \u0026 trust",
          "weight": 7,
          "effectiveWeight": 8.75,
          "score": 70,
          "points": 6.13,
          "note": "editorial 52, provenance 88",
          "reason": "Closed service under the AWS Service Terms, whose section 82 sets out storage, caching and attribution rules in detail (15 of 30). The guide says device positions are kept 30 days, geofences until deleted, and that queries are stripped of customer metadata before they go to data providers. Section 82.1 agrees and adds that providers may process requests outside the chosen region. No retention period was found for Places and Routes requests (20 of 30). Section 82.3 allows AWS to change or drop a provider or feature on notice \"where practicable\", and no dated deprecation notice or end date for the v1 APIs was found (5 of 20). The data providers (HERE, Esri, GrabMaps and AWS's open data) are named and the region is chosen per request. The AWS sub-processor list was not read today (12 of 20)."
        }
      ],
      "assessment": {
        "date": "2026-10-08",
        "basis": "public evidence",
        "confidence": "high",
        "notes": {
          "ergonomics": "API reading of the checklist. Places responses stay at the core fields unless `AdditionalFeatures` asks for more, and `MaxResults` caps the count, but there is no field selection and route responses can reach the 6 MB limit (20 of 25). `MaxResults` on six of seven Places calls, `NextToken` on `SearchText` and `SearchNearby`, and filters by country, bounding box and place type (18 of 20). Four typed errors per API, with a reason and field list on `ValidationException` (17 of 20). Every v2 operation is marked read-only in the model, so retries are safe. No hints apply to a plain API (18 of 20). One required field or none on most calls, an API key that avoids SigV4 signing, and SDKs on npm and PyPI among others (15).",
          "maintenance": "Read as a closed service. The newest API change is in the `geo-maps` model on 17 August 2026 (point-of-interest density and category filters on maps), 52 days before the check (20 of 30). In the last 90 days we found that one model change plus two releases of the agent context package, v1.1.0 on 6 August and v1.2.0 on 11 September 2026. The `geo-places` change of 8 July falls two days outside (10 of 20). AWS What's New posts for the service run to 2 April 2026, re:Post and paid support exist, and the agent context repository had no open issues (10 of 15). Official SDKs are current, `@aws-sdk/client-geo-places` 3.1147.0 on 6 October 2026 and boto3 1.43.109 on 7 October (15). SDKs regenerate from the model on AWS's release train, CI not checked (5 of 10).",
          "payments": "No x402, MPP or L402 (0). Per-1,000 prices for every operation and bucket published without a login (20). The pricing page lists monthly allowances for the first three months and up to $200 of credits for new customers, but an AWS account is needed. We did not re-read the sign-up flow today and follow the 1 October reading on the other AWS listings that a card is required (0). A person signs up in a browser. `CreateKey` mints API keys by API only after an account exists (0).",
          "reliability": "Hosted reading. AWS Health Dashboard with a feed per service and region (20). The Amazon Location feeds for us-east-1 and eu-west-1 held no events on 8 October 2026, and the dashboard's event history from 10 July 2026 names no Amazon Location event. The public dashboard lists only broad events, so a clean feed says less than a small vendor's detailed page. The us-east-1 event of 20 October 2025 listed Amazon Location among affected services, outside the 90 days (30). Default rates published per operation, 100 a second for each Places call, 20 for `CalculateRoutes`, 5 for `CalculateRouteMatrix`, with a burst of 80 per cent (15). Throttling returns `ThrottlingException` with HTTP 429, marked retryable in the service model, and every v2 call is a read, but the guide gives no backoff or `Retry-After` guidance (10 of 15). Amazon Location SLA at 99.9 per cent monthly uptime per region (10). GA (10).",
          "schema": "The Smithy service models for `geo-places`, `geo-routes`, `geo-maps` and `location` (API version 2020-11-19) are public in aws/api-models-aws and in every AWS SDK, a machine-readable contract in the role OpenAPI plays (25). llms.txt for the developer guide, a Markdown twin of each page and the whole guide as `full.md` (10). A choose-an-API page and per-operation pages with use cases say when each call fits, with less on when not to use one (15 of 20). Inputs carry enums and ranges, such as `MaxResults` 1 to 100 and `QueryText` up to 200 characters (15). How-to pages give sample requests, responses, cURL and CLI commands, and each action lists its errors with HTTP codes, but the `ValidationException` fields are documented as \"Test stub\" (12 of 15). Versioned paths (`/v2/`), yet the document history has one entry, dated 31 October 2024, and changes are announced only in AWS What's New posts (10 of 15).",
          "security": "Three credential routes, SigV4 with IAM, Amazon Cognito, and API keys limited to named actions and resources with optional expiry and referrer or app restrictions, which earns 30. Less 10 because the API key is sent in the `key` query parameter, the only documented way to present it (20). API keys reach only read calls on Maps, Places and Routes, and IAM policies scope each action and resource (18 of 20). Results carry place names and third-party map data, and no prompt-injection guidance was found in the reviewed documentation (5 of 15). CloudTrail records management events by default and data events on request, and CloudWatch reports usage by `ApiKeyName` (15). A vulnerability disclosure programme on HackerOne, audit reports in AWS Artifact and a FedRAMP High announcement of 28 October 2024. The security.txt on aws.amazon.com passed its Expires date on 24 September 2026, and no paid bounty was found (15 of 20).",
          "transparency": "Closed service under the AWS Service Terms, whose section 82 sets out storage, caching and attribution rules in detail (15 of 30). The guide says device positions are kept 30 days, geofences until deleted, and that queries are stripped of customer metadata before they go to data providers. Section 82.1 agrees and adds that providers may process requests outside the chosen region. No retention period was found for Places and Routes requests (20 of 30). Section 82.3 allows AWS to change or drop a provider or feature on notice \"where practicable\", and no dated deprecation notice or end date for the v1 APIs was found (5 of 20). The data providers (HERE, Esri, GrabMaps and AWS's open data) are named and the region is chosen per request. The AWS sub-processor list was not read today (12 of 20)."
        },
        "sources": [
          {
            "what": "developer guide llms.txt",
            "url": "https://docs.aws.amazon.com/location/latest/developerguide/llms.txt",
            "seen": "2026-10-08"
          },
          {
            "what": "pricing page and the price data it loads (US East)",
            "url": "https://aws.amazon.com/location/pricing/",
            "seen": "2026-10-08"
          },
          {
            "what": "price data feed read by the pricing page",
            "url": "https://b0.p.awsstatic.com/pricing/2.0/meteredUnitMaps/locationservice/USD/current/locationservice.json",
            "seen": "2026-10-08"
          },
          {
            "what": "Places quotas",
            "url": "https://docs.aws.amazon.com/location/latest/developerguide/places-quota-usage.html",
            "seen": "2026-10-08"
          },
          {
            "what": "Routes quotas",
            "url": "https://docs.aws.amazon.com/location/latest/developerguide/routes-quota-usage.html",
            "seen": "2026-10-08"
          },
          {
            "what": "Service Quotas and burst rule",
            "url": "https://docs.aws.amazon.com/location/latest/developerguide/manage-quotas.html",
            "seen": "2026-10-08"
          },
          {
            "what": "API keys",
            "url": "https://docs.aws.amazon.com/location/latest/developerguide/using-apikeys.html",
            "seen": "2026-10-08"
          },
          {
            "what": "authentication best practices",
            "url": "https://docs.aws.amazon.com/location/latest/developerguide/auth-best-practices.html",
            "seen": "2026-10-08"
          },
          {
            "what": "Geocode API reference",
            "url": "https://docs.aws.amazon.com/location/latest/APIReference/API_geoplaces_Geocode.html",
            "seen": "2026-10-08"
          },
          {
            "what": "geocode how-to with cURL",
            "url": "https://docs.aws.amazon.com/location/latest/developerguide/how-to-geocode-address.html",
            "seen": "2026-10-08"
          },
          {
            "what": "service models and their history",
            "url": "https://github.com/aws/api-models-aws/tree/main/models/geo-places",
            "seen": "2026-10-08"
          },
          {
            "what": "status feed us-east-1",
            "url": "https://status.aws.amazon.com/rss/locationservice-us-east-1.rss",
            "seen": "2026-10-08"
          },
          {
            "what": "AWS Health Dashboard and the event history it loads",
            "url": "https://health.aws.amazon.com/health/status",
            "seen": "2026-10-08"
          },
          {
            "what": "Amazon Location SLA",
            "url": "https://aws.amazon.com/location/sla/",
            "seen": "2026-10-08"
          },
          {
            "what": "AWS Service Terms, section 82",
            "url": "https://aws.amazon.com/service-terms/",
            "seen": "2026-10-08"
          },
          {
            "what": "AWS Privacy Notice",
            "url": "https://aws.amazon.com/privacy/",
            "seen": "2026-10-08"
          },
          {
            "what": "data retention",
            "url": "https://docs.aws.amazon.com/location/latest/developerguide/data-retention.html",
            "seen": "2026-10-08"
          },
          {
            "what": "data privacy",
            "url": "https://docs.aws.amazon.com/location/latest/developerguide/data-privacy.html",
            "seen": "2026-10-08"
          },
          {
            "what": "CloudTrail logging",
            "url": "https://docs.aws.amazon.com/location/latest/developerguide/cloudtrail.html",
            "seen": "2026-10-08"
          },
          {
            "what": "document history",
            "url": "https://docs.aws.amazon.com/location/latest/developerguide/doc-history.html",
            "seen": "2026-10-08"
          },
          {
            "what": "Build with AI agents",
            "url": "https://docs.aws.amazon.com/location/latest/developerguide/ai-llms.html",
            "seen": "2026-10-08"
          },
          {
            "what": "agent context repository, changelog and tags",
            "url": "https://github.com/aws-geospatial/amazon-location-agent-context",
            "seen": "2026-10-08"
          },
          {
            "what": "AWS What's New posts tagged Amazon Location Service",
            "url": "https://aws.amazon.com/about-aws/whats-new/2026/04/amazon-location-enhanced-map-styling/",
            "seen": "2026-10-08"
          },
          {
            "what": "npm client",
            "url": "https://registry.npmjs.org/@aws-sdk/client-geo-places/latest",
            "seen": "2026-10-08"
          },
          {
            "what": "security.txt",
            "url": "https://aws.amazon.com/.well-known/security.txt",
            "seen": "2026-10-08"
          },
          {
            "what": "endpoints",
            "url": "https://docs.aws.amazon.com/general/latest/gr/location.html",
            "seen": "2026-10-08"
          }
        ],
        "openQuestions": [
          "unchecked: whether opening an AWS account on the free plan needs a payment card. We did not go through sign-up and scored the free tier as the other AWS listings did on 1 October 2026.",
          "unchecked: the AWS sub-processor list and the AWS Data Processing Addendum were not read today.",
          "Prices are those for US East (N. Virginia) in the feed the pricing page loads. Other regions were not compared.",
          "The What's New listing we read is filtered by AWS's own product tag and may omit posts, such as the Jobs API and address validation launch, whose date we did not establish.",
          "We read the status feeds for us-east-1 and eu-west-1 only, plus the dashboard's cross-region event history.",
          "No retention period for Places and Routes request data was found in the reviewed documentation."
        ]
      },
      "negative": 0,
      "verdict": "Places, Routes and Maps calls work over plain HTTPS with an API key limited to named actions, and every one of the 17 operations is read-only with typed inputs. Access starts with an AWS account a person opens, the key travels in the URL query string, and stored results cost eight times the single-use rate.",
      "bestFor": "Operators already on AWS who want geocoding, places and routing inside IAM, CloudTrail and one bill, with HERE data and GrabMaps for Southeast Asia.",
      "strengths": [
        "API keys are limited to named actions and resources, can expire, and can be restricted by referrer or mobile app identifier",
        "All 17 Places, Routes and Maps operations are marked read-only in the public Smithy models, with enums and numeric ranges on inputs",
        "Default rates are published per operation (100 a second for each Places call, 20 for `CalculateRoutes`) and can be doubled by self-service",
        "An SLA of 99.9 per cent monthly uptime per region, with credits of 10, 25 and 100 per cent",
        "llms.txt, a Markdown twin of every guide page and an Apache-2.0 agent context package (v1.2.0, 11 September 2026)"
      ],
      "weaknesses": [
        "The API key is sent as the `key` query parameter, the only documented way to present it",
        "Storing or caching results is barred unless `IntendedUse` is `Storage`, billed at $4.00 per 1,000 against $0.50 for single use",
        "An AWS account opened by a person in a browser is needed before any call, and no keyless or machine-payment route exists",
        "The developer guide gives no backoff or `Retry-After` guidance for `ThrottlingException` (429)",
        "The guide's document history holds one entry, dated 31 October 2024, so API changes have to be read from the SDK models"
      ],
      "agentNotes": [
        "Call the v2 endpoints (`places.geo.\u003cregion\u003e.amazonaws.com/v2/geocode`, `routes.geo`, `maps.geo`). They need no resource creation, unlike the v1 place index and route calculator calls",
        "Set `IntendedUse` to `Storage` before saving or caching any Places result. The default `SingleUse` results may not be stored under section 82.4 of the AWS Service Terms",
        "Read `PricingBucket` in each response. Requesting `Contact`, `Access`, `TimeZone` or `Phonemes` in `AdditionalFeatures` moves a Places call from $0.50 to $1.50 per 1,000",
        "Keep the API key out of logs and shared URLs, since it travels as `?key=`. Use SigV4 with an IAM role for server-side work, and for the Jobs API, which refuses API keys",
        "Back off on HTTP 429 `ThrottlingException`. The burst allowance is 80 per cent of the per-second rate within any part of a second"
      ],
      "metrics": {
        "kind": "remote",
        "measured": false
      },
      "reviewCount": 0,
      "avgRating": 0,
      "history": [
        {
          "basis": "public evidence",
          "confidence": "high",
          "grade": "BB",
          "methodology": "0.4",
          "pending": [
            "performance",
            "tasks"
          ],
          "run": "2026-10-01",
          "runLabel": "October 2026 research run",
          "score": 74.1
        }
      ],
      "editorialScores": {
        "ergonomics": 88,
        "maintenance": 60,
        "payments": 20,
        "reliability": 95,
        "schema": 87,
        "security": 73,
        "transparency": 52
      },
      "provenanceScore": 88
    },
    "connect": {
      "install": "pip install boto3   # or: npm i @aws-sdk/client-geo-places",
      "http": "curl --request POST \\\n  --url 'https://places.geo.eu-central-1.amazonaws.com/v2/geocode?key=Your_Key' \\\n  --header 'Content-Type: application/json' \\\n  --data '{\"QueryText\": \"510 W Georgia St, Vancouver, BC\"}'",
      "claudeCode": "/plugin install amazon-location-service@claude-plugins-official"
    },
    "letme": {
      "capability": "https://letme.dev/geo.geocode",
      "tool": "https://letme.dev/amazon-location"
    },
    "sameCompany": [
      "amazon-bedrock-guardrails",
      "amazon-transcribe",
      "amazon-polly",
      "aws-secrets-manager",
      "aws-mcp-servers",
      "amazon-ses",
      "amazon-translate",
      "amazon-ads-api"
    ],
    "notable": [
      "The v2 Places, Routes and Maps APIs need no resource creation and answer at `places.geo`, `routes.geo` and `maps.geo` under `\u003cregion\u003e.amazonaws.com`. The v1 place index and route calculator calls remain in the `location` API (https://docs.aws.amazon.com/location/latest/developerguide/integration-best-practice.html)",
      "Section 82.4 of the AWS Service Terms bars storing or caching location data, except geocoding results requested with the storage parameter and HERE or Esri route results for up to 30 days (https://aws.amazon.com/service-terms/)",
      "Each response names the `PricingBucket` it was billed at (https://docs.aws.amazon.com/location/latest/developerguide/pricing.html)",
      "Data comes from HERE, Esri, GrabMaps and AWS open data maps, and section 82.1 of the Service Terms says providers may process request parameters outside the AWS region of the request (https://docs.aws.amazon.com/location/latest/developerguide/data-attribution.html)",
      "The Build with AI agents page installs an agent context package as a Claude Code or Cursor plugin, a Kiro power or an Agent Skill. Its MCP configuration is the general AWS MCP Server (https://docs.aws.amazon.com/location/latest/developerguide/ai-llms.html)",
      "Autocomplete is not available in Japan, and address validation runs only as batch jobs for the United States, Canada, the United Kingdom and Australia (https://docs.aws.amazon.com/location/latest/developerguide/places-quota-usage.html)",
      "The `@aws-sdk/client-geo-places` package had 426,988 npm downloads in the week before 8 October 2026 (https://api.npmjs.org/downloads/point/last-week/@aws-sdk/client-geo-places)"
    ],
    "area": "everyday",
    "details": [
      {
        "label": "APIs",
        "value": "Places v2 (7 operations), Routes v2 (5), Maps v2 (5), plus the `location` API (64 operations) for API keys, geofences, trackers, jobs and the v1 resources. API version 2020-11-19"
      },
      {
        "label": "Endpoints",
        "value": "`places.geo.\u003cregion\u003e.amazonaws.com`, `routes.geo.\u003cregion\u003e.amazonaws.com`, `maps.geo.\u003cregion\u003e.amazonaws.com`, with dual-stack twins under `api.aws`"
      },
      {
        "label": "Credentials",
        "value": "API keys for Maps, Places and Routes (allowed actions and resources, optional expiry, referrer or app restrictions), Amazon Cognito, or SigV4 with IAM for every API"
      },
      {
        "label": "Default rates",
        "value": "100 a second for each Places operation. 20 for `CalculateRoutes`, `CalculateIsolines` and `SnapToRoads`, 5 for `CalculateRouteMatrix` and `OptimizeWaypoints`. Burst 80 per cent of the rate. Self-service increase to twice the default"
      },
      {
        "label": "Limits",
        "value": "6 MB compressed response. `MaxResults` 1 to 100 and `QueryText` up to 200 characters on `Geocode`. 50 waypoints for `OptimizeWaypoints`, 5,000 trace points for `SnapToRoads`"
      },
      {
        "label": "Storage rule",
        "value": "Results may be stored only with `IntendedUse` set to `Storage`, billed at the stored price. Autocomplete and Suggest results can't be stored. HERE data for Japan can't be stored or cached (Service Terms 82.4 and 82.5)"
      },
      {
        "label": "Data providers",
        "value": "HERE, Esri, GrabMaps (eight Southeast Asian countries) and AWS open data maps built on Overture and OpenStreetMap"
      },
      {
        "label": "Free allowance",
        "value": "Monthly for the first three months. 20,000 core Places requests, 10,000 label Autocomplete or Suggest requests, 10,000 routes, 500,000 map tiles, 5,000 static maps"
      },
      {
        "label": "SLA",
        "value": "99.9 per cent monthly uptime per region. Credits of 10 per cent below 99.9, 25 below 99.0 and 100 below 95.0 (last updated 5 May 2022)"
      },
      {
        "label": "Retention",
        "value": "Device positions 30 days. Geofences until deleted. Queries have customer metadata removed before going to data providers, which may process them outside the request's region"
      },
      {
        "label": "Audit",
        "value": "CloudTrail management events by default, data events on request. CloudWatch metrics by `ApiKeyName`"
      },
      {
        "label": "Agent tooling",
        "value": "`aws-geospatial/amazon-location-agent-context` v1.2.0 (Apache-2.0), a Claude Code and Cursor plugin, Kiro power and Agent Skill. Its MCP config points at the AWS MCP Server, not a server specific to Amazon Location"
      },
      {
        "label": "Address validation",
        "value": "Batch only, through the Jobs API with S3 input and output. United States, Canada, United Kingdom and Australia. $10.50 per 1,000 for the first 100,000 (core)"
      }
    ],
    "unitPrices": [
      {
        "item": "Geocode, reverse geocode, place search (core)",
        "unit": "1k-requests",
        "usd": 0.5,
        "note": "US East. `SingleUse` results, not for storage"
      },
      {
        "item": "Geocode, reverse geocode, place search (advanced)",
        "unit": "1k-requests",
        "usd": 1.5,
        "note": "With contacts, opening hours, access points or time zone"
      },
      {
        "item": "Geocode, reverse geocode, place search (stored)",
        "unit": "1k-requests",
        "usd": 4,
        "note": "`IntendedUse` set to `Storage`"
      },
      {
        "item": "Autocomplete and Suggest (label)",
        "unit": "1k-requests",
        "usd": 0.2
      },
      {
        "item": "Routes calculated (core)",
        "unit": "1k-requests",
        "usd": 0.5,
        "note": "Car, truck or pedestrian. A matrix bills origins times destinations"
      },
      {
        "item": "Routes with toll cost (premium)",
        "unit": "1k-requests",
        "usd": 4
      },
      {
        "item": "Dynamic map tiles",
        "unit": "1k-requests",
        "usd": 0.04
      },
      {
        "item": "Static map images",
        "unit": "1k-requests",
        "usd": 0.5
      }
    ],
    "provenance": {
      "legalEntity": "Amazon Web Services, Inc.",
      "domain": "amazon.com",
      "domainRegistered": "1994-11-01",
      "endpointOnVendorDomain": true,
      "terms": "https://aws.amazon.com/service-terms/",
      "privacy": "https://aws.amazon.com/privacy/",
      "statusPage": "https://health.aws.amazon.com/health/status",
      "changelog": "https://docs.aws.amazon.com/location/latest/developerguide/doc-history.html",
      "securityTxt": "expired",
      "checked": "2026-10-08",
      "notes": [
        "The AWS Service Terms (last updated 1 October 2026) govern the service, with Amazon Location Service at section 82. The AWS Customer Agreement sits above them.",
        "The AWS Privacy Notice (last updated 18 May 2026) names Amazon Web Services, Inc., 410 Terry Avenue North, Seattle, WA 98109-5210.",
        "The endpoints are on amazonaws.com and api.aws, both AWS domains.",
        "aws.amazon.com/.well-known/security.txt carries Expires 2026-09-24T16:25:03Z, which had passed on the day of the check. It points to a HackerOne disclosure programme.",
        "RDAP for amazon.com gives a registration date of 1994-11-01.",
        "The document history page has one entry, dated 31 October 2024. API changes are otherwise visible in AWS What's New posts and the SDK service models."
      ],
      "score": 88,
      "checks": [
        {
          "check": "Legal entity named",
          "value": "Amazon Web Services, Inc.",
          "points": 20,
          "max": 20,
          "state": "ok"
        },
        {
          "check": "Domain age",
          "value": "amazon.com, registered 1994-11-01 (31 years)",
          "points": 15,
          "max": 15,
          "state": "ok"
        },
        {
          "check": "Endpoint on the vendor's domain",
          "value": "places.geo.us-east-1.amazonaws.com",
          "points": 15,
          "max": 15,
          "state": "ok"
        },
        {
          "check": "Terms of service",
          "value": "read, states 6 of the 7 things a reader expects, and has 3 clauses that cost points",
          "points": 3.1,
          "max": 10,
          "state": "part"
        },
        {
          "check": "Privacy policy",
          "value": "read, states 8 of the 8 things a reader expects",
          "points": 10,
          "max": 10,
          "state": "ok"
        },
        {
          "check": "Status page",
          "value": "health.aws.amazon.com/health/status",
          "points": 10,
          "max": 10,
          "state": "ok"
        },
        {
          "check": "Changelog",
          "value": "published",
          "points": 10,
          "max": 10,
          "state": "ok"
        },
        {
          "check": "security.txt",
          "value": "published but past its Expires date",
          "points": 5,
          "max": 10,
          "state": "part"
        }
      ],
      "policies": [
        {
          "kind": "terms",
          "url": "https://aws.amazon.com/service-terms/",
          "state": "read",
          "readAt": "2026-10-08",
          "statedDate": "2026-10-01",
          "words": 47585,
          "points": 3.1,
          "max": 10,
          "expected": [
            {
              "key": "terms.date",
              "label": "Gives the date it was last updated",
              "found": true,
              "quote": "Last Updated: October 1, 2026",
              "says": "Last updated 2026-10-01"
            },
            {
              "key": "terms.law",
              "label": "Names the governing law or courts",
              "found": false
            },
            {
              "key": "terms.liability",
              "label": "States a limit on its liability",
              "found": true,
              "quote": "AWS’S AND ITS AFFILIATES’ AND LICENSORS’ AGGREGATE LIABILITY FOR ANY BETA SERVICES AND BETA REGIONS WILL BE LIMITED TO THE AMOUNT YOU ACTUALLY PAY US UNDER THIS AGREEMENT FOR THE BETA SERVICES OR BETA REGIONS THAT GAVE RISE TO THE CLAIM DURING THE 12 MONTHS PRECEDING THE CLAIM."
            },
            {
              "key": "terms.termination",
              "label": "Says how the agreement or account can be ended",
              "found": true,
              "quote": "If you do not remove or disable access to the Prohibited Content within 2 business days of our notice, we may remove or disable access to the Prohibited Content or suspend the Services to the extent we are not able to remove or disable access to the Prohibited Content."
            },
            {
              "key": "terms.changes",
              "label": "Says how changes to the terms are announced",
              "found": true,
              "quote": "If during the previous 6 months you have incurred no fees for Amazon SimpleDB and have registered no usage of Your Content stored in Amazon SimpleDB, we may delete Your Content that is stored in Simple DB upon 30 days prior notice to you.",
              "says": "Gives 30 days of notice before a change"
            },
            {
              "key": "terms.use",
              "label": "Lists what users may not do",
              "found": true,
              "quote": "You may not transfer outside the Services any software (including related documentation) you obtain from us or third party licensors in connection with the Services without specific authorization to do so."
            },
            {
              "key": "terms.sla",
              "label": "Refers to a service level or uptime commitment",
              "found": true,
              "quote": "If you have been charged for a Service for a period when that Service was unavailable (as defined in the applicable Service Level Agreement for each Service), you may request a Service credit equal to any charged amounts for such period."
            }
          ],
          "toKnow": [
            {
              "key": "training.optout",
              "label": "Says it may use customer content to train or improve models, and gives an opt-out",
              "found": true,
              "quote": "You may instruct AWS not to use and store Amazon WorkSpaces AI Content processed by Amazon WorkSpaces AI Features to develop and improve the Service or technologies of AWS or its affiliates by configuring an AI services opt-out policy using AWS Organizations."
            },
            {
              "key": "terms.automated",
              "label": "Restricts automated access",
              "found": true,
              "quote": "Reverse engineer, decompile, attempt to reconstruct, scrape, systematically collect, or duplicate Address Validation Data.",
              "costsPoints": true
            },
            {
              "key": "terms.benchmark",
              "label": "Restricts benchmarking or competitive use",
              "found": true,
              "quote": "You may not, and may not allow any third party to, use Amazon CloudWatch Network Monitoring, or any data or information made available through Amazon CloudWatch Network Monitoring, to, directly or indirectly, develop, improve, or offer a similar or competing product or service.",
              "costsPoints": true
            },
            {
              "key": "terms.nonotice",
              "label": "Says the terms or the service can change without notice",
              "found": true,
              "quote": "We may change, discontinue, or deprecate support for any third-party software development services at any time without prior notice.",
              "costsPoints": true
            }
          ]
        },
        {
          "kind": "privacy",
          "url": "https://aws.amazon.com/privacy/",
          "state": "read",
          "readAt": "2026-10-08",
          "statedDate": "2026-05-18",
          "words": 8790,
          "points": 10,
          "max": 10,
          "expected": [
            {
              "key": "privacy.date",
              "label": "Gives the date it was last updated",
              "found": true,
              "quote": "Last Updated: May 18, 2026",
              "says": "Last updated 2026-05-18"
            },
            {
              "key": "privacy.collected",
              "label": "Says what personal data is collected",
              "found": true,
              "quote": "This Privacy Notice describes how we collect and use your personal information in relation to AWS websites, applications, products, services, events, and experiences that reference this Privacy Notice (together, “AWS Offerings”)."
            },
            {
              "key": "privacy.retention",
              "label": "Says how long data is kept",
              "found": true,
              "quote": "We keep your personal information to enable your continued use of AWS Offerings, for as long as it is required in order to fulfill the relevant purposes described in this Privacy Notice, as may be required by law (including for tax and accounting purposes), or as otherwise communicated to you.",
              "says": "For as long as needed, with no period named"
            },
            {
              "key": "privacy.processors",
              "label": "Says who else receives the data",
              "found": true,
              "quote": "Information from Other Sources: We might collect information about you from other sources, including service providers, partners, and publicly available sources."
            },
            {
              "key": "privacy.sale",
              "label": "Says whether personal data is sold or shared for advertising",
              "found": true,
              "quote": "Information about our customers is an important part of our business and we are not in the business of selling our customers’ personal information to others."
            },
            {
              "key": "privacy.rights",
              "label": "Says what rights people have over their data",
              "found": true,
              "quote": "Additionally, you may have the right to opt out of the processing of your personal data for cross-context behavioral advertising (also referred to as targeted advertising under certain state privacy laws)."
            },
            {
              "key": "privacy.contact",
              "label": "Gives a privacy contact",
              "found": true,
              "quote": "We provide additional information about our controllers and data protection officers (as applicable), the privacy, collection, and use of personal information of prospective and current customers of AWS Offerings located in certain jurisdictions.",
              "says": "Names a data protection officer"
            },
            {
              "key": "privacy.transfers",
              "label": "Says where data is transferred or stored",
              "found": true,
              "quote": "EU-US Data Privacy Framework, UK Extension, and Swiss-US Data Privacy Framework",
              "says": "Relies on the Data Privacy Framework"
            }
          ],
          "toKnow": [
            {
              "key": "privacy.sells",
              "label": "Says it sells personal data or shares it for advertising",
              "found": true,
              "quote": "To help you receive more useful and relevant ads on other sites and services and to measure their effectiveness, AWS shares limited personal information with our advertising partners."
            }
          ],
          "notes": [
            {
              "date": "2026-10-08",
              "text": "The notice does not cover content that customers process, store or host on AWS. It refers to the customer agreement for how that content is handled.",
              "quote": "This Privacy Notice does not apply to the “content” processed, stored, or hosted by our customers using AWS Offerings in connection with an AWS account."
            }
          ]
        }
      ]
    },
    "pageJsonUrl": "https://www.anchorterminal.com/tools/amazon-location.json",
    "live": {
      "slug": "amazon-location",
      "probe": {
        "target": "https://places.geo.us-east-1.amazonaws.com",
        "method": "get",
        "lastAt": "2026-10-08T21:12:03.434350122Z",
        "lastOk": true,
        "lastStatus": 404,
        "lastMs": 239,
        "authRequired": false,
        "uptime24h": 100,
        "uptime30d": 100,
        "p50ms24h": 253,
        "p95ms24h": 307,
        "samples24h": 21,
        "samples30d": 21,
        "days": [
          {
            "date": "2026-10-08",
            "probes": 21,
            "ok": 21
          }
        ]
      },
      "updatedAt": "2026-10-08T21:12:03.434350122Z"
    }
  }
}
