{
  "data": {
    "similar": [
      {
        "grade": "BB",
        "json": "https://www.anchorterminal.com/tools/mapbox.json",
        "name": "Mapbox APIs + MCP",
        "score": 77.2,
        "shared": [
          "geo.geocode",
          "geo.reverse",
          "geo.places",
          "geo.tiles"
        ],
        "slug": "mapbox"
      },
      {
        "grade": "BB",
        "json": "https://www.anchorterminal.com/tools/amazon-location.json",
        "name": "Amazon Location Service",
        "score": 76.5,
        "shared": [
          "geo.geocode",
          "geo.reverse",
          "geo.places",
          "geo.tiles"
        ],
        "slug": "amazon-location"
      },
      {
        "grade": "BB",
        "json": "https://www.anchorterminal.com/tools/google-maps-platform.json",
        "name": "Google Maps Platform + Grounding Lite MCP",
        "score": 75.4,
        "shared": [
          "geo.geocode",
          "geo.reverse",
          "geo.places",
          "geo.tiles"
        ],
        "slug": "google-maps-platform"
      },
      {
        "grade": "B",
        "json": "https://www.anchorterminal.com/tools/azure-maps.json",
        "name": "Azure Maps",
        "score": 67.1,
        "shared": [
          "geo.geocode",
          "geo.reverse",
          "geo.places",
          "geo.tiles"
        ],
        "slug": "azure-maps"
      },
      {
        "grade": "B",
        "json": "https://www.anchorterminal.com/tools/arcgis.json",
        "name": "ArcGIS Location Platform",
        "score": 66.1,
        "shared": [
          "geo.geocode",
          "geo.reverse",
          "geo.places",
          "geo.tiles"
        ],
        "slug": "arcgis"
      },
      {
        "grade": "B",
        "json": "https://www.anchorterminal.com/tools/stadia-maps.json",
        "name": "Stadia Maps",
        "score": 65.2,
        "shared": [
          "geo.geocode",
          "geo.reverse",
          "geo.places",
          "geo.tiles"
        ],
        "slug": "stadia-maps"
      }
    ],
    "tool": {
      "slug": "maptiler",
      "name": "MapTiler Cloud",
      "vendor": "MapTiler AG",
      "vendorUrl": "https://www.maptiler.com",
      "kind": "http-api",
      "category": "maps",
      "summary": "MapTiler Cloud is a hosted maps platform from MapTiler AG in Switzerland. Its read-only REST APIs serve map styles, vector and raster tiles, static maps, forward and reverse geocoding, IP geolocation, elevation, coordinate transforms and weather data.",
      "url": "https://www.anchorterminal.com/tools/maptiler",
      "markdownUrl": "https://www.anchorterminal.com/tools/maptiler.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/maptiler.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/maptiler.json",
      "dns": "maptiler.grade.anchorterminal.com",
      "repo": "https://github.com/maptiler/maptiler-client-js",
      "transports": [
        "http"
      ],
      "packages": [
        {
          "registry": "npm",
          "name": "@maptiler/client"
        },
        {
          "registry": "npm",
          "name": "@maptiler/sdk"
        }
      ],
      "auth": "api-key",
      "authNotes": "API key from the MapTiler Cloud account after a browser signup, always passed as the `key` query parameter. Keys can be limited to HTTP origins and a User-Agent substring and are managed through the Service API. From a backend, a service token can sign each request with a `signature` parameter instead. The Service API (uploads, tilesets, keys, analytics) needs a service token.",
      "pricing": "freemium",
      "pricingNotes": "Free plan with 100,000 API requests, 5,000 sessions and 1,000 search sessions a month, no card, for testing and non-commercial use; service pauses at the limit. Flex is $30 a month with 500,000 requests, then $0.15 per 1,000 requests and $2.50 per 1,000 search sessions. Custom contracts carry a 99.9% SLA.",
      "priceSummary": "$0.15 / 1k req",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API reference, OpenAPI spec, llms.txt or pricing page (checked 2026-11-06). Paid plans are billed by FastSpring.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 114682,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://docs.maptiler.com/cloud/api/",
      "llmsTxt": "https://docs.maptiler.com/llms.txt",
      "openapi": "https://docs.maptiler.com/_data/cloud/api/openapi.yml",
      "capabilities": [
        "geo.geocode",
        "geo.reverse",
        "geo.places",
        "geo.tiles",
        "data.weather"
      ],
      "tags": [
        "hosted",
        "api-key",
        "freemium",
        "free-tier",
        "no-card",
        "llms-txt",
        "openapi",
        "official",
        "agent-skills",
        "typescript",
        "status-page",
        "security-txt",
        "iso27001",
        "eu",
        "eu-region",
        "sla",
        "closed-source"
      ],
      "lastRelease": "2026-10-02",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 62.1,
        "grade": "B",
        "agentReady": false,
        "rank": 574,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 10,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 70,
          "maintenance": 70,
          "payments": 40,
          "reliability": 43,
          "schema": 79,
          "security": 64,
          "transparency": 80
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "breakdown": [
          {
            "key": "reliability",
            "name": "Reliability",
            "weight": 16,
            "effectiveWeight": 20,
            "score": 43,
            "points": 8.6,
            "reason": "Hosted lines. status.maptiler.com is a StatusCake public uptime report rather than a component incident page (15). Its data loads from app.statuscake.com, whose robots.txt answered with a redirect, so we didn't fetch it and read no history. That's our limit, not a finding, and the rubric gives 5 (5). Monthly request and session quotas are published per plan, but no per-second limit (5). No 429, Retry-After or backoff guidance found in the API reference, the OpenAPI spec or llms-full.txt (0). The pricing page lists a 99.9% SLA on the Custom plan, while the Cloud terms call availability best effort and point to a custom SLA (8). The public APIs are GA (10). 15+5+5+0+8+10 = 43.",
            "checked": "2026-11-06"
          },
          {
            "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": 79,
            "points": 12.84,
            "reason": "OpenAPI 3.1.0 document with 32 paths for the public APIs (25). llms.txt, llms-full.txt and a Markdown twin of every page (10). Each API page says what it's for and when to use the SDK instead (session billing), with little on when not to call it (13). Parameters are typed with defaults, such as limit (default 5 forward, 1 reverse) and a types enum, but bbox and proximity are strings (11). Examples on every endpoint, and the spec documents 400, 403, 404 and 414, without an error reference page (10). A dated platform updates page and a geocoding index changelog, but no version in the API path and the spec is version '1.0' (10). 25+10+13+11+10+10 = 79.",
            "checked": "2026-11-06"
          },
          {
            "key": "ergonomics",
            "name": "Agent ergonomics",
            "weight": 13,
            "effectiveWeight": 16.25,
            "score": 70,
            "points": 11.38,
            "reason": "API reading. limit, types, bbox, proximity, country, language and fuzzyMatch size geocoding results, and the batch endpoint takes up to 50 queries (20). Country, bbox and type filters, no pagination (geocoding rarely needs it) (16). Errors are documented as 400 and 403 with no recovery guidance (10). Every public API reads and is safe to retry (12). Few required parameters, but official clients are JavaScript and TypeScript only, plus native mobile SDKs (12). 20+16+10+12+12 = 70.",
            "checked": "2026-11-06"
          },
          {
            "key": "security",
            "name": "Security \u0026 auth",
            "weight": 14,
            "effectiveWeight": 17.5,
            "score": 64,
            "points": 11.2,
            "reason": "Revocable keys that can be limited to origins and a User-Agent substring and managed by the API keys API, and service tokens that sign requests so the token itself never travels, which earns 27. Less 10 because the key is 'always passed as a query parameter' (17). The public APIs are read-only, and account changes need a separate service token (16). Geocoding returns OpenStreetMap names and addresses, community-edited text, with no prompt-injection guidance (7). An Analytics API and account usage statistics (8). security.txt, a vulnerability disclosure policy and ISO/IEC 27001:2022 certification per the security page. No bug bounty found (16). 17+16+7+8+16 = 64.",
            "checked": "2026-11-06"
          },
          {
            "key": "payments",
            "name": "Payments \u0026 pricing",
            "weight": 10,
            "effectiveWeight": 12.5,
            "score": 40,
            "points": 5,
            "reason": "No x402, MPP or L402 (0). Per-1,000 prices for requests ($0.15) and sessions ($2.50) public without login (20). Free plan with no card, though only for testing and non-commercial use (20). Signup is a browser flow (0). 0+20+20+0 = 40.",
            "checked": "2026-11-06"
          },
          {
            "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": 70,
            "points": 6.13,
            "reason": "@maptiler/client 3.1.0 and @maptiler/sdk 4.2.0 on 2 October 2026, 35 days before this check, with the agent skill updated on 21 October (20). Platform updates entries for August (EU endpoint, key security) and September 2026 (terrain blending) plus the two October releases (20). A Discord community and support answered on a best-effort basis within two business days, per the Cloud terms. We didn't read GitHub issues (10). Official JavaScript client and SDK current, no Python client (12). The SDK repository runs unit and end-to-end tests in CI; we didn't check results (8). 20+20+10+12+8 = 70.",
            "checked": "2026-11-06"
          },
          {
            "key": "transparency",
            "name": "Transparency \u0026 trust",
            "weight": 7,
            "effectiveWeight": 8.75,
            "score": 80,
            "points": 7,
            "note": "editorial 64, provenance 96",
            "reason": "Editorial half only. Closed service with general and Cloud-specific terms under Swiss law, and SDKs under BSD 3-Clause and the skill under MIT (20). The privacy policy covers account and payment data and says legal-claim data is kept up to 10 years, but says nothing about how long API request logs are kept (15). A dated deprecation page for v3 maps and migration guides, with no written notice period (12). Hosting with OVHcloud and Google Firebase, data mainly in Switzerland and the EEA, and an EU-only endpoint. Google Analytics, Firebase and FastSpring named in the privacy policy (17). 20+15+12+17 = 64.",
            "checked": "2026-11-06"
          }
        ],
        "assessment": {
          "date": "2026-11-06",
          "basis": "public evidence",
          "confidence": "medium",
          "notes": {
            "ergonomics": "API reading. limit, types, bbox, proximity, country, language and fuzzyMatch size geocoding results, and the batch endpoint takes up to 50 queries (20). Country, bbox and type filters, no pagination (geocoding rarely needs it) (16). Errors are documented as 400 and 403 with no recovery guidance (10). Every public API reads and is safe to retry (12). Few required parameters, but official clients are JavaScript and TypeScript only, plus native mobile SDKs (12). 20+16+10+12+12 = 70.",
            "maintenance": "@maptiler/client 3.1.0 and @maptiler/sdk 4.2.0 on 2 October 2026, 35 days before this check, with the agent skill updated on 21 October (20). Platform updates entries for August (EU endpoint, key security) and September 2026 (terrain blending) plus the two October releases (20). A Discord community and support answered on a best-effort basis within two business days, per the Cloud terms. We didn't read GitHub issues (10). Official JavaScript client and SDK current, no Python client (12). The SDK repository runs unit and end-to-end tests in CI; we didn't check results (8). 20+20+10+12+8 = 70.",
            "payments": "No x402, MPP or L402 (0). Per-1,000 prices for requests ($0.15) and sessions ($2.50) public without login (20). Free plan with no card, though only for testing and non-commercial use (20). Signup is a browser flow (0). 0+20+20+0 = 40.",
            "reliability": "Hosted lines. status.maptiler.com is a StatusCake public uptime report rather than a component incident page (15). Its data loads from app.statuscake.com, whose robots.txt answered with a redirect, so we didn't fetch it and read no history. That's our limit, not a finding, and the rubric gives 5 (5). Monthly request and session quotas are published per plan, but no per-second limit (5). No 429, Retry-After or backoff guidance found in the API reference, the OpenAPI spec or llms-full.txt (0). The pricing page lists a 99.9% SLA on the Custom plan, while the Cloud terms call availability best effort and point to a custom SLA (8). The public APIs are GA (10). 15+5+5+0+8+10 = 43.",
            "schema": "OpenAPI 3.1.0 document with 32 paths for the public APIs (25). llms.txt, llms-full.txt and a Markdown twin of every page (10). Each API page says what it's for and when to use the SDK instead (session billing), with little on when not to call it (13). Parameters are typed with defaults, such as limit (default 5 forward, 1 reverse) and a types enum, but bbox and proximity are strings (11). Examples on every endpoint, and the spec documents 400, 403, 404 and 414, without an error reference page (10). A dated platform updates page and a geocoding index changelog, but no version in the API path and the spec is version '1.0' (10). 25+10+13+11+10+10 = 79.",
            "security": "Revocable keys that can be limited to origins and a User-Agent substring and managed by the API keys API, and service tokens that sign requests so the token itself never travels, which earns 27. Less 10 because the key is 'always passed as a query parameter' (17). The public APIs are read-only, and account changes need a separate service token (16). Geocoding returns OpenStreetMap names and addresses, community-edited text, with no prompt-injection guidance (7). An Analytics API and account usage statistics (8). security.txt, a vulnerability disclosure policy and ISO/IEC 27001:2022 certification per the security page. No bug bounty found (16). 17+16+7+8+16 = 64.",
            "transparency": "Editorial half only. Closed service with general and Cloud-specific terms under Swiss law, and SDKs under BSD 3-Clause and the skill under MIT (20). The privacy policy covers account and payment data and says legal-claim data is kept up to 10 years, but says nothing about how long API request logs are kept (15). A dated deprecation page for v3 maps and migration guides, with no written notice period (12). Hosting with OVHcloud and Google Firebase, data mainly in Switzerland and the EEA, and an EU-only endpoint. Google Analytics, Firebase and FastSpring named in the privacy policy (17). 20+15+12+17 = 64."
          },
          "sources": [
            {
              "what": "API overview",
              "url": "https://docs.maptiler.com/cloud/api.md",
              "seen": "2026-11-06"
            },
            {
              "what": "OpenAPI spec",
              "url": "https://docs.maptiler.com/_data/cloud/api/openapi.yml",
              "seen": "2026-11-06"
            },
            {
              "what": "llms.txt",
              "url": "https://docs.maptiler.com/llms.txt",
              "seen": "2026-11-06"
            },
            {
              "what": "geocoding API reference",
              "url": "https://docs.maptiler.com/cloud/api/geocoding.md",
              "seen": "2026-11-06"
            },
            {
              "what": "authentication guide",
              "url": "https://docs.maptiler.com/guides/developer/credentials.md",
              "seen": "2026-11-06"
            },
            {
              "what": "platform updates",
              "url": "https://docs.maptiler.com/updates.md",
              "seen": "2026-11-06"
            },
            {
              "what": "pricing",
              "url": "https://www.maptiler.com/cloud/pricing/",
              "seen": "2026-11-06"
            },
            {
              "what": "general terms",
              "url": "https://www.maptiler.com/terms/",
              "seen": "2026-11-06"
            },
            {
              "what": "Cloud terms",
              "url": "https://www.maptiler.com/terms/cloud/",
              "seen": "2026-11-06"
            },
            {
              "what": "privacy policy",
              "url": "https://www.maptiler.com/privacy-policy/",
              "seen": "2026-11-06"
            },
            {
              "what": "security page",
              "url": "https://www.maptiler.com/security/",
              "seen": "2026-11-06"
            },
            {
              "what": "security.txt",
              "url": "https://www.maptiler.com/.well-known/security.txt",
              "seen": "2026-11-06"
            },
            {
              "what": "agent skill",
              "url": "https://github.com/maptiler/maptiler-skills",
              "seen": "2026-11-06"
            },
            {
              "what": "JavaScript client tags",
              "url": "https://github.com/maptiler/maptiler-client-js",
              "seen": "2026-11-06"
            }
          ],
          "openQuestions": [
            "unchecked: uptime and incident history on status.maptiler.com, whose data host app.statuscake.com answered robots.txt with a redirect",
            "unchecked: GitHub stars and issue reply times, because the GitHub API was rate-limited for us on 6 November 2026",
            "firstReleased is left unset, since no first-hand launch date for MapTiler Cloud was found on the pages read",
            "The privacy policy doesn't say how long API request logs or IP addresses are kept"
          ]
        },
        "negative": 0,
        "verdict": "MapTiler Cloud has an OpenAPI 3.1 reference, llms.txt with Markdown pages, an agent skill and ISO 27001 certification, and allows geocoding results to be stored. The key always travels in the query string, there's no routing API, no documented rate limit or 429 handling, and the free plan excludes commercial use.",
        "bestFor": "Map tiles, static maps and worldwide geocoding with storable results for apps that also show a map, with EU data residency.",
        "strengths": [
          "OpenAPI 3.1.0 spec, llms.txt, llms-full.txt and a Markdown version of every docs page",
          "Geocoding results may be bulk downloaded and used outside the service with attribution",
          "Keys can be restricted by origin and User-Agent, and service tokens can sign requests instead",
          "ISO/IEC 27001:2022 certification, security.txt and a vulnerability disclosure policy",
          "EU-only endpoint at api.maptiler.eu and hosting mainly in Switzerland and the EEA"
        ],
        "weaknesses": [
          "The API key is always sent as a query parameter",
          "No routing, directions or matrix API",
          "No per-second rate limit, 429 behaviour or retry guidance found in the documentation",
          "The free plan is for testing and non-commercial use only, and pauses at its monthly limit",
          "Official clients are JavaScript and TypeScript only"
        ],
        "agentNotes": [
          "Restrict the key to an origin or User-Agent, or sign requests with a service token from a backend, since the key appears in every URL",
          "Use the batch geocoding path (up to 50 semicolon-separated queries) rather than one call per address",
          "Use api.maptiler.eu when the user's requests must stay in the EU",
          "Read docs pages as Markdown by appending .md, starting from https://docs.maptiler.com/llms.txt",
          "Don't cache map tiles server-side; the Cloud terms forbid it, though geocoding results may be stored with attribution"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 62.1
          }
        ],
        "editorialScores": {
          "ergonomics": 70,
          "maintenance": 70,
          "payments": 40,
          "reliability": 43,
          "schema": 79,
          "security": 64,
          "transparency": 64
        },
        "provenanceScore": 96,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        },
        "scoreHistory": [
          {
            "date": "2026-11-06",
            "grade": "B",
            "kind": "listed",
            "method": "0.7",
            "score": 62.1
          }
        ]
      },
      "connect": {
        "install": "npm install @maptiler/client",
        "http": "curl \"https://api.maptiler.com/geocoding/Zurich.json?language=en\u0026limit=3\u0026key=$MAPTILER_API_KEY\""
      },
      "letme": {
        "capability": "https://letme.dev/geo.geocode",
        "tool": "https://letme.dev/maptiler"
      },
      "notable": [
        "OpenAPI 3.1.0 reference with 32 paths for the public APIs, and every docs page served as Markdown by appending .md (https://docs.maptiler.com/cloud/api.md)",
        "Official agent skill for coding assistants, MIT, first commit 26 February 2026 and last 21 October 2026 (https://github.com/maptiler/maptiler-skills)",
        "EU-only API endpoint api.maptiler.eu added in August 2026, and default API keys converted to restrictable keys the same month (https://docs.maptiler.com/updates.md)",
        "The Cloud terms allow bulk download only for the Geocoding API, with attribution, and allow search results to be used outside the service (https://www.maptiler.com/terms/cloud/)",
        "Geocoding index 2.15.25 scheduled for production on 11 November 2026, adding 522,485 map objects from OpenStreetMap (https://docs.maptiler.com/updates/geocoding/geocoding-latest/)",
        "ISO/IEC 27001:2022 certified ISMS covering development and cloud operations, per the security page (https://www.maptiler.com/security/)"
      ],
      "area": "everyday",
      "details": [
        {
          "label": "Surface listed",
          "value": "The public REST APIs at api.maptiler.com, read from docs.maptiler.com (API reference, OpenAPI spec, llms.txt, guides and updates), the pricing, terms, Cloud terms, privacy and security pages, status.maptiler.com and the maptiler GitHub repositories on 6 November 2026. No account was made and no key was used"
        },
        {
          "label": "Public APIs",
          "value": "Maps, Static maps, Tiles, Data (your datasets as GeoJSON), Images, Geocoding (forward, reverse, by ID and batch of up to 50 queries), Geolocation by IP, Coordinates, Elevation, Weather and fonts and sprites. All read-only"
        },
        {
          "label": "Service API",
          "value": "Upload, Tileset, API keys and Analytics APIs for managing the account, with a service token"
        },
        {
          "label": "No routing",
          "value": "No directions or route matrix endpoint in the API reference"
        },
        {
          "label": "Plans",
          "value": "Free (100,000 requests, 5,000 sessions, 1,000 search sessions a month, non-commercial), Flex $30 a month (500,000 requests, 25,000 sessions, 3,000 search sessions), Custom with soft limits and a 99.9% SLA"
        },
        {
          "label": "Rate limits",
          "value": "Monthly quotas per plan. No per-second limit or 429 behaviour found in the reviewed documentation. A spending limit on Flex and Custom stops the API when reached"
        },
        {
          "label": "Storage terms",
          "value": "Map content can't be cached server-side. Geocoding results may be bulk downloaded and used outside the service with attribution"
        },
        {
          "label": "Hosting",
          "value": "Customer data stored and processed mainly in Switzerland and the EEA on OVHcloud and Google Firebase, with an EU-only endpoint at api.maptiler.eu"
        },
        {
          "label": "SDKs",
          "value": "@maptiler/client 3.1.0 and @maptiler/sdk 4.2.0 (both 2 October 2026, BSD 3-Clause), plus native mobile SDKs. No official Python client found"
        },
        {
          "label": "Legal entity",
          "value": "MapTiler AG, Unterägeri, Switzerland, under Swiss law with courts in Zug"
        }
      ],
      "unitPrices": [
        {
          "item": "API requests over the Flex allowance",
          "unit": "1k-requests",
          "usd": 0.15,
          "note": "Flex includes 500,000 a month"
        },
        {
          "item": "Search sessions over the Flex allowance",
          "unit": "1k-requests",
          "usd": 2.5,
          "note": "Priced per 1,000 search sessions through MapTiler SDK JS"
        },
        {
          "item": "Flex plan",
          "unit": "month",
          "usd": 30,
          "note": "Extra usage billed monthly"
        }
      ],
      "provenance": {
        "legalEntity": "MapTiler AG",
        "domain": "maptiler.com",
        "domainRegistered": "2008-08-08",
        "endpointOnVendorDomain": true,
        "terms": "https://www.maptiler.com/terms/",
        "privacy": "https://www.maptiler.com/privacy-policy/",
        "statusPage": "https://status.maptiler.com",
        "changelog": "https://docs.maptiler.com/updates/",
        "securityTxt": "valid",
        "checked": "2026-11-06",
        "notes": [
          "The general terms name MapTiler AG, Zugerstrasse 22, 6314 Unterägeri, Switzerland, under Swiss law with courts in Zug.",
          "security.txt at www.maptiler.com/.well-known/security.txt names sysadmin@maptiler.com, a PGP key and a signature, and has no Expires field.",
          "status.maptiler.com is a StatusCake public report whose data loads from app.statuscake.com. That host's robots.txt answered with a redirect, so it wasn't fetched and no uptime or incident history was read.",
          "RDAP gives maptiler.com a registration date of 8 August 2008.",
          "No clause on automated access to the website was found in the general terms. robots.txt on www.maptiler.com and docs.maptiler.com allows all agents apart from a few paths."
        ],
        "score": 96,
        "checks": [
          {
            "check": "Legal entity named",
            "value": "MapTiler AG",
            "points": 20,
            "max": 20,
            "state": "ok"
          },
          {
            "check": "Domain age",
            "value": "maptiler.com, registered 2008-08-08 (18 years)",
            "points": 15,
            "max": 15,
            "state": "ok"
          },
          {
            "check": "Endpoint on the vendor's domain",
            "value": "maptiler.com",
            "points": 15,
            "max": 15,
            "state": "ok"
          },
          {
            "check": "Terms of service",
            "value": "read, states 5 of the 7 things a reader expects",
            "points": 8.3,
            "max": 10,
            "state": "part"
          },
          {
            "check": "Privacy policy",
            "value": "read, states 4 of the 8 things a reader expects",
            "points": 7,
            "max": 10,
            "state": "part"
          },
          {
            "check": "Status page",
            "value": "status.maptiler.com",
            "points": 10,
            "max": 10,
            "state": "ok"
          },
          {
            "check": "Changelog",
            "value": "published",
            "points": 10,
            "max": 10,
            "state": "ok"
          },
          {
            "check": "security.txt",
            "value": "valid",
            "points": 10,
            "max": 10,
            "state": "ok"
          },
          {
            "check": "People named",
            "value": "1 named with their role, none with a public profile",
            "points": 7,
            "max": 10,
            "state": "part"
          },
          {
            "check": "Support route",
            "value": "help pages, a community",
            "points": 5,
            "max": 5,
            "state": "ok"
          }
        ],
        "policies": [
          {
            "kind": "terms",
            "url": "https://www.maptiler.com/terms/",
            "state": "read",
            "readAt": "2026-11-06",
            "words": 4541,
            "points": 8.3,
            "max": 10,
            "expected": [
              {
                "key": "terms.date",
                "label": "Gives the date it was last updated",
                "found": false
              },
              {
                "key": "terms.law",
                "label": "Names the governing law or courts",
                "found": true,
                "quote": "All disputes arising out of or in connection with these General Terms and any Special Terms, including disputes on the conclusion, binding effect, amendment and termination of any contract between MapTiler and Customers, shall be exclusively resolved by the competent court of Zug (Canton of Zug / Switzerland).",
                "says": "Disputes go to the courts of Zug"
              },
              {
                "key": "terms.liability",
                "label": "States a limit on its liability",
                "found": true,
                "quote": "Our total liability in any matter arising out of or related to your use of Services, these General Terms or any Special Terms is limited to USD 1000 or the aggregate amount that you paid for all Services during the three-month period preceding the event giving rise to the liability, whichever is larger.",
                "says": "Capped at the fees paid in the 3 months before the claim or USD 1000"
              },
              {
                "key": "terms.termination",
                "label": "Says how the agreement or account can be ended",
                "found": true,
                "quote": "If the owed amount is past due, MapTiler may suspend access to the Services until all outstanding fees are paid."
              },
              {
                "key": "terms.changes",
                "label": "Says how changes to the terms are announced",
                "found": false
              },
              {
                "key": "terms.use",
                "label": "Lists what users may not do",
                "found": true,
                "quote": "If you don’t agree to the Terms, you may not use the Services."
              },
              {
                "key": "terms.sla",
                "label": "Refers to a service level or uptime commitment",
                "found": true,
                "quote": "Customer support for the purchased Service is provided under one of the following service level agreements (\"SLA\"):"
              }
            ],
            "toKnow": [
              {
                "key": "terms.arbitration",
                "label": "Requires arbitration or waives class actions",
                "found": true,
                "quote": "The Parties commit to using arbitration only as a last resort, and to make the best effort to resolve all disputes directly between the two parties, including escalation to manager level if required."
              }
            ]
          },
          {
            "kind": "privacy",
            "url": "https://www.maptiler.com/privacy-policy/",
            "state": "read",
            "readAt": "2026-11-06",
            "words": 3457,
            "points": 7,
            "max": 10,
            "expected": [
              {
                "key": "privacy.date",
                "label": "Gives the date it was last updated",
                "found": false
              },
              {
                "key": "privacy.collected",
                "label": "Says what personal data is collected",
                "found": true,
                "quote": "Overall, we process the following categories of personal data:"
              },
              {
                "key": "privacy.retention",
                "label": "Says how long data is kept",
                "found": true,
                "quote": "We can keep your personal data up to 10 years from cancellation of your user account, or in case of a dispute, until the dispute is settled.",
                "says": "Names a period of 10 years"
              },
              {
                "key": "privacy.processors",
                "label": "Says who else receives the data",
                "found": false
              },
              {
                "key": "privacy.sale",
                "label": "Says whether personal data is sold or shared for advertising",
                "found": true,
                "quote": "Based on your consent, we use analytical and statistical (performance) cookies to generate statistics and reports on the use of the website and to save your preferences, and advertising (targeting) cookies to display targeted advertising on other websites and to transmit it to advertising operators."
              },
              {
                "key": "privacy.rights",
                "label": "Says what rights people have over their data",
                "found": true,
                "quote": "We will also inform you about persons with access to your personal data, about your rights and how you can exercise them."
              },
              {
                "key": "privacy.contact",
                "label": "Gives a privacy contact",
                "found": false
              },
              {
                "key": "privacy.transfers",
                "label": "Says where data is transferred or stored",
                "found": false
              }
            ]
          }
        ]
      },
      "humans": {
        "slug": "maptiler",
        "checked": "2026-11-06",
        "company": "MapTiler",
        "people": [
          {
            "name": "Petr Pridal",
            "role": "CEO",
            "founder": true,
            "page": "/people/petr-pridal/"
          }
        ],
        "peopleNote": "MapTiler's company page, read on 6 November 2026, names Petr Pridal as CEO and says he began assembling the MapTiler team after a decade of freelance, research and open-source work, and OVHcloud's startup profile says MapTiler was founded by a team of geospatial engineers and entrepreneurs led by Petr Pridal, so he is marked as founder. No other people are named there, and no personal accounts are linked. Headquarters are in Zug, Switzerland, with part of the development team in Brno, Czechia. Startupticker's report on MapTiler AG says the company is bootstrapped with multi-million revenue, and CzechCrunch (10 January 2020) says the project runs entirely without investors, is long profitable and that both companies behind it, OctoGEO and Klokan Technologies, are owned by Petr Přidal. No investor is named on the company, terms or security pages or in a web search on 6 November 2026, so investors, total raised and valuation are left out; competition prizes and grants such as ESA BIC aren't investments.",
        "companySocial": {
          "linkedin": "https://www.linkedin.com/company/maptiler",
          "x": "https://x.com/MapTiler",
          "github": "https://github.com/maptiler"
        },
        "support": {
          "urls": [
            "https://docs.maptiler.com/support/requests/",
            "https://www.maptiler.com/#contact"
          ],
          "community": [
            {
              "label": "MapTiler Discord",
              "url": "https://discord.com/invite/4NGjwUFGj4",
              "kind": "discord"
            }
          ],
          "contactEmails": [
            "sysadmin@maptiler.com"
          ],
          "contactUrls": [
            "https://www.maptiler.com/#contact"
          ]
        },
        "sources": [
          "https://www.maptiler.com/company/",
          "https://www.maptiler.com/terms/",
          "https://www.maptiler.com/.well-known/security.txt",
          "https://www.maptiler.com/terms/cloud/",
          "https://blog.ovhcloud.com/startup-success-highlight-maptiler/",
          "https://www.startupticker.ch/en/news/maptiler-s-international-growth-results-in-a-swiss-launch",
          "https://cc.cz/cesi-vyviji-konkurenci-google-map-kterou-kazdy-mesic-vyuzije-200-milionu-lidi-jejich-mapy-nasadila-i-nasa/"
        ],
        "ownership": {
          "status": "private",
          "checked": "2026-11-06",
          "sources": [
            "https://www.maptiler.com/company/",
            "https://www.maptiler.com/terms/",
            "https://www.startupticker.ch/en/news/maptiler-s-international-growth-results-in-a-swiss-launch",
            "https://cc.cz/cesi-vyviji-konkurenci-google-map-kterou-kazdy-mesic-vyuzije-200-milionu-lidi-jejich-mapy-nasadila-i-nasa/"
          ]
        }
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/maptiler.json",
      "live": {
        "slug": "maptiler",
        "vendorStatus": {
          "page": "https://status.maptiler.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:48:02.124798696Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "maptiler/maptiler-client-js",
            "version": "v3.1.0",
            "released": "2026-10-02",
            "seenAt": "2026-11-06T23:42:38.646681081Z"
          },
          {
            "registry": "npm",
            "name": "@maptiler/client",
            "version": "3.1.0",
            "seenAt": "2026-11-06T23:42:36.419318643Z"
          },
          {
            "registry": "npm",
            "name": "@maptiler/sdk",
            "version": "4.2.1",
            "seenAt": "2026-11-06T23:42:37.315182633Z"
          }
        ],
        "githubStars": 25,
        "npmWeekly": 114682,
        "securityTxt": {
          "url": "https://maptiler.com/.well-known/security.txt",
          "state": "valid",
          "checkedAt": "2026-11-07T15:59:35.51300876Z"
        },
        "llmsTxt": {
          "url": "https://docs.maptiler.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:57.151624353Z"
        },
        "pages": [
          {
            "url": "https://docs.maptiler.com/updates/",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:06:56.724195464Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "1152e8fe8b9d"
          },
          {
            "url": "https://www.maptiler.com/privacy-policy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:31:21.154658791Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "46d3f1544780"
          },
          {
            "url": "https://www.maptiler.com/terms/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:31:23.29013826Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "fc740f21aa9f"
          }
        ],
        "updatedAt": "2026-11-07T15:59:35.51300876Z"
      }
    },
    "verify": {
      "accepts": "a page on maptiler.com or one of its subdomains, or the README at the root of github.com/maptiler/maptiler-client-js",
      "badgeUrl": "https://www.anchorterminal.com/badges/maptiler.svg",
      "body": {
        "slug": "maptiler",
        "url": "the page with the badge or the link"
      },
      "docs": "https://www.anchorterminal.com/builders/#verify",
      "effect": "none, it never changes a grade, rank or review",
      "endpoint": "https://www.anchorterminal.com/api/v1/verify",
      "listingUrl": "https://www.anchorterminal.com/tools/maptiler",
      "mcpTool": "verify_listing",
      "recheck": "weekly; two failed checks in a row and it lapses, a later pass restores it",
      "snippets": {
        "html": "\u003ca href=\"https://www.anchorterminal.com/tools/maptiler\"\u003e\u003cimg src=\"https://www.anchorterminal.com/badges/maptiler.svg\" alt=\"MapTiler Cloud on Anchor Terminal\" height=\"20\"\u003e\u003c/a\u003e",
        "markdown": "[![MapTiler Cloud on Anchor Terminal](https://www.anchorterminal.com/badges/maptiler.svg)](https://www.anchorterminal.com/tools/maptiler)",
        "link": "\u003ca href=\"https://www.anchorterminal.com/tools/maptiler\"\u003eMapTiler Cloud on Anchor Terminal\u003c/a\u003e"
      }
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/tools/maptiler",
    "json": "https://www.anchorterminal.com/tools/maptiler.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/tools/maptiler.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "pricing": "https://www.anchorterminal.com/tools/maptiler#pricing",
    "reviews": "https://www.anchorterminal.com/tools/maptiler#reviews",
    "slim": "https://www.anchorterminal.com/tools/maptiler.min.md"
  },
  "markdown": "## Overview\n\n**Grade B · 62.1/100 · rank #574 of 1486 · #10 in Maps, geocoding \u0026 places · not agent-ready · confidence medium**\n\n\n## Assessment\n\nMapTiler Cloud has an OpenAPI 3.1 reference, llms.txt with Markdown pages, an agent skill and ISO 27001 certification, and allows geocoding results to be stored. The key always travels in the query string, there's no routing API, no documented rate limit or 429 handling, and the free plan excludes commercial use.\n\n## Facts\n\n| Field | Value |\n| --- | --- |\n| Vendor | MapTiler AG (https://www.maptiler.com) |\n| Kind | HTTP API |\n| Category | Maps, geocoding \u0026 places (https://www.anchorterminal.com/categories/maps) |\n| Transport | HTTP |\n| Auth | API key · API key from the MapTiler Cloud account after a browser signup, always passed as the `key` query parameter. Keys can be limited to HTTP origins and a User-Agent substring and are managed through the Service API. From a backend, a service token can sign each request with a `signature` parameter instead. The Service API (uploads, tilesets, keys, analytics) needs a service token. |\n| Pricing | Freemium ($0.15 / 1k req) · Free plan with 100,000 API requests, 5,000 sessions and 1,000 search sessions a month, no card, for testing and non-commercial use; service pauses at the limit. Flex is $30 a month with 500,000 requests, then $0.15 per 1,000 requests and $2.50 per 1,000 search sessions. Custom contracts carry a 99.9% SLA. |\n| x402 | No · No x402, MPP or L402 in the API reference, OpenAPI spec, llms.txt or pricing page (checked 2026-11-06). Paid plans are billed by FastSpring. |\n| Licence | unknown |\n| Packages | npm: `@maptiler/client`; npm: `@maptiler/sdk` |\n| Source | https://github.com/maptiler/maptiler-client-js |\n| Docs | https://docs.maptiler.com/cloud/api/ |\n| llms.txt | https://docs.maptiler.com/llms.txt |\n| Last release | 2026-10-02 |\n| npm downloads / week | 114,682 |\n| Surface listed | The public REST APIs at api.maptiler.com, read from docs.maptiler.com (API reference, OpenAPI spec, llms.txt, guides and updates), the pricing, terms, Cloud terms, privacy and security pages, status.maptiler.com and the maptiler GitHub repositories on 6 November 2026. No account was made and no key was used |\n| Public APIs | Maps, Static maps, Tiles, Data (your datasets as GeoJSON), Images, Geocoding (forward, reverse, by ID and batch of up to 50 queries), Geolocation by IP, Coordinates, Elevation, Weather and fonts and sprites. All read-only |\n| Service API | Upload, Tileset, API keys and Analytics APIs for managing the account, with a service token |\n| No routing | No directions or route matrix endpoint in the API reference |\n| Plans | Free (100,000 requests, 5,000 sessions, 1,000 search sessions a month, non-commercial), Flex $30 a month (500,000 requests, 25,000 sessions, 3,000 search sessions), Custom with soft limits and a 99.9% SLA |\n| Rate limits | Monthly quotas per plan. No per-second limit or 429 behaviour found in the reviewed documentation. A spending limit on Flex and Custom stops the API when reached |\n| Storage terms | Map content can't be cached server-side. Geocoding results may be bulk downloaded and used outside the service with attribution |\n| Hosting | Customer data stored and processed mainly in Switzerland and the EEA on OVHcloud and Google Firebase, with an EU-only endpoint at api.maptiler.eu |\n| SDKs | @maptiler/client 3.1.0 and @maptiler/sdk 4.2.0 (both 2 October 2026, BSD 3-Clause), plus native mobile SDKs. No official Python client found |\n| Legal entity | MapTiler AG, Unterägeri, Switzerland, under Swiss law with courts in Zug |\n| Capabilities | geo.geocode, geo.reverse, geo.places, geo.tiles, data.weather |\n| Tags | hosted, api-key, freemium, free-tier, no-card, llms-txt, openapi, official, agent-skills, typescript, status-page, security-txt, iso27001, eu, eu-region, sla, closed-source |\n| JSON | https://www.anchorterminal.com/api/v1/tools/maptiler.json |\n\n## Score breakdown (methodology v0.7, October 2026 research run)\n\nAssessed 2026-11-06 from public evidence against the published checklist (https://www.anchorterminal.com/benchmark/#checklist). Confidence: medium. Performance and Task success pending (no score, not in the total); the total is Σ(score × weight) ÷ 80 over the 7 assessed categories. \"This run\" is each category's share of the 100 points.\n\n| Category | Weight | This run | Score (0–100) | Points |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% | 20 | 43 | 8.6 |\n| Performance | 10% | pending | pending | n/a |\n| Schema \u0026 documentation | 13% | 16.2 | 79 | 12.8 |\n| Agent ergonomics | 13% | 16.2 | 70 | 11.4 |\n| Security \u0026 auth | 14% | 17.5 | 64 | 11.2 |\n| Payments \u0026 pricing | 10% | 12.5 | 40 | 5.0 |\n| Task success | 10% | pending | pending | n/a |\n| Maintenance \u0026 community | 7% | 8.8 | 70 | 6.1 |\n| Transparency \u0026 trust (editorial 64, provenance 96) | 7% | 8.8 | 80 | 7.0 |\n| Negative events | up to −15 | up to −15 | none recorded | 0 |\n| **Total** | | | | **62.1 → B** |\n\n### Why each score\n\n- Reliability 43 (checked 2026-11-06): Hosted lines. status.maptiler.com is a StatusCake public uptime report rather than a component incident page (15). Its data loads from app.statuscake.com, whose robots.txt answered with a redirect, so we didn't fetch it and read no history. That's our limit, not a finding, and the rubric gives 5 (5). Monthly request and session quotas are published per plan, but no per-second limit (5). No 429, Retry-After or backoff guidance found in the API reference, the OpenAPI spec or llms-full.txt (0). The pricing page lists a 99.9% SLA on the Custom plan, while the Cloud terms call availability best effort and point to a custom SLA (8). The public APIs are GA (10). 15+5+5+0+8+10 = 43.\n- Performance: 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.\n- Schema \u0026 documentation 79 (checked 2026-11-06): OpenAPI 3.1.0 document with 32 paths for the public APIs (25). llms.txt, llms-full.txt and a Markdown twin of every page (10). Each API page says what it's for and when to use the SDK instead (session billing), with little on when not to call it (13). Parameters are typed with defaults, such as limit (default 5 forward, 1 reverse) and a types enum, but bbox and proximity are strings (11). Examples on every endpoint, and the spec documents 400, 403, 404 and 414, without an error reference page (10). A dated platform updates page and a geocoding index changelog, but no version in the API path and the spec is version '1.0' (10). 25+10+13+11+10+10 = 79.\n- Agent ergonomics 70 (checked 2026-11-06): API reading. limit, types, bbox, proximity, country, language and fuzzyMatch size geocoding results, and the batch endpoint takes up to 50 queries (20). Country, bbox and type filters, no pagination (geocoding rarely needs it) (16). Errors are documented as 400 and 403 with no recovery guidance (10). Every public API reads and is safe to retry (12). Few required parameters, but official clients are JavaScript and TypeScript only, plus native mobile SDKs (12). 20+16+10+12+12 = 70.\n- Security \u0026 auth 64 (checked 2026-11-06): Revocable keys that can be limited to origins and a User-Agent substring and managed by the API keys API, and service tokens that sign requests so the token itself never travels, which earns 27. Less 10 because the key is 'always passed as a query parameter' (17). The public APIs are read-only, and account changes need a separate service token (16). Geocoding returns OpenStreetMap names and addresses, community-edited text, with no prompt-injection guidance (7). An Analytics API and account usage statistics (8). security.txt, a vulnerability disclosure policy and ISO/IEC 27001:2022 certification per the security page. No bug bounty found (16). 17+16+7+8+16 = 64.\n- Payments \u0026 pricing 40 (checked 2026-11-06): No x402, MPP or L402 (0). Per-1,000 prices for requests ($0.15) and sessions ($2.50) public without login (20). Free plan with no card, though only for testing and non-commercial use (20). Signup is a browser flow (0). 0+20+20+0 = 40.\n- Task success: 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.\n- Maintenance \u0026 community 70 (checked 2026-11-06): @maptiler/client 3.1.0 and @maptiler/sdk 4.2.0 on 2 October 2026, 35 days before this check, with the agent skill updated on 21 October (20). Platform updates entries for August (EU endpoint, key security) and September 2026 (terrain blending) plus the two October releases (20). A Discord community and support answered on a best-effort basis within two business days, per the Cloud terms. We didn't read GitHub issues (10). Official JavaScript client and SDK current, no Python client (12). The SDK repository runs unit and end-to-end tests in CI; we didn't check results (8). 20+20+10+12+8 = 70.\n- Transparency \u0026 trust 80 (checked 2026-11-06): Editorial half only. Closed service with general and Cloud-specific terms under Swiss law, and SDKs under BSD 3-Clause and the skill under MIT (20). The privacy policy covers account and payment data and says legal-claim data is kept up to 10 years, but says nothing about how long API request logs are kept (15). A dated deprecation page for v3 maps and migration guides, with no written notice period (12). Hosting with OVHcloud and Google Firebase, data mainly in Switzerland and the EEA, and an EU-only endpoint. Google Analytics, Firebase and FastSpring named in the privacy policy (17). 20+15+12+17 = 64.\n\nFix list, everything this grade says the listing lacks, the biggest gain first (14 items). What it covers is at https://www.anchorterminal.com/fixes/maptiler.md (JSON https://www.anchorterminal.com/fixes/maptiler.json). The whole list for a coding agent comes from `POST https://www.anchorterminal.com/api/v1/fix-list` with `{\"listing\": \"maptiler\", \"plan\": \"read\"}`, free while the beta runs\n\n### What we couldn't check\n\n- unchecked: uptime and incident history on status.maptiler.com, whose data host app.statuscake.com answered robots.txt with a redirect\n- unchecked: GitHub stars and issue reply times, because the GitHub API was rate-limited for us on 6 November 2026\n- firstReleased is left unset, since no first-hand launch date for MapTiler Cloud was found on the pages read\n- The privacy policy doesn't say how long API request logs or IP addresses are kept\n\n### Sources\n\n- API overview: \u003chttps://docs.maptiler.com/cloud/api.md\u003e (seen 2026-11-06)\n- OpenAPI spec: \u003chttps://docs.maptiler.com/_data/cloud/api/openapi.yml\u003e (seen 2026-11-06)\n- llms.txt: \u003chttps://docs.maptiler.com/llms.txt\u003e (seen 2026-11-06)\n- geocoding API reference: \u003chttps://docs.maptiler.com/cloud/api/geocoding.md\u003e (seen 2026-11-06)\n- authentication guide: \u003chttps://docs.maptiler.com/guides/developer/credentials.md\u003e (seen 2026-11-06)\n- platform updates: \u003chttps://docs.maptiler.com/updates.md\u003e (seen 2026-11-06)\n- pricing: \u003chttps://www.maptiler.com/cloud/pricing/\u003e (seen 2026-11-06)\n- general terms: \u003chttps://www.maptiler.com/terms/\u003e (seen 2026-11-06)\n- Cloud terms: \u003chttps://www.maptiler.com/terms/cloud/\u003e (seen 2026-11-06)\n- privacy policy: \u003chttps://www.maptiler.com/privacy-policy/\u003e (seen 2026-11-06)\n- security page: \u003chttps://www.maptiler.com/security/\u003e (seen 2026-11-06)\n- security.txt: \u003chttps://www.maptiler.com/.well-known/security.txt\u003e (seen 2026-11-06)\n- agent skill: \u003chttps://github.com/maptiler/maptiler-skills\u003e (seen 2026-11-06)\n- JavaScript client tags: \u003chttps://github.com/maptiler/maptiler-client-js\u003e (seen 2026-11-06)\n\n## Score history\n\nEvery move of a score since the listing was graded, newest first, with its cause. A score can't move without an entry here. JSON: https://www.anchorterminal.com/api/v1/tools/maptiler/history.json\n\n- 2026-11-06: graded 62.1 B (methodology 0.7)\n\n## Who's behind it (provenance 96/100, checked 2026-11-06)\n\n| Check | Finding | Points |\n| --- | --- | --- |\n| Legal entity named | MapTiler AG | 20/20 |\n| Domain age | maptiler.com, registered 2008-08-08 (18 years) | 15/15 |\n| Endpoint on the vendor's domain | maptiler.com | 15/15 |\n| Terms of service | read, states 5 of the 7 things a reader expects | 8.3/10 |\n| Privacy policy | read, states 4 of the 8 things a reader expects | 7/10 |\n| Status page | status.maptiler.com | 10/10 |\n| Changelog | published | 10/10 |\n| security.txt | valid | 10/10 |\n| People named | 1 named with their role, none with a public profile | 7/10 |\n| Support route | help pages, a community | 5/5 |\n\nThe general terms name MapTiler AG, Zugerstrasse 22, 6314 Unterägeri, Switzerland, under Swiss law with courts in Zug.\n\nsecurity.txt at www.maptiler.com/.well-known/security.txt names sysadmin@maptiler.com, a PGP key and a signature, and has no Expires field.\n\nstatus.maptiler.com is a StatusCake public report whose data loads from app.statuscake.com. That host's robots.txt answered with a redirect, so it wasn't fetched and no uptime or incident history was read.\n\nRDAP gives maptiler.com a registration date of 8 August 2008.\n\nNo clause on automated access to the website was found in the general terms. robots.txt on www.maptiler.com and docs.maptiler.com allows all agents apart from a few paths.\n\n### Terms and privacy, as read\n\nA reading by a fixed set of rules, each answered with the vendor's own sentence. Not legal advice.\n\n**Terms of service** (https://www.maptiler.com/terms/), read 2026-11-06, gives no date, states 5 of the 7 things a reader expects.\n\n- To know. Requires arbitration or waives class actions. \"The Parties commit to using arbitration only as a last resort, and to make the best effort to resolve all disputes directly between the two parties, including escalation to manager level if required.\"\n- Not found in the text. Gives the date it was last updated.\n- Names the governing law or courts. Disputes go to the courts of Zug.\n- States a limit on its liability. Capped at the fees paid in the 3 months before the claim or USD 1000.\n- Not found in the text. Says how changes to the terms are announced.\n\n**Privacy policy** (https://www.maptiler.com/privacy-policy/), read 2026-11-06, gives no date, states 4 of the 8 things a reader expects.\n\n- Not found in the text. Gives the date it was last updated.\n- Says how long data is kept. Names a period of 10 years.\n- Not found in the text. Says who else receives the data.\n- Not found in the text. Gives a privacy contact.\n- Not found in the text. Says where data is transferred or stored.\n\n## Humans behind the project (researched 2026-11-06 from public pages, not part of the grade)\n\n### Key people\n\n- Petr Pridal, CEO\n- Note: MapTiler's company page, read on 6 November 2026, names Petr Pridal as CEO and says he began assembling the MapTiler team after a decade of freelance, research and open-source work, and OVHcloud's startup profile says MapTiler was founded by a team of geospatial engineers and entrepreneurs led by Petr Pridal, so he is marked as founder. No other people are named there, and no personal accounts are linked. Headquarters are in Zug, Switzerland, with part of the development team in Brno, Czechia. Startupticker's report on MapTiler AG says the company is bootstrapped with multi-million revenue, and CzechCrunch (10 January 2020) says the project runs entirely without investors, is long profitable and that both companies behind it, OctoGEO and Klokan Technologies, are owned by Petr Přidal. No investor is named on the company, terms or security pages or in a web search on 6 November 2026, so investors, total raised and valuation are left out; competition prizes and grants such as ESA BIC aren't investments.\n- MapTiler: LinkedIn https://www.linkedin.com/company/maptiler X https://x.com/MapTiler GitHub https://github.com/maptiler\n\n### Getting support\n\n- Discord: https://discord.com/invite/4NGjwUFGj4\n- Help: https://docs.maptiler.com/support/requests/\n- Help: https://www.maptiler.com/#contact\n- General contact: sysadmin@maptiler.com\n- Sources: https://www.maptiler.com/company/, https://www.maptiler.com/terms/, https://www.maptiler.com/.well-known/security.txt, https://www.maptiler.com/terms/cloud/, https://blog.ovhcloud.com/startup-success-highlight-maptiler/, https://www.startupticker.ch/en/news/maptiler-s-international-growth-results-in-a-swiss-launch, https://cc.cz/cesi-vyviji-konkurenci-google-map-kterou-kazdy-mesic-vyuzije-200-milionu-lidi-jejich-mapy-nasadila-i-nasa/\n\n## Live (updated 2026-11-07 15:59 UTC)\n\n- Vendor status page: not read, no machine-readable status found\n- github `maptiler/maptiler-client-js` v3.1.0, released 2026-10-02\n- npm `@maptiler/client` 3.1.0\n- npm `@maptiler/sdk` 4.2.1\n- security.txt: valid\n- Watching changelog \u003chttps://docs.maptiler.com/updates/\u003e\n- Watching privacy \u003chttps://www.maptiler.com/privacy-policy/\u003e\n- Watching terms \u003chttps://www.maptiler.com/terms/\u003e\n- Always current: https://www.anchorterminal.com/api/v1/live/maptiler.json\n\n## Probe metrics\n\nNot measured yet. Our benchmark probes haven't run, so there's no availability, latency or error rate from a run and Performance is pending. Live uptime, where we poll the endpoint, is under Live and doesn't change the score.\n\n## Prices\n\n| Item | Price | Unit | Note |\n| --- | --- | --- | --- |\n| API requests over the Flex allowance | $0.15 | per 1,000 requests | Flex includes 500,000 a month |\n| Search sessions over the Flex allowance | $2.50 | per 1,000 requests | Priced per 1,000 search sessions through MapTiler SDK JS |\n| Flex plan | $30 | per month (plan) | Extra usage billed monthly |\n\nAcross all listings: https://www.anchorterminal.com/prices/index.md\n\n## Strengths\n\n- OpenAPI 3.1.0 spec, llms.txt, llms-full.txt and a Markdown version of every docs page\n- Geocoding results may be bulk downloaded and used outside the service with attribution\n- Keys can be restricted by origin and User-Agent, and service tokens can sign requests instead\n- ISO/IEC 27001:2022 certification, security.txt and a vulnerability disclosure policy\n- EU-only endpoint at api.maptiler.eu and hosting mainly in Switzerland and the EEA\n\n## Weaknesses\n\n- The API key is always sent as a query parameter\n- No routing, directions or matrix API\n- No per-second rate limit, 429 behaviour or retry guidance found in the documentation\n- The free plan is for testing and non-commercial use only, and pauses at its monthly limit\n- Official clients are JavaScript and TypeScript only\n\n\n\n## Before you call it (notes for agents)\n\n1. Restrict the key to an origin or User-Agent, or sign requests with a service token from a backend, since the key appears in every URL\n2. Use the batch geocoding path (up to 50 semicolon-separated queries) rather than one call per address\n3. Use api.maptiler.eu when the user's requests must stay in the EU\n4. Read docs pages as Markdown by appending .md, starting from https://docs.maptiler.com/llms.txt\n5. Don't cache map tiles server-side; the Cloud terms forbid it, though geocoding results may be stored with attribution\n\n## Connect\n\nInstall:\n\n```bash\nnpm install @maptiler/client\n```\n\nFirst request:\n\n```bash\ncurl \"https://api.maptiler.com/geocoding/Zurich.json?language=en\u0026limit=3\u0026key=$MAPTILER_API_KEY\"\n```\n\nThrough letme: https://letme.dev/maptiler. letme answers with the pick and how to call it direct. How it works: https://www.anchorterminal.com/letme/index.md\n\n## Similar tools\n\nRanked by shared capabilities, then score. Same-category tools with no shared capability key are listed last.\n\n| Tool | Grade | Score | Rank | Shared capabilities | x402 | Markdown |\n| --- | --- | --- | --- | --- | --- | --- |\n| Mapbox APIs + MCP | BB | 77.2 | 35 | geo.geocode, geo.reverse, geo.places, geo.tiles | no | https://www.anchorterminal.com/tools/mapbox.md |\n| Amazon Location Service | BB | 76.5 | 43 | geo.geocode, geo.reverse, geo.places, geo.tiles | no | https://www.anchorterminal.com/tools/amazon-location.md |\n| Google Maps Platform + Grounding Lite MCP | BB | 75.4 | 63 | geo.geocode, geo.reverse, geo.places, geo.tiles | no | https://www.anchorterminal.com/tools/google-maps-platform.md |\n| Azure Maps | B | 67.1 | 338 | geo.geocode, geo.reverse, geo.places, geo.tiles | no | https://www.anchorterminal.com/tools/azure-maps.md |\n| ArcGIS Location Platform | B | 66.1 | 380 | geo.geocode, geo.reverse, geo.places, geo.tiles | no | https://www.anchorterminal.com/tools/arcgis.md |\n| Stadia Maps | B | 65.2 | 431 | geo.geocode, geo.reverse, geo.places, geo.tiles | no | https://www.anchorterminal.com/tools/stadia-maps.md |\n\n## Panel reviews (0)\n\nReviewed by the Anchor panel (https://www.anchorterminal.com/reviewers/index.md): .\n\nDesk reviews, written from public documentation, pricing, terms, source and status history on 1 October 2026. No calls made. For a desk review, the outcome says whether the reviewer's questions could be answered from public material: success, partial or failure. How reviews work: https://www.anchorterminal.com/reviews/how-it-works.md\n\n## Notable\n\n- OpenAPI 3.1.0 reference with 32 paths for the public APIs, and every docs page served as Markdown by appending .md (source: \u003chttps://docs.maptiler.com/cloud/api.md\u003e)\n- Official agent skill for coding assistants, MIT, first commit 26 February 2026 and last 21 October 2026 (source: \u003chttps://github.com/maptiler/maptiler-skills\u003e)\n- EU-only API endpoint api.maptiler.eu added in August 2026, and default API keys converted to restrictable keys the same month (source: \u003chttps://docs.maptiler.com/updates.md\u003e)\n- The Cloud terms allow bulk download only for the Geocoding API, with attribution, and allow search results to be used outside the service (source: \u003chttps://www.maptiler.com/terms/cloud/\u003e)\n- Geocoding index 2.15.25 scheduled for production on 11 November 2026, adding 522,485 map objects from OpenStreetMap (source: \u003chttps://docs.maptiler.com/updates/geocoding/geocoding-latest/\u003e)\n- ISO/IEC 27001:2022 certified ISMS covering development and cloud operations, per the security page (source: \u003chttps://www.maptiler.com/security/\u003e)\n\n- #10 of 18 in 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## Compare\n\n- [Amazon Location Service vs MapTiler Cloud](https://www.anchorterminal.com/compare/amazon-location-vs-maptiler.md): BB 76.5 vs B 62.1\n- [ArcGIS Location Platform vs MapTiler Cloud](https://www.anchorterminal.com/compare/arcgis-vs-maptiler.md): B 66.1 vs B 62.1\n- [Azure Maps vs MapTiler Cloud](https://www.anchorterminal.com/compare/azure-maps-vs-maptiler.md): B 67.1 vs B 62.1\n- [Geoapify Location Platform + MCP vs MapTiler Cloud](https://www.anchorterminal.com/compare/geoapify-vs-maptiler.md): C 58.1 vs B 62.1\n- [Geocodio vs MapTiler Cloud](https://www.anchorterminal.com/compare/geocodio-vs-maptiler.md): BB 72.2 vs B 62.1\n- [Google Maps Platform + Grounding Lite MCP vs MapTiler Cloud](https://www.anchorterminal.com/compare/google-maps-platform-vs-maptiler.md): BB 75.4 vs B 62.1\n- [HERE Location Services vs MapTiler Cloud](https://www.anchorterminal.com/compare/here-location-services-vs-maptiler.md): C 58.4 vs B 62.1\n- [LocationIQ vs MapTiler Cloud](https://www.anchorterminal.com/compare/locationiq-vs-maptiler.md): C 60.3 vs B 62.1\n- [Mapbox APIs + MCP vs MapTiler Cloud](https://www.anchorterminal.com/compare/mapbox-vs-maptiler.md): BB 77.2 vs B 62.1\n- [MapQuest vs MapTiler Cloud](https://www.anchorterminal.com/compare/mapquest-vs-maptiler.md): F 35.4 vs B 62.1\n- [MapTiler Cloud vs NextBillion.ai](https://www.anchorterminal.com/compare/maptiler-vs-nextbillion.md): B 62.1 vs C 55.4\n- [MapTiler Cloud vs Nominatim](https://www.anchorterminal.com/compare/maptiler-vs-nominatim.md): B 62.1 vs B 63.5\n- [MapTiler Cloud vs OpenCage Geocoding API](https://www.anchorterminal.com/compare/maptiler-vs-opencage.md): B 62.1 vs B 67.5\n- [MapTiler Cloud vs Radar](https://www.anchorterminal.com/compare/maptiler-vs-radar.md): B 62.1 vs D 53.3\n- [MapTiler Cloud vs Stadia Maps](https://www.anchorterminal.com/compare/maptiler-vs-stadia-maps.md): B 62.1 vs B 65.2\n- [MapTiler Cloud vs TomTom Maps APIs + MCP](https://www.anchorterminal.com/compare/maptiler-vs-tomtom.md): B 62.1 vs E 45.9\n- [MapTiler Cloud vs Woosmap](https://www.anchorterminal.com/compare/maptiler-vs-woosmap.md): B 62.1 vs C 59.4\n\n## Verify this listing\n\nFor the vendor. The badge or a plain link to this page verifies the listing, from a page on maptiler.com or one of its subdomains, or the README at the root of github.com/maptiler/maptiler-client-js. It shows the listing is the vendor's and that the vendor knows it's here, and it never changes a grade, rank or review. The vendor sends the page's address to `POST https://www.anchorterminal.com/api/v1/verify` as `{\"slug\": \"maptiler\", \"url\": \"…\"}`, or calls the `verify_listing` tool at https://www.anchorterminal.com/mcp. We fetch the page once, then again every week; two failed checks in a row and the verification lapses, and a later pass restores it. What we check: https://www.anchorterminal.com/builders/index.md#verify\n\nHTML badge:\n\n```html\n\u003ca href=\"https://www.anchorterminal.com/tools/maptiler\"\u003e\u003cimg src=\"https://www.anchorterminal.com/badges/maptiler.svg\" alt=\"MapTiler Cloud on Anchor Terminal\" height=\"20\"\u003e\u003c/a\u003e\n```\n\nMarkdown badge, for a README:\n\n```markdown\n[![MapTiler Cloud on Anchor Terminal](https://www.anchorterminal.com/badges/maptiler.svg)](https://www.anchorterminal.com/tools/maptiler)\n```\n\nPlain link:\n\n```html\n\u003ca href=\"https://www.anchorterminal.com/tools/maptiler\"\u003eMapTiler Cloud on Anchor Terminal\u003c/a\u003e\n```\n\n## Share this listing\n\nFor the vendor. Sharing assets for social media, two PNGs of 1200 × 630 that say MapTiler Cloud is listed on Anchor Terminal, with the vendor's logo and this page's address and no grade or score.\n\n- Dark: https://www.anchorterminal.com/assets/share/maptiler-dark.png\n- Light: https://www.anchorterminal.com/assets/share/maptiler-light.png\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": "Terminal",
        "url": "https://www.anchorterminal.com/tools/"
      },
      {
        "name": "Maps, geocoding \u0026 places",
        "url": "https://www.anchorterminal.com/categories/maps"
      },
      {
        "name": "MapTiler Cloud",
        "url": ""
      }
    ],
    "description": "MapTiler Cloud is a hosted maps platform from MapTiler AG in Switzerland. Its read-only REST APIs serve map styles, vector and raster tiles, static maps, forward and reverse geocoding, IP geolocation, elevation, coordinate transforms and weather data.",
    "facts": [
      "rank #574 of 1486",
      "API key auth",
      "0 desk reviews"
    ],
    "h1": "MapTiler Cloud",
    "image": "https://www.anchorterminal.com/assets/og/tools-maptiler.png",
    "path": "/tools/maptiler",
    "published": "2026-10-01",
    "section": "tools",
    "title": "MapTiler Cloud review (2026): pricing, alternatives and grade B",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/tools/maptiler"
  },
  "tokens": {
    "markdown": 6700,
    "slim": 1630
  },
  "version": 1
}
