{
  "data": {
    "category": {
      "area": "domain-data",
      "capabilities": [
        "weather.current",
        "weather.forecast",
        "weather.historical",
        "weather.alerts",
        "weather.marine"
      ],
      "description": "APIs for current weather, forecasts, historical data and alerts, by coordinates. Compared on forecast range, historical depth, how often data updates, the terms of use and price per thousand calls.",
      "indexed": [
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/untype-aboard.json",
          "kind": "mcp",
          "name": "aboard",
          "slug": "untype-aboard",
          "url": "https://www.anchorterminal.com/tools/untype-aboard"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/apiverve-mcp-server.json",
          "kind": "mcp",
          "name": "APIVerve",
          "slug": "apiverve-mcp-server",
          "url": "https://www.anchorterminal.com/tools/apiverve-mcp-server"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/ausdata-au-weather-mcp.json",
          "kind": "mcp",
          "name": "au-weather-mcp",
          "slug": "ausdata-au-weather-mcp",
          "url": "https://www.anchorterminal.com/tools/ausdata-au-weather-mcp"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/clarigrid.json",
          "kind": "mcp",
          "name": "Clarigrid",
          "slug": "clarigrid",
          "url": "https://www.anchorterminal.com/tools/clarigrid"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/crosbynews-weather.json",
          "kind": "mcp",
          "name": "Crosby, TX Weather",
          "slug": "crosbynews-weather",
          "url": "https://www.anchorterminal.com/tools/crosbynews-weather"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/goldbean-api-goldbean-mcp.json",
          "kind": "mcp",
          "name": "GoldBean MCP Server",
          "slug": "goldbean-api-goldbean-mcp",
          "url": "https://www.anchorterminal.com/tools/goldbean-api-goldbean-mcp"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/theaslangroupllc-lp-copilot.json",
          "kind": "mcp",
          "name": "lp-copilot",
          "slug": "theaslangroupllc-lp-copilot",
          "url": "https://www.anchorterminal.com/tools/theaslangroupllc-lp-copilot"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/macroaxis-api.json",
          "kind": "mcp",
          "name": "Macroaxis Financial Data",
          "slug": "macroaxis-api",
          "url": "https://www.anchorterminal.com/tools/macroaxis-api"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/micro-mu.json",
          "kind": "mcp",
          "name": "mu",
          "slug": "micro-mu",
          "url": "https://www.anchorterminal.com/tools/micro-mu"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/nausika-mcp.json",
          "kind": "mcp",
          "name": "Nausika",
          "slug": "nausika-mcp",
          "url": "https://www.anchorterminal.com/tools/nausika-mcp"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/parseapi-mcp.json",
          "kind": "mcp",
          "name": "ParseAPI",
          "slug": "parseapi-mcp",
          "url": "https://www.anchorterminal.com/tools/parseapi-mcp"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/plantrip.json",
          "kind": "mcp",
          "name": "plantrip",
          "slug": "plantrip",
          "url": "https://www.anchorterminal.com/tools/plantrip"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/robosystems.json",
          "kind": "mcp",
          "name": "RoboSystems",
          "slug": "robosystems",
          "url": "https://www.anchorterminal.com/tools/robosystems"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/snowsure-snow.json",
          "kind": "mcp",
          "name": "SnowSure — Snow \u0026 Ski",
          "slug": "snowsure-snow",
          "url": "https://www.anchorterminal.com/tools/snowsure-snow"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/yaktool-store.json",
          "kind": "mcp",
          "name": "store",
          "slug": "yaktool-store",
          "url": "https://www.anchorterminal.com/tools/yaktool-store"
        }
      ],
      "indexedCount": 15,
      "json": "https://www.anchorterminal.com/categories/weather.json",
      "name": "Weather \u0026 climate data",
      "slug": "weather",
      "test": "The same locations queried for current conditions, a 10-day forecast and a year of history. We check what each returns, how often it updates, the licence terms and the cost per thousand calls.",
      "title": "Weather and climate data APIs for AI agents",
      "toolCount": 9,
      "tools": [
        "google-weather-api",
        "pirate-weather",
        "weatherapi-com",
        "open-meteo",
        "visual-crossing",
        "openweather-one-call",
        "nws-api",
        "accuweather-api",
        "met-office-datahub"
      ],
      "url": "https://www.anchorterminal.com/categories/weather"
    },
    "tools": [
      {
        "slug": "google-weather-api",
        "name": "Google Weather API (Maps Platform)",
        "vendor": "Google",
        "vendorUrl": "https://developers.google.com/maps/documentation/weather",
        "kind": "http-api",
        "category": "weather",
        "summary": "Google Maps Platform's API for weather data.",
        "url": "https://www.anchorterminal.com/tools/google-weather-api",
        "markdownUrl": "https://www.anchorterminal.com/tools/google-weather-api.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/google-weather-api.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/google-weather-api.json",
        "transports": [
          "http"
        ],
        "remoteUrl": "https://weather.googleapis.com/v1",
        "packages": [],
        "auth": "api-key",
        "authNotes": "A Maps Platform API key from a Cloud project with billing enabled, passed as the key query parameter in the documented examples. A Maps Demo Key lets you prototype with no billing account but isn't for production. OAuth 2.0 is the Maps Platform alternative.",
        "pricing": "usage",
        "pricingNotes": "One SKU, Weather Usage, in the Essentials tier. 10,000 events a month free, then $0.15 per 1,000 to 100,000, $0.12 to 500,000, $0.09 to 1 million, $0.06 to 5 million and $0.038 above that (https://developers.google.com/maps/billing-and-pricing/pricing). A billing account has to be attached to the project before the key works outside the demo key.",
        "priceSummary": "$0.15 / 1k req",
        "where": "hosted",
        "x402": {
          "level": "no",
          "endpoints": []
        },
        "toolCount": null,
        "popularity": {
          "githubStars": null,
          "npmWeekly": null,
          "pypiWeekly": null,
          "asOf": "2026-09-30"
        },
        "docsUrl": "https://developers.google.com/maps/documentation/weather/overview",
        "openapi": "https://weather.googleapis.com/$discovery/rest?version=v1",
        "capabilities": [
          "weather.current",
          "weather.forecast",
          "weather.historical",
          "weather.alerts",
          "data.weather"
        ],
        "tags": [
          "hosted",
          "closed-source",
          "card-required",
          "usage-priced",
          "enterprise",
          "oauth"
        ],
        "lastRelease": "2025-11-18",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 67,
          "grade": "B",
          "agentReady": false,
          "rank": 151,
          "ranked": true,
          "rankOf": 452,
          "categoryRank": 1,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 79,
            "maintenance": 20,
            "payments": 25,
            "reliability": 85,
            "schema": 82,
            "security": 71,
            "transparency": 75
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "high",
            "date": "2026-10-01"
          },
          "negative": 0,
          "verdict": "Covered by the Maps Platform SLA, 99.9 per cent with service credits. History is 24 hours only, and bulk data isn't available.",
          "strengths": [
            "Covered by the Maps Platform SLA, 99.9 per cent with service credits",
            "No Weather API incidents on the status dashboard in the last 90 days",
            "Discovery document with enums and descriptions on every parameter",
            "ISO 27001, SOC 2 and 12 months' notice for breaking changes in the terms",
            "Weather lookup also available through Google's registered Grounding Lite MCP server"
          ],
          "weaknesses": [
            "History is 24 hours only, and bulk data isn't available",
            "Storing data outside the service and training or testing models on it are barred",
            "A Cloud project with billing is needed before production use",
            "No release note since 18 November 2025, and no llms.txt",
            "Minute forecast is Experimental and outside the deprecation promise"
          ],
          "agentNotes": [
            "Ask for only the days or hours you need, one location a call. Every call is one billable event",
            "Page with pageSize and pageToken rather than asking for 240 hours at once",
            "Check the coverage page before promising alerts. Coverage is by country",
            "Refetch rather than cache. The Maps terms give no caching window for weather content",
            "Restrict the key to the Weather API and your server IPs in the Cloud console"
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 2,
          "avgRating": 3,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "high",
              "grade": "B",
              "methodology": "0.3",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 67
            }
          ],
          "editorialScores": {
            "ergonomics": 79,
            "maintenance": 20,
            "payments": 25,
            "reliability": 85,
            "schema": 82,
            "security": 71,
            "transparency": 65
          },
          "provenanceScore": 85,
          "dataQualityScore": 67
        },
        "connect": {
          "http": "curl \"https://weather.googleapis.com/v1/currentConditions:lookup?key=$GOOGLE_MAPS_API_KEY\u0026location.latitude=51.51\u0026location.longitude=-0.13\""
        },
        "letme": {
          "capability": "https://letme.dev/weather.current",
          "tool": "https://letme.dev/google-weather-api"
        },
        "sameCompany": [
          "gemini-api",
          "gemini-embedding",
          "vertex-ai-tuning",
          "google-model-armor",
          "google-imagen",
          "google-veo",
          "google-lyria",
          "google-speech-to-text",
          "google-adk",
          "google-secret-manager",
          "chrome-devtools-mcp",
          "google-maps-platform",
          "google-cloud-translation",
          "google-calendar-api",
          "google-drive-api",
          "gemini-cli"
        ],
        "area": "domain-data",
        "unitPrices": [
          {
            "item": "Weather Usage, first 100,000",
            "unit": "1k-requests",
            "usd": 0.15,
            "note": "10,000 free a month"
          },
          {
            "item": "Weather Usage, 100,001 to 500,000",
            "unit": "1k-requests",
            "usd": 0.12
          },
          {
            "item": "Weather Usage, 1 million to 5 million",
            "unit": "1k-requests",
            "usd": 0.06,
            "note": "$0.038 above 5 million"
          }
        ],
        "provenance": {
          "legalEntity": "Google LLC or a regional Google entity, by billing country",
          "domain": "google.com",
          "domainRegistered": "1997-09-15",
          "domainNote": "The API sits on weather.googleapis.com, Google's API domain, and the docs on developers.google.com.",
          "endpointOnVendorDomain": false,
          "terms": "https://cloud.google.com/maps-platform/terms",
          "privacy": "https://policies.google.com/privacy",
          "statusPage": "https://status.cloud.google.com/maps-platform/",
          "changelog": "https://developers.google.com/maps/documentation/weather/release-notes",
          "securityTxt": "valid",
          "checked": "2026-09-30",
          "notes": [
            "The Maps Platform terms name the contracting entity through Google's entity table, with separate EEA service terms for EEA billing addresses.",
            "google.com/.well-known/security.txt lists security@google.com and expires 2030-04-01.",
            "The weather policies page lists attribution rules for weather content but defers caching to the Maps Platform terms, which don't give a weather-specific window."
          ],
          "score": 85
        },
        "dataQuality": {
          "coverage": "Near-global. No data for CN, CU, IR, KP and SY. Public alerts in dozens of countries listed on the coverage page",
          "coverageRating": 4,
          "freshness": "Current conditions every 15 minutes, hourly and daily forecasts every 30 minutes, history twice a day",
          "freshnessClass": "minutes",
          "history": "Hourly, last 24 hours",
          "historyYears": 0.003,
          "methodology": "https://developers.google.com/maps/documentation/weather/faq",
          "sourcesDisclosed": true,
          "licence": "Google Maps Platform terms. No storage outside the service, no model training, attribution required",
          "licenceClass": "clear",
          "standing": "",
          "standingClass": "none",
          "reuse": "The Maps Platform terms bar pre-fetching, indexing, storing or bulk-downloading content outside the services and using it to train, test, validate or fine-tune AI models. Display it with Google attribution and refetch it.",
          "score": 67,
          "checks": null
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/google-weather-api.json",
        "live": {
          "slug": "google-weather-api",
          "probe": {
            "target": "https://weather.googleapis.com/v1",
            "method": "get",
            "lastAt": "2026-10-05T00:15:24.200439944Z",
            "lastOk": true,
            "lastStatus": 404,
            "lastMs": 600,
            "authRequired": false,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 601,
            "p95ms24h": 645,
            "samples24h": 272,
            "samples30d": 903,
            "days": [
              {
                "date": "2026-10-01",
                "probes": 109,
                "ok": 109
              },
              {
                "date": "2026-10-02",
                "probes": 248,
                "ok": 248
              },
              {
                "date": "2026-10-03",
                "probes": 271,
                "ok": 271
              },
              {
                "date": "2026-10-04",
                "probes": 272,
                "ok": 272
              },
              {
                "date": "2026-10-05",
                "probes": 3,
                "ok": 3
              }
            ]
          },
          "vendorStatus": {
            "page": "https://status.cloud.google.com/maps-platform",
            "indicator": "unknown",
            "summary": "no machine-readable status found",
            "checkedAt": "2026-10-04T21:40:05.96682468Z"
          },
          "securityTxt": {
            "url": "https://google.com/.well-known/security.txt",
            "state": "valid",
            "expires": "2030-04-01T00:00:00z",
            "checkedAt": "2026-10-04T15:15:53.387118101Z"
          },
          "domain": {
            "domain": "google.com",
            "registered": "1997-09-15",
            "source": "https://rdap.verisign.com/com/v1/domain/google.com",
            "checkedAt": "2026-10-04T13:05:50.737985829Z"
          },
          "pages": [
            {
              "url": "https://developers.google.com/maps/documentation/weather/release-notes",
              "kind": "changelog",
              "status": 200,
              "checkedAt": "2026-10-04T15:42:55.639250528Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "c2b2bf1b1e23"
            }
          ],
          "updatedAt": "2026-10-05T00:15:24.200439944Z"
        }
      },
      {
        "slug": "pirate-weather",
        "name": "Pirate Weather",
        "vendor": "Pirate Weather",
        "vendorUrl": "https://pirateweather.net",
        "kind": "http-api",
        "category": "weather",
        "summary": "Open-source weather API with Dark Sky-compatible responses, forecasts, alerts and historical data from public weather models.",
        "url": "https://www.anchorterminal.com/tools/pirate-weather",
        "markdownUrl": "https://www.anchorterminal.com/tools/pirate-weather.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/pirate-weather.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/pirate-weather.json",
        "repo": "https://github.com/Pirate-Weather/pirateweather",
        "license": "Apache-2.0 (docs and spec), AGPL-3.0 (API code)",
        "transports": [
          "http",
          "streamable-http"
        ],
        "remoteUrl": "https://api.pirateweather.net/forecast",
        "packages": [],
        "auth": "api-key",
        "authNotes": "The key is a path segment, /forecast/{key}/{lat},{lon}, or an apikey request header with any placeholder in the path. The MCP server takes the same key as the apikey query parameter on its URL. Keys are issued through an Apiable portal at pirate-weather.apiable.io and can take up to 20 minutes to go live.",
        "pricing": "freemium",
        "pricingNotes": "Free at 10,000 calls a month. A $2 a month plan raises that to 20,000, and GitHub Sponsors takes one-off donations. Higher plans are sold through pirate-weather.apiable.io, which renders only with JavaScript, so we couldn't read them (https://pirateweather.net/en/latest/).",
        "priceSummary": "$2 / mo",
        "where": "hosted",
        "x402": {
          "level": "no",
          "endpoints": []
        },
        "toolCount": null,
        "popularity": {
          "githubStars": 907,
          "npmWeekly": null,
          "pypiWeekly": null,
          "asOf": "2026-09-30"
        },
        "docsUrl": "https://pirateweather.net/en/latest/API/",
        "openapi": "https://github.com/Pirate-Weather/pirateweather/blob/main/PW_OpenAPI.yaml",
        "capabilities": [
          "weather.current",
          "weather.forecast",
          "weather.historical",
          "weather.alerts",
          "data.weather"
        ],
        "tags": [
          "hosted",
          "open-source",
          "freemium",
          "free-tier",
          "no-card",
          "mcp",
          "openapi",
          "status-page"
        ],
        "lastRelease": "2026-09-23",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 66.2,
          "grade": "B",
          "agentReady": false,
          "rank": 162,
          "ranked": true,
          "rankOf": 452,
          "categoryRank": 2,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 77,
            "maintenance": 80,
            "payments": 30,
            "reliability": 75,
            "schema": 85,
            "security": 45,
            "transparency": 71
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-10-01"
          },
          "negative": 0,
          "verdict": "Named model sources and a documented priority order for every field. No SLA, and the terms call it best effort.",
          "strengths": [
            "Named model sources and a documented priority order for every field",
            "OpenAPI 3.1 spec at version 2.10.2 and a dated changelog with a pull request per change",
            "Four releases between 9 July and 23 September 2026",
            "ERA5 history to January 1940 and URMA for the last 10 days in North America",
            "Response-sizing parameters that cut a forecast to the blocks and rows asked for"
          ],
          "weaknesses": [
            "No SLA, and the terms call it best effort",
            "Key in the URL path by default, and only in the query string for the MCP server",
            "Plans above $2 a month sit behind a JavaScript-only portal, and signup needs a person",
            "No security.txt, SECURITY.md or MCP registry entry",
            "The privacy notice and terms are generator templates from 2024 and say nothing on data reuse"
          ],
          "agentNotes": [
            "Send the key in an apikey header and put a placeholder in the path so it stays out of logs",
            "Pass blocks= and hourly_indices= or daily_indices= to get only the rows you need. The default payload is large",
            "Ask for version=2 to get fields Dark Sky never had, such as smoke, fire index and the source list",
            "Point historical requests at timemachine.pirateweather.net with a UNIX timestamp after the coordinate",
            "Watch Ratelimit-Remaining. The cap is monthly, so a runaway loop can spend it in a day"
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 2,
          "avgRating": 4,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "B",
              "methodology": "0.3",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 66.2
            }
          ],
          "editorialScores": {
            "ergonomics": 77,
            "maintenance": 80,
            "payments": 30,
            "reliability": 75,
            "schema": 85,
            "security": 45,
            "transparency": 55
          },
          "provenanceScore": 86,
          "dataQualityScore": 72
        },
        "connect": {
          "http": "curl -H \"apikey: $PIRATE_WEATHER_API_KEY\" \"https://api.pirateweather.net/forecast/key/51.51,-0.13?units=si\u0026exclude=minutely\u0026version=2\"",
          "claudeCode": "claude mcp add --transport http pirate-weather \"https://mcp.pirateweather.net/mcp?apikey=$PIRATE_WEATHER_API_KEY\"",
          "config": {
            "mcpServers": {
              "pirate-weather": {
                "type": "http",
                "url": "https://mcp.pirateweather.net/mcp?apikey=${PIRATE_WEATHER_API_KEY}"
              }
            }
          }
        },
        "letme": {
          "capability": "https://letme.dev/weather.current",
          "tool": "https://letme.dev/pirate-weather"
        },
        "area": "domain-data",
        "unitPrices": [
          {
            "item": "Supporter plan",
            "unit": "month",
            "usd": 2,
            "note": "20,000 calls a month"
          },
          {
            "item": "Call on the Supporter plan, at the cap",
            "unit": "1k-requests",
            "usd": 0.1,
            "note": "$2 over 20,000 calls"
          }
        ],
        "provenance": {
          "legalEntity": "PirateWeatherAPI (Ontario, Canada)",
          "domain": "pirateweather.net",
          "domainRegistered": "2021-03-01",
          "endpointOnVendorDomain": true,
          "terms": "https://pirateweather.net/en/latest/Apiable/ApiableTerms/",
          "privacy": "https://pirateweather.net/en/latest/Apiable/ApiablePrivacy/",
          "statusPage": "https://pirateweather.xitoring.io/",
          "changelog": "https://pirateweather.net/en/latest/changelog/",
          "securityTxt": "none",
          "checked": "2026-09-30",
          "notes": [
            "The terms (last updated 2024-09-23) are generator-made, name the company only as PirateWeatherAPI in Ontario, Canada, and cap liability at $100 or what you paid.",
            "The terms of service add one rule of their own, don't circumvent the call limit with multiple accounts, and say the data shouldn't be used for life or property critical applications.",
            "Keys, plans and billing run through a third-party Apiable portal at pirate-weather.apiable.io.",
            "pirateweather.net/.well-known/security.txt returns 404."
          ],
          "score": 86
        },
        "dataQuality": {
          "coverage": "Global, strongest in North America where NBM and HRRR apply at about 3 km, with Canadian models in Canada and DWD MOSMIX stations elsewhere",
          "coverageRating": 4,
          "freshness": "RTMA-RU every 15 minutes, HRRR and NBM hourly, global models every 6 hours",
          "freshnessClass": "hourly",
          "history": "ERA5 reanalysis from January 1940, the project's archive of 1-hour forecasts from June 2024, and URMA analyses for the last 10 days in North America since 2.10.1",
          "historyYears": 86,
          "methodology": "https://pirateweather.net/en/latest/DataSources/",
          "sourcesDisclosed": true,
          "licence": "Apache-2.0 docs, AGPL-3.0 API code, terms silent on data reuse",
          "licenceClass": "unclear",
          "standing": "",
          "standingClass": "none",
          "reuse": "The terms say nothing about caching or redistributing responses and add only two rules, no circumventing the call limit with extra accounts and no life or property critical use. The models behind the data are public data from NOAA, ECMWF open data, ECCC and DWD.",
          "score": 72,
          "checks": null
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/pirate-weather.json",
        "live": {
          "slug": "pirate-weather",
          "probe": {
            "target": "https://api.pirateweather.net/forecast",
            "method": "get",
            "lastAt": "2026-10-05T00:15:28.13939842Z",
            "lastOk": true,
            "lastStatus": 404,
            "lastMs": 100,
            "authRequired": false,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 105,
            "p95ms24h": 154,
            "samples24h": 272,
            "samples30d": 903,
            "days": [
              {
                "date": "2026-10-01",
                "probes": 109,
                "ok": 109
              },
              {
                "date": "2026-10-02",
                "probes": 248,
                "ok": 248
              },
              {
                "date": "2026-10-03",
                "probes": 271,
                "ok": 271
              },
              {
                "date": "2026-10-04",
                "probes": 272,
                "ok": 272
              },
              {
                "date": "2026-10-05",
                "probes": 3,
                "ok": 3
              }
            ]
          },
          "vendorStatus": {
            "page": "https://pirateweather.xitoring.io",
            "indicator": "unknown",
            "summary": "no machine-readable status found",
            "checkedAt": "2026-10-04T21:40:23.776757395Z"
          },
          "githubStars": 910,
          "securityTxt": {
            "url": "https://pirateweather.net/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-10-04T15:15:49.683216911Z"
          },
          "domain": {
            "domain": "pirateweather.net",
            "registered": "2021-03-01",
            "source": "https://rdap.verisign.com/net/v1/domain/pirateweather.net",
            "checkedAt": "2026-10-04T13:04:40.132666729Z"
          },
          "pages": [
            {
              "url": "https://pirateweather.net/en/latest/changelog/",
              "kind": "changelog",
              "status": 404,
              "checkedAt": "2026-10-04T15:46:44.667604199Z",
              "changedAt": "0001-01-01T00:00:00Z"
            },
            {
              "url": "https://pirateweather.net/en/latest/Apiable/ApiablePrivacy/",
              "kind": "privacy",
              "status": 404,
              "checkedAt": "2026-10-04T15:46:40.536531228Z",
              "changedAt": "0001-01-01T00:00:00Z"
            },
            {
              "url": "https://pirateweather.net/en/latest/Apiable/ApiableTerms/",
              "kind": "terms",
              "status": 404,
              "checkedAt": "2026-10-04T15:46:42.64213118Z",
              "changedAt": "0001-01-01T00:00:00Z"
            }
          ],
          "updatedAt": "2026-10-05T00:15:28.13939842Z"
        }
      },
      {
        "slug": "weatherapi-com",
        "name": "WeatherAPI.com",
        "vendor": "WeatherAPI.com (Zoomash Ltd)",
        "vendorUrl": "https://www.weatherapi.com",
        "kind": "http-api",
        "category": "weather",
        "summary": "Weather API for current conditions, forecasts, history, marine data, alerts and air quality, queried by location.",
        "url": "https://www.anchorterminal.com/tools/weatherapi-com",
        "markdownUrl": "https://www.anchorterminal.com/tools/weatherapi-com.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/weatherapi-com.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/weatherapi-com.json",
        "transports": [
          "http"
        ],
        "remoteUrl": "https://api.weatherapi.com/v1",
        "packages": [],
        "auth": "api-key",
        "authNotes": "The key goes in the key query parameter on every request. The terms tie one key to one application.",
        "pricing": "freemium",
        "pricingNotes": "Free at 100,000 calls a month with a 3-day forecast and 1 day of history, no card. Starter $7 a month ($75 a year) for 3 million calls, 7-day forecast and 7 days of history. Pro+ $25 ($270 a year) for 5 million calls, 14-day forecast, 365 days of history, marine with tides and bulk requests. Business $65 ($702 a year) for 10 million calls, history back to 2010-01-01 and 99.9 per cent uptime. Enterprise on request with unlimited calls. Paid plans start with a 14-day free trial (https://www.weatherapi.com/pricing.aspx).",
        "priceSummary": "$7 / mo",
        "where": "hosted",
        "x402": {
          "level": "no",
          "endpoints": []
        },
        "toolCount": null,
        "popularity": {
          "githubStars": null,
          "npmWeekly": null,
          "pypiWeekly": null,
          "asOf": "2026-09-30"
        },
        "docsUrl": "https://www.weatherapi.com/docs/",
        "llmsTxt": "https://www.weatherapi.com/llms.txt",
        "openapi": "https://www.weatherapi.com/openapi.json",
        "capabilities": [
          "weather.current",
          "weather.forecast",
          "weather.historical",
          "weather.alerts",
          "weather.marine",
          "data.weather"
        ],
        "tags": [
          "hosted",
          "freemium",
          "free-tier",
          "no-card",
          "closed-source",
          "uk"
        ],
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 65.8,
          "grade": "B",
          "agentReady": false,
          "rank": 169,
          "ranked": true,
          "rankOf": 452,
          "categoryRank": 3,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 80,
            "maintenance": 45,
            "payments": 30,
            "reliability": 90,
            "schema": 89,
            "security": 37,
            "transparency": 70
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-10-01"
          },
          "negative": 0,
          "verdict": "3 million calls for $7 a month, and 100,000 a month free with no card. Key only in the query string, and no security.txt.",
          "strengths": [
            "3 million calls for $7 a month, and 100,000 a month free with no card",
            "OpenAPI 3.1 spec with structured errors, plus llms.txt",
            "Field filters (current_fields, day_fields, hour_fields) to trim responses",
            "Status page with no incidents listed, and 99.9 per cent with service credits for High Volume customers",
            "12 months' written notice before an API deprecation, in the terms"
          ],
          "weaknesses": [
            "Key only in the query string, and no security.txt",
            "Privacy policy undated, with template placeholders and transfers to Russia and China",
            "SDKs for Node.js, Java, PHP and Go untouched since 2020 and 2021",
            "No full list of data sources or models",
            "Caching limited to 60 minutes for current and 24 hours for forecast"
          ],
          "agentNotes": [
            "Pass current_fields, day_fields or hour_fields to cut the response to what you need",
            "Treat a 403 with error code 2007 as the monthly quota, not a bad key. There's no 429",
            "Reuse the id from search.json (q=id:NNN) to avoid ambiguous city names",
            "Cache history freely, current for under an hour and forecasts for under a day, to stay inside the terms",
            "Use https://api.weatherapi.com/v1. The docs still show an http:// base URL"
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 2,
          "avgRating": 3.5,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "B",
              "methodology": "0.3",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 65.8
            }
          ],
          "editorialScores": {
            "ergonomics": 80,
            "maintenance": 45,
            "payments": 30,
            "reliability": 90,
            "schema": 89,
            "security": 37,
            "transparency": 49
          },
          "provenanceScore": 90,
          "dataQualityScore": 49
        },
        "connect": {
          "http": "curl \"https://api.weatherapi.com/v1/forecast.json?key=$WEATHERAPI_KEY\u0026q=51.51,-0.13\u0026days=3\u0026aqi=no\u0026alerts=no\""
        },
        "letme": {
          "capability": "https://letme.dev/weather.current",
          "tool": "https://letme.dev/weatherapi-com"
        },
        "area": "domain-data",
        "unitPrices": [
          {
            "item": "Starter plan",
            "unit": "month",
            "usd": 7,
            "note": "3 million calls, $75 a year"
          },
          {
            "item": "Pro+ plan",
            "unit": "month",
            "usd": 25,
            "note": "5 million calls, $270 a year"
          },
          {
            "item": "Business plan",
            "unit": "month",
            "usd": 65,
            "note": "10 million calls, $702 a year"
          },
          {
            "item": "Call on Starter, at the plan cap",
            "unit": "1k-requests",
            "usd": 0.0023,
            "note": "$7 over 3 million calls"
          },
          {
            "item": "Call on Business, at the plan cap",
            "unit": "1k-requests",
            "usd": 0.0065,
            "note": "$65 over 10 million calls"
          }
        ],
        "provenance": {
          "legalEntity": "Zoomash Ltd",
          "domain": "weatherapi.com",
          "domainRegistered": "2014-11-29",
          "endpointOnVendorDomain": true,
          "terms": "https://www.weatherapi.com/terms.aspx",
          "privacy": "https://www.weatherapi.com/privacy.aspx",
          "statusPage": "https://status.weatherapi.com/",
          "changelog": "https://www.weatherapi.com/api-changelog.html",
          "securityTxt": "none",
          "checked": "2026-10-01",
          "notes": [
            "The terms name Zoomash Ltd under the law of England and Wales but give no registered address or company number, and the privacy policy names no entity beyond WeatherAPI.com.",
            "The privacy policy says personal data may be transferred to the USA, Russia, Japan, China and India, and names Stripe for payments.",
            "The status page at status.weatherapi.com runs on Better Stack.",
            "www.weatherapi.com/.well-known/security.txt returns an HTML error page per the 30 September check."
          ],
          "score": 90
        },
        "dataQuality": {
          "coverage": "Global, any coordinate, city, postcode or IP",
          "coverageRating": 4,
          "freshness": "Not stated. The terms allow current conditions to be cached for 60 minutes",
          "freshnessClass": "hourly",
          "history": "From 2010-01-01 on Business, 365 days on Pro+",
          "historyYears": 16,
          "methodology": "",
          "sourcesDisclosed": false,
          "licence": "Proprietary. Cache limits, no resale, attribution on Free",
          "licenceClass": "clear",
          "standing": "",
          "standingClass": "none",
          "reuse": "The terms cap caching at 60 minutes for current and 24 hours for forecast, forbid selling the data on, and end any right to keep it when the subscription ends. Showing it in your own app or service is allowed.",
          "score": 49,
          "checks": null
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/weatherapi-com.json",
        "live": {
          "slug": "weatherapi-com",
          "probe": {
            "target": "https://api.weatherapi.com/v1",
            "method": "get",
            "lastAt": "2026-10-05T00:15:32.655031333Z",
            "lastOk": true,
            "lastStatus": 404,
            "lastMs": 52,
            "authRequired": false,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 60,
            "p95ms24h": 150,
            "samples24h": 272,
            "samples30d": 903,
            "days": [
              {
                "date": "2026-10-01",
                "probes": 109,
                "ok": 109
              },
              {
                "date": "2026-10-02",
                "probes": 248,
                "ok": 248
              },
              {
                "date": "2026-10-03",
                "probes": 271,
                "ok": 271
              },
              {
                "date": "2026-10-04",
                "probes": 272,
                "ok": 272
              },
              {
                "date": "2026-10-05",
                "probes": 3,
                "ok": 3
              }
            ]
          },
          "vendorStatus": {
            "page": "https://status.weatherapi.com",
            "indicator": "unknown",
            "summary": "no machine-readable status found",
            "checkedAt": "2026-10-04T21:40:34.084084756Z"
          },
          "securityTxt": {
            "url": "https://weatherapi.com/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-10-04T15:15:50.54150115Z"
          },
          "llmsTxt": {
            "url": "https://www.weatherapi.com/llms.txt",
            "ok": true,
            "status": 200,
            "checkedAt": "2026-10-04T15:18:21.6959677Z"
          },
          "domain": {
            "domain": "weatherapi.com",
            "registered": "2014-11-29",
            "source": "https://rdap.verisign.com/com/v1/domain/weatherapi.com",
            "checkedAt": "2026-10-04T13:06:50.954163408Z"
          },
          "pages": [
            {
              "url": "https://www.weatherapi.com/api-changelog.html",
              "kind": "changelog",
              "status": 200,
              "checkedAt": "2026-10-04T15:52:53.355500992Z",
              "changedAt": "2026-10-04T15:52:53.355500992Z",
              "fingerprint": "27443ff20814"
            },
            {
              "url": "https://www.weatherapi.com/pricing.aspx",
              "kind": "pricing",
              "status": 200,
              "checkedAt": "2026-10-04T15:52:55.401668105Z",
              "changedAt": "2026-10-04T15:52:55.401668105Z",
              "fingerprint": "edf5a49404e3"
            },
            {
              "url": "https://www.weatherapi.com/privacy.aspx",
              "kind": "privacy",
              "status": 200,
              "checkedAt": "2026-10-04T15:52:57.435167177Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "cb9e4a437682"
            },
            {
              "url": "https://www.weatherapi.com/terms.aspx",
              "kind": "terms",
              "status": 200,
              "checkedAt": "2026-10-04T15:52:59.433233246Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "29affc48ca13"
            }
          ],
          "updatedAt": "2026-10-05T00:15:32.655031333Z"
        }
      },
      {
        "slug": "open-meteo",
        "name": "Open-Meteo",
        "vendor": "Open-Meteo",
        "vendorUrl": "https://open-meteo.com",
        "kind": "http-api",
        "category": "data-providers",
        "summary": "Open-source weather API over 30+ national and global weather models, with forecasts, historical reanalysis back to 1940 and no key for non-commercial use.",
        "url": "https://www.anchorterminal.com/tools/open-meteo",
        "markdownUrl": "https://www.anchorterminal.com/tools/open-meteo.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/open-meteo.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/open-meteo.json",
        "repo": "https://github.com/open-meteo/open-meteo",
        "license": "AGPL-3.0 (code), CC BY 4.0 (data)",
        "transports": [
          "http"
        ],
        "remoteUrl": "https://api.open-meteo.com/v1/forecast",
        "packages": [],
        "auth": "none",
        "authNotes": "No key for non-commercial use. Commercial plans add `\u0026apikey=` on customer-api.open-meteo.com.",
        "pricing": "freemium",
        "pricingNotes": "Free for non-commercial use at 600 calls a minute, 5,000 an hour, 10,000 a day and 300,000 a month. Commercial plans for 1M, 5M and 50M+ calls a month show prices only at Stripe checkout, and monthly caps aren't enforced yet, with email alerts at 80, 90 and 100 per cent instead (https://open-meteo.com/en/pricing).",
        "priceSummary": "Freemium",
        "where": "hosted",
        "x402": {
          "level": "no",
          "endpoints": []
        },
        "toolCount": null,
        "popularity": {
          "githubStars": 6200,
          "npmWeekly": null,
          "pypiWeekly": null,
          "asOf": "2026-09-26"
        },
        "docsUrl": "https://open-meteo.com/en/docs",
        "openapi": "https://github.com/open-meteo/open-meteo/blob/main/openapi/forecast.yml",
        "capabilities": [
          "data.weather"
        ],
        "tags": [
          "hosted",
          "no-key",
          "open-data",
          "open-source",
          "free-tier"
        ],
        "lastRelease": "2026-09-10",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 63.5,
          "grade": "B",
          "agentReady": false,
          "rank": 203,
          "ranked": true,
          "rankOf": 452,
          "categoryRank": 4,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 85,
            "maintenance": 90,
            "payments": 50,
            "reliability": 50,
            "schema": 77,
            "security": 38,
            "transparency": 73
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-10-01"
          },
          "negative": 0,
          "verdict": "No key or account for non-commercial use, at 600 calls a minute and 10,000 a day. Commercial prices appear only at Stripe checkout.",
          "strengths": [
            "No key or account for non-commercial use, at 600 calls a minute and 10,000 a day",
            "OpenAPI 3.1 files for nine APIs with an enum for every weather variable",
            "Five releases between 11 July and 10 September 2026, AGPL-3.0 code and CC BY 4.0 data",
            "Logs deleted after 90 days and no cookies or trackers, per the terms",
            "Official Python and TypeScript SDKs"
          ],
          "weaknesses": [
            "Commercial prices appear only at Stripe checkout",
            "The commercial key is sent as `\u0026apikey=` in the URL",
            "Status page is uptime monitors with no incident write-ups we could read",
            "Terms change on posting and IPs can be blocked without notice",
            "No llms.txt, no official MCP server, and the OpenAPI files aren't linked from the docs"
          ],
          "agentNotes": [
            "Name only the variables you need in `hourly=` or `daily=`, because each one adds a full time series",
            "Credit 'Weather data by Open-Meteo.com' wherever you show the data",
            "Use customer-api.open-meteo.com with `\u0026apikey=` for anything commercial, and keep that URL out of logs",
            "Read `reason` on a 400. It names the bad parameter",
            "Cache by coordinate and model run, since global models update about every six hours"
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 2,
          "avgRating": 4,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "B",
              "methodology": "0.3",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 63.5
            }
          ],
          "editorialScores": {
            "ergonomics": 85,
            "maintenance": 90,
            "payments": 50,
            "reliability": 50,
            "schema": 77,
            "security": 38,
            "transparency": 70
          },
          "provenanceScore": 76,
          "dataQualityScore": 80
        },
        "connect": {
          "http": "curl \"https://api.open-meteo.com/v1/forecast?latitude=51.51\u0026longitude=-0.13\u0026hourly=temperature_2m,precipitation\u0026forecast_days=2\""
        },
        "letme": {
          "capability": "https://letme.dev/data.weather",
          "tool": "https://letme.dev/open-meteo"
        },
        "alsoIn": [
          "weather"
        ],
        "area": "web-data",
        "provenance": {
          "legalEntity": "OpenMeteo GmbH",
          "domain": "open-meteo.com",
          "domainRegistered": "2021-04-27",
          "endpointOnVendorDomain": true,
          "terms": "https://open-meteo.com/en/terms",
          "privacy": "https://open-meteo.com/en/terms#privacy",
          "statusPage": "https://status.open-meteo.com",
          "changelog": "",
          "securityTxt": "none",
          "checked": "2026-09-26",
          "score": 76
        },
        "dataQuality": {
          "coverage": "Global at 1 to 15 km, 16-day forecasts, 30+ weather models",
          "coverageRating": 4,
          "freshness": "Global models about every 6 hours, regional models every 1 to 3",
          "freshnessClass": "hourly",
          "history": "Reanalysis from 1940",
          "historyYears": 86,
          "methodology": "https://open-meteo.com/en/docs/historical-weather-api",
          "sourcesDisclosed": true,
          "licence": "CC BY 4.0",
          "licenceClass": "open",
          "standing": "",
          "standingClass": "none",
          "reuse": "CC BY 4.0, so caching and redistribution are fine with credit. Commercial use of the API needs a paid plan.",
          "score": 80,
          "checks": null
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/open-meteo.json",
        "live": {
          "slug": "open-meteo",
          "probe": {
            "target": "https://api.open-meteo.com/v1/forecast",
            "method": "get",
            "lastAt": "2026-10-05T00:15:27.302228043Z",
            "lastOk": true,
            "lastStatus": 200,
            "lastMs": 105,
            "authRequired": false,
            "uptime24h": 98.9,
            "uptime30d": 99.17,
            "p50ms24h": 112,
            "p95ms24h": 161,
            "samples24h": 272,
            "samples30d": 2059,
            "days": [
              {
                "date": "2026-09-27",
                "probes": 132,
                "ok": 131
              },
              {
                "date": "2026-09-28",
                "probes": 285,
                "ok": 283
              },
              {
                "date": "2026-09-29",
                "probes": 286,
                "ok": 286
              },
              {
                "date": "2026-09-30",
                "probes": 286,
                "ok": 284
              },
              {
                "date": "2026-10-01",
                "probes": 276,
                "ok": 273
              },
              {
                "date": "2026-10-02",
                "probes": 248,
                "ok": 245
              },
              {
                "date": "2026-10-03",
                "probes": 271,
                "ok": 268
              },
              {
                "date": "2026-10-04",
                "probes": 272,
                "ok": 269
              },
              {
                "date": "2026-10-05",
                "probes": 3,
                "ok": 3
              }
            ]
          },
          "vendorStatus": {
            "page": "https://status.open-meteo.com",
            "indicator": "unknown",
            "summary": "no machine-readable status found",
            "checkedAt": "2026-10-04T21:40:17.615466134Z"
          },
          "versions": [
            {
              "registry": "github",
              "name": "open-meteo/open-meteo",
              "version": "1.6.0",
              "released": "2026-09-10",
              "seenAt": "2026-10-04T16:35:11.061638452Z"
            }
          ],
          "githubStars": 6288,
          "securityTxt": {
            "url": "https://open-meteo.com/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-10-04T15:15:49.545881626Z"
          },
          "domain": {
            "domain": "open-meteo.com",
            "registered": "2021-04-27",
            "source": "https://rdap.verisign.com/com/v1/domain/open-meteo.com",
            "checkedAt": "2026-10-04T13:10:29.927007329Z"
          },
          "pages": [
            {
              "url": "https://open-meteo.com/en/pricing",
              "kind": "pricing",
              "status": 200,
              "checkedAt": "2026-10-04T15:46:21.905952431Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "d8e166b3f66d"
            },
            {
              "url": "https://open-meteo.com/en/terms",
              "kind": "terms",
              "status": 200,
              "checkedAt": "2026-10-04T15:46:23.967574691Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "c2aba52bfa00"
            }
          ],
          "updatedAt": "2026-10-05T00:15:27.302228043Z"
        }
      },
      {
        "slug": "visual-crossing",
        "name": "Visual Crossing Weather API",
        "vendor": "Visual Crossing",
        "vendorUrl": "https://www.visualcrossing.com",
        "kind": "http-api",
        "category": "weather",
        "summary": "Weather API for historical conditions, forecasts and climate data by location and date range.",
        "url": "https://www.anchorterminal.com/tools/visual-crossing",
        "markdownUrl": "https://www.anchorterminal.com/tools/visual-crossing.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/visual-crossing.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/visual-crossing.json",
        "repo": "https://github.com/visualcrossing/WeatherApi",
        "transports": [
          "http",
          "streamable-http"
        ],
        "remoteUrl": "https://weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline",
        "packages": [],
        "auth": "api-key",
        "authNotes": "The Timeline API takes the key as the key query parameter. The MCP server takes it in an X-VC-API-Key header, or OAuth (user or machine-to-machine) once Visual Crossing has provisioned it for the account.",
        "pricing": "freemium",
        "pricingNotes": "Billed in records. A day of daily data is one record, a day of hourly data is 24, and a full 15-day forecast for one location is one record. Free at 1,000 records a day (30,000 a month), no card, one concurrent request, attribution required. Metered at $0.0001 a record above the free 1,000 a day, unlimited records, up to 25,000 records a query. Professional (10 million records a month) shows no price, and Corporate and Enterprise are contact sales. A February 2023 post put Professional and Corporate at $35 and $150 a month. The plan table lists 99.5 per cent uptime on Free and 99.9 on paid plans (https://www.visualcrossing.com/weather-data-pricing/ and https://www.visualcrossing.com/resources/blog/what-will-my-weather-data-cost/).",
        "priceSummary": "$0.10 / 1k req",
        "where": "hosted",
        "x402": {
          "level": "no",
          "endpoints": []
        },
        "toolCount": 1,
        "popularity": {
          "githubStars": null,
          "npmWeekly": null,
          "pypiWeekly": null,
          "asOf": "2026-09-30"
        },
        "docsUrl": "https://www.visualcrossing.com/resources/documentation/weather-api/timeline-weather-api/",
        "llmsTxt": "https://www.visualcrossing.com/llms.txt",
        "openapi": "https://www.visualcrossing.com/weather/specs/visualcrossing-weather-api-openapi.json",
        "capabilities": [
          "weather.current",
          "weather.forecast",
          "weather.historical",
          "weather.alerts",
          "data.weather"
        ],
        "tags": [
          "hosted",
          "freemium",
          "free-tier",
          "no-card",
          "mcp",
          "closed-source",
          "usage-priced"
        ],
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 60.3,
          "grade": "C",
          "agentReady": false,
          "rank": 251,
          "ranked": true,
          "rankOf": 452,
          "categoryRank": 4,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 78,
            "maintenance": 58,
            "payments": 40,
            "reliability": 66,
            "schema": 74,
            "security": 40,
            "transparency": 61
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-10-01"
          },
          "negative": 0,
          "verdict": "History from 1970, current conditions and a 15-day forecast from one endpoint. Key only in the query string on the REST API.",
          "strengths": [
            "History from 1970, current conditions and a 15-day forecast from one endpoint",
            "$0.0001 a record with 1,000 free a day and no card",
            "Official MCP server with one tool, key in a header or OAuth",
            "llms.txt, an OpenAPI spec and a quarterly changelog, most recently 4 September 2026",
            "Status page and published uptime targets of 99.5 per cent free and 99.9 paid"
          ],
          "weaknesses": [
            "Key only in the query string on the REST API",
            "OpenAPI spec defines no enums and no error responses",
            "Privacy policy states no retention periods or subprocessors",
            "Storing results needs the right licence level, and the terms carry a non-compete",
            "No security.txt, disclosure policy or MCP registry entry"
          ],
          "agentNotes": [
            "Always pass include= and elements=. A bare call returns days, hours and current for every element and burns records",
            "Count records before a backfill. Hourly data is 24 records a day, so a year for one place is 8,760",
            "Pass unitGroup=metric. The default is US units",
            "Use the MCP server with X-VC-API-Key rather than pasting the key into a URL",
            "Keep to one request at a time on Free and Professional. A second concurrent job returns 429"
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 2,
          "avgRating": 4,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "C",
              "methodology": "0.3",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 60.3
            }
          ],
          "editorialScores": {
            "ergonomics": 78,
            "maintenance": 58,
            "payments": 40,
            "reliability": 66,
            "schema": 74,
            "security": 40,
            "transparency": 31
          },
          "provenanceScore": 90,
          "dataQualityScore": 77
        },
        "connect": {
          "http": "curl \"https://weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline/51.51,-0.13/2026-09-01/2026-09-07?unitGroup=metric\u0026include=days\u0026elements=datetime,tempmax,tempmin,precip\u0026contentType=json\u0026key=$VISUALCROSSING_API_KEY\"",
          "claudeCode": "claude mcp add --transport http visualcrossing https://mcp.visualcrossing.com/VisualCrossingWebServices/rest/api/v1/mcp --header \"X-VC-API-Key: $VISUALCROSSING_API_KEY\"",
          "config": {
            "mcpServers": {
              "visualcrossing": {
                "headers": {
                  "X-VC-API-Key": "${VISUALCROSSING_API_KEY}"
                },
                "type": "http",
                "url": "https://mcp.visualcrossing.com/VisualCrossingWebServices/rest/api/v1/mcp"
              }
            }
          }
        },
        "letme": {
          "capability": "https://letme.dev/weather.current",
          "tool": "https://letme.dev/visual-crossing"
        },
        "area": "domain-data",
        "unitPrices": [
          {
            "item": "Metered record",
            "unit": "record",
            "usd": 0.0001,
            "note": "First 1,000 records a day free"
          },
          {
            "item": "Metered, 15-day forecast calls",
            "unit": "1k-requests",
            "usd": 0.1,
            "note": "One record a forecast call, $0.0001 each"
          }
        ],
        "provenance": {
          "legalEntity": "Visual Crossing Corporation",
          "domain": "visualcrossing.com",
          "domainRegistered": "2005-10-11",
          "endpointOnVendorDomain": true,
          "terms": "https://www.visualcrossing.com/weather-services-terms/",
          "privacy": "https://www.visualcrossing.com/privacy/",
          "statusPage": "https://status.visualcrossing.com/",
          "changelog": "https://www.visualcrossing.com/resources/documentation/weather-api/weather-api-changelog/",
          "securityTxt": "none",
          "checked": "2026-10-01",
          "notes": [
            "The terms (last updated January 2023) name Visual Crossing Corporation under Virginia law but give no address.",
            "The privacy policy is at /privacy/ (updated 23 May 2025). The /privacy-policy/ path returns 404.",
            "The status page at status.visualcrossing.com runs on UptimeRobot.",
            "/.well-known/security.txt returns 404 per the 30 September check.",
            "The GitHub repository holds sample code in several languages, not an SDK."
          ],
          "score": 90
        },
        "dataQuality": {
          "coverage": "Global, any address or coordinate, up to 100 locations a query on Professional",
          "coverageRating": 4,
          "freshness": "Stations update every 15 to 30 minutes or hourly per the product page. Forecast refresh cadence not stated",
          "freshnessClass": "hourly",
          "history": "From 1970-01-01, hourly and daily, plus archived forecasts through the Historical Weather Forecast API added in Q2 2026",
          "historyYears": 56,
          "methodology": "https://www.visualcrossing.com/resources/documentation/weather-api/timeline-weather-api/",
          "sourcesDisclosed": true,
          "licence": "Proprietary. Storage by licence level, no resale, non-compete",
          "licenceClass": "clear",
          "standing": "",
          "standingClass": "none",
          "reuse": "Results may be stored in a database only where the licence level permits it, except for personal use. Resale and redistribution are barred, using the data to replicate a Visual Crossing service is barred, and Enterprise is the plan that adds external data-sharing rights.",
          "score": 77,
          "checks": null
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/visual-crossing.json",
        "live": {
          "slug": "visual-crossing",
          "probe": {
            "target": "https://weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline",
            "method": "get",
            "lastAt": "2026-10-05T00:15:32.264178893Z",
            "lastOk": true,
            "lastStatus": 401,
            "lastMs": 251,
            "lastNote": "asks for credentials",
            "authRequired": true,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 256,
            "p95ms24h": 295,
            "samples24h": 272,
            "samples30d": 903,
            "days": [
              {
                "date": "2026-10-01",
                "probes": 109,
                "ok": 109
              },
              {
                "date": "2026-10-02",
                "probes": 248,
                "ok": 248
              },
              {
                "date": "2026-10-03",
                "probes": 271,
                "ok": 271
              },
              {
                "date": "2026-10-04",
                "probes": 272,
                "ok": 272
              },
              {
                "date": "2026-10-05",
                "probes": 3,
                "ok": 3
              }
            ]
          },
          "vendorStatus": {
            "page": "https://status.visualcrossing.com",
            "indicator": "unknown",
            "summary": "no machine-readable status found",
            "checkedAt": "2026-10-04T21:40:33.384039028Z"
          },
          "githubStars": 55,
          "securityTxt": {
            "url": "https://visualcrossing.com/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-10-04T15:15:36.837103071Z"
          },
          "llmsTxt": {
            "url": "https://www.visualcrossing.com/llms.txt",
            "ok": true,
            "status": 200,
            "checkedAt": "2026-10-04T15:18:21.271479326Z"
          },
          "domain": {
            "domain": "visualcrossing.com",
            "registered": "2005-10-11",
            "source": "https://rdap.verisign.com/com/v1/domain/visualcrossing.com",
            "checkedAt": "2026-10-04T13:06:40.738574234Z"
          },
          "pages": [
            {
              "url": "https://www.visualcrossing.com/resources/documentation/weather-api/weather-api-changelog/",
              "kind": "changelog",
              "status": 200,
              "checkedAt": "2026-10-04T15:52:47.418150983Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "77ecfd35a643"
            },
            {
              "url": "https://www.visualcrossing.com/weather-data-pricing/",
              "kind": "pricing",
              "status": 200,
              "checkedAt": "2026-10-04T15:52:49.331082427Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "cb8af14c5632"
            },
            {
              "url": "https://www.visualcrossing.com/privacy/",
              "kind": "privacy",
              "status": 200,
              "checkedAt": "2026-10-04T15:52:45.228070626Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "0ccd098bba16"
            },
            {
              "url": "https://www.visualcrossing.com/weather-services-terms/",
              "kind": "terms",
              "status": 200,
              "checkedAt": "2026-10-04T15:52:51.357308005Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "5225b6169954"
            }
          ],
          "updatedAt": "2026-10-05T00:15:32.264178893Z"
        }
      },
      {
        "slug": "openweather-one-call",
        "name": "OpenWeather One Call API",
        "vendor": "OpenWeather",
        "vendorUrl": "https://openweathermap.org",
        "kind": "http-api",
        "category": "weather",
        "summary": "Current weather, minute, hourly and daily forecasts, government alerts and history back to 1979 in one call, billed per call with 1,000 free a day.",
        "url": "https://www.anchorterminal.com/tools/openweather-one-call",
        "markdownUrl": "https://www.anchorterminal.com/tools/openweather-one-call.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/openweather-one-call.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/openweather-one-call.json",
        "transports": [
          "http",
          "streamable-http"
        ],
        "remoteUrl": "https://api.openweathermap.org/data/3.0/onecall",
        "packages": [],
        "auth": "api-key",
        "authNotes": "The REST API takes the key as the appid query parameter, so it lands in request URLs and logs. The agent lane at agents.openweathermap.org issues a separate data key (bf_live_…) sent as a Bearer header to data.openweathermap.org and to the MCP server. The One Call by Call subscription has to be activated on the account before the key works on 3.0 or 4.0.",
        "pricing": "freemium",
        "pricingNotes": "One Call by Call. The first 1,000 calls a day are free, then $0.0015 a call, with a default daily cap of 2,000 you can raise or lower in the account (https://openweathermap.org/price). Charges are summed and billed at the end of the subscription month, and subscribing means filling in a billing form (https://openweathermap.org/faq). The agent lane gives every account 1,000 One Call credits a day, replaced each night UTC, then bills $0.001 a successful call from prepaid credit. Top-ups are card only, from $10, and a person completes them on the payment page (https://agents.openweathermap.org/llms.txt). The wider subscription plans (Startup $40, Developer $180, Professional $470, Expert $1,200 a month) cover the older per-product APIs, not One Call.",
        "priceSummary": "$1.50 / 1k req",
        "where": "hosted",
        "x402": {
          "level": "no",
          "endpoints": []
        },
        "toolCount": 6,
        "popularity": {
          "githubStars": null,
          "npmWeekly": null,
          "pypiWeekly": null,
          "asOf": "2026-09-30"
        },
        "docsUrl": "https://openweathermap.org/api/one-call-3",
        "llmsTxt": "https://openweathermap.org/llms.txt",
        "registryName": "org.openweathermap/agents",
        "capabilities": [
          "weather.current",
          "weather.forecast",
          "weather.historical",
          "weather.alerts",
          "data.weather"
        ],
        "tags": [
          "hosted",
          "freemium",
          "free-tier",
          "no-card",
          "mcp",
          "llms-txt",
          "closed-source",
          "usage-priced",
          "uk"
        ],
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 57.4,
          "grade": "C",
          "agentReady": false,
          "rank": 294,
          "ranked": true,
          "rankOf": 452,
          "categoryRank": 5,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 73,
            "maintenance": 60,
            "payments": 60,
            "reliability": 45,
            "schema": 68,
            "security": 42,
            "transparency": 62
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-10-01"
          },
          "negative": 0,
          "verdict": "1,000 free calls a day, then $0.0015 a call, or $0.001 on the agent lane. The main API takes the key only as the appid query parameter.",
          "strengths": [
            "1,000 free calls a day, then $0.0015 a call, or $0.001 on the agent lane",
            "An agent can sign up with one POST and an email, and failed calls aren't billed on that lane",
            "Official hosted MCP server in the registry as org.openweathermap/agents",
            "History back to 1979-01-01 from the same API as the forecast",
            "llms.txt, a Markdown agent guide and an error dictionary with the reaction for each code"
          ],
          "weaknesses": [
            "The main API takes the key only as the appid query parameter",
            "3.0 is marked deprecated with no shutdown date, and 4.0 needs new paths",
            "No status page, public changelog or OpenAPI for the main API",
            "No security.txt or disclosure policy found",
            "Agent top-ups are card only and need a person, and the lane is run by Extreme Electronics Ltd"
          ],
          "agentNotes": [
            "Sign up on the agent lane with POST https://agents.openweathermap.org/v1/accounts and keep the data key. It's shown once",
            "Check GET https://data.openweathermap.org/account/balance for credit. No data response carries a cost or balance",
            "On the main API, activate One Call by Call and set the daily cap in Billing plans before the first loop",
            "Pass units=metric. The default is Kelvin",
            "Use exclude=minutely,alerts on 3.0, or the 4.0 timeline step you need, to shrink responses"
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 2,
          "avgRating": 3.5,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "C",
              "methodology": "0.3",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 57.4
            }
          ],
          "editorialScores": {
            "ergonomics": 73,
            "maintenance": 60,
            "payments": 60,
            "reliability": 45,
            "schema": 68,
            "security": 42,
            "transparency": 53
          },
          "provenanceScore": 70,
          "dataQualityScore": 52
        },
        "connect": {
          "http": "curl \"https://api.openweathermap.org/data/3.0/onecall?lat=51.51\u0026lon=-0.13\u0026exclude=minutely\u0026units=metric\u0026appid=$OPENWEATHER_API_KEY\"",
          "claudeCode": "claude mcp add --transport http openweather https://mcp.openweathermap.org/mcp --header \"Authorization: Bearer $OPENWEATHER_DATA_KEY\"",
          "config": {
            "mcpServers": {
              "openweather": {
                "headers": {
                  "Authorization": "Bearer ${OPENWEATHER_DATA_KEY}"
                },
                "type": "http",
                "url": "https://mcp.openweathermap.org/mcp"
              }
            }
          }
        },
        "letme": {
          "capability": "https://letme.dev/weather.current",
          "tool": "https://letme.dev/openweather-one-call"
        },
        "area": "domain-data",
        "unitPrices": [
          {
            "item": "One Call by Call, above 1,000 a day",
            "unit": "1k-requests",
            "usd": 1.5,
            "note": "$0.0015 a call, first 1,000 a day free"
          },
          {
            "item": "Agent lane, prepaid credit",
            "unit": "1k-requests",
            "usd": 1,
            "note": "1 credit = $0.001 a successful call, 1,000 free credits a day, $10 minimum top-up"
          }
        ],
        "provenance": {
          "legalEntity": "OpenWeather Ltd",
          "domain": "openweathermap.org",
          "domainRegistered": "2012-04-20",
          "endpointOnVendorDomain": true,
          "terms": "https://openweather.co.uk/storage/app/media/Terms/Openweather_terms_and_conditions_of_sale.pdf",
          "privacy": "https://openweather.co.uk/privacy-policy",
          "statusPage": "",
          "changelog": "",
          "securityTxt": "none",
          "checked": "2026-09-30",
          "notes": [
            "The terms of sale and privacy policy sit on openweather.co.uk and name OpenWeather Ltd at 30 St Mary Axe, London EC3A 8BF, under the law of England and Wales.",
            "The agent lane is operated by Extreme Electronics Ltd, trading as The Bot Forum, with its own versioned terms at agents.openweathermap.org/tos.",
            "openweathermap.org/.well-known/security.txt returns 404.",
            "The company's GitHub organisation holds a storage engine (Deker) and an awesome list, no SDK or MCP source."
          ],
          "score": 70
        },
        "dataQuality": {
          "coverage": "Global, any coordinate, from OpenWeather's own model blend",
          "coverageRating": 4,
          "freshness": "Not stated for One Call by Call. The subscription table lists updates every 2 hours on Startup, hourly on Developer and every 10 minutes on Professional and Expert",
          "freshnessClass": "hourly",
          "history": "Timemachine from 1979-01-01",
          "historyYears": 47,
          "methodology": "",
          "sourcesDisclosed": false,
          "licence": "CC BY-SA 4.0 and ODbL per the terms of sale, with attribution on lower plans",
          "licenceClass": "clear",
          "standing": "",
          "standingClass": "none",
          "reuse": "The terms of sale put the data under CC BY-SA 4.0 and ODbL, so caching and redistribution are allowed with attribution and share-alike. The FAQ adds a required credit line, link and logo for Free to Professional plans.",
          "score": 52,
          "checks": null
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/openweather-one-call.json",
        "live": {
          "slug": "openweather-one-call",
          "probe": {
            "target": "https://api.openweathermap.org/data/3.0/onecall",
            "method": "get",
            "lastAt": "2026-10-05T00:15:27.645959712Z",
            "lastOk": true,
            "lastStatus": 401,
            "lastMs": 71,
            "lastNote": "asks for credentials",
            "authRequired": true,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 86,
            "p95ms24h": 119,
            "samples24h": 272,
            "samples30d": 903,
            "days": [
              {
                "date": "2026-10-01",
                "probes": 109,
                "ok": 109
              },
              {
                "date": "2026-10-02",
                "probes": 248,
                "ok": 248
              },
              {
                "date": "2026-10-03",
                "probes": 271,
                "ok": 271
              },
              {
                "date": "2026-10-04",
                "probes": 272,
                "ok": 272
              },
              {
                "date": "2026-10-05",
                "probes": 3,
                "ok": 3
              }
            ]
          },
          "versions": [
            {
              "registry": "mcp-registry",
              "name": "org.openweathermap/agents",
              "version": "0.3.0",
              "seenAt": "2026-10-04T23:42:40.113054682Z"
            }
          ],
          "securityTxt": {
            "url": "https://openweathermap.org/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-10-04T15:16:02.706673842Z"
          },
          "llmsTxt": {
            "url": "https://openweathermap.org/llms.txt",
            "ok": true,
            "status": 200,
            "checkedAt": "2026-10-04T15:18:05.491726758Z"
          },
          "domain": {
            "domain": "openweathermap.org",
            "registered": "2012-04-20",
            "source": "https://rdap.publicinterestregistry.org/rdap/domain/openweathermap.org",
            "checkedAt": "2026-10-04T13:10:39.925519614Z"
          },
          "pages": [
            {
              "url": "https://openweathermap.org/price",
              "kind": "pricing",
              "status": 200,
              "checkedAt": "2026-10-04T15:46:31.298624589Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "688045af7eab"
            },
            {
              "url": "https://openweather.co.uk/privacy-policy",
              "kind": "privacy",
              "status": 304,
              "checkedAt": "2026-10-04T15:46:29.285242667Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "763a8b8a9767"
            }
          ],
          "updatedAt": "2026-10-05T00:15:27.645959712Z"
        }
      },
      {
        "slug": "nws-api",
        "name": "NOAA National Weather Service API (api.weather.gov)",
        "vendor": "National Weather Service",
        "vendorUrl": "https://www.weather.gov/documentation/services-web-api",
        "kind": "http-api",
        "category": "weather",
        "summary": "The US government's own forecast, alert and observation feed, free, keyless and public domain.",
        "url": "https://www.anchorterminal.com/tools/nws-api",
        "markdownUrl": "https://www.anchorterminal.com/tools/nws-api.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/nws-api.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/nws-api.json",
        "repo": "https://github.com/weather-gov/api",
        "license": "Public domain (data)",
        "transports": [
          "http"
        ],
        "remoteUrl": "https://api.weather.gov",
        "packages": [],
        "auth": "none",
        "authNotes": "No key. A User-Agent header that identifies the application, ideally with a contact email, is required and requests without one are refused.",
        "pricing": "free",
        "pricingNotes": "Free. The rate limit isn't published but is described as generous for typical use, and a throttled request can be retried after about five seconds (https://www.weather.gov/documentation/services-web-api).",
        "priceSummary": "Free",
        "where": "hosted",
        "x402": {
          "level": "no",
          "endpoints": []
        },
        "toolCount": null,
        "popularity": {
          "githubStars": 310,
          "npmWeekly": null,
          "pypiWeekly": null,
          "asOf": "2026-09-30"
        },
        "docsUrl": "https://www.weather.gov/documentation/services-web-api",
        "openapi": "https://api.weather.gov/openapi.json",
        "capabilities": [
          "weather.current",
          "weather.forecast",
          "weather.alerts",
          "data.weather"
        ],
        "tags": [
          "hosted",
          "official",
          "government",
          "free",
          "no-key",
          "open-data",
          "openapi"
        ],
        "lastRelease": "2026-03-19",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 49.9,
          "grade": "D",
          "agentReady": false,
          "rank": 364,
          "ranked": true,
          "rankOf": 452,
          "categoryRank": 6,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 66,
            "maintenance": 8,
            "payments": 60,
            "reliability": 25,
            "schema": 67,
            "security": 53,
            "transparency": 67
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-10-01"
          },
          "negative": 0,
          "verdict": "Free, no key and no account, with public domain data. US and territories only.",
          "strengths": [
            "Free, no key and no account, with public domain data",
            "Official watches, warnings and text products from the issuing agency, filterable by point, zone, event and severity",
            "OpenAPI 3.0 document and RFC 7807 error bodies",
            "Cache-Control and Last-Modified on every response, so conditional requests work"
          ],
          "weaknesses": [
            "US and territories only",
            "Rate limit not published, and no status page or SLA",
            "No dated API change since 17 March 2026, and several 2026 forum questions unanswered",
            "No SDK, MCP server, llms.txt or security.txt"
          ],
          "agentNotes": [
            "Set User-Agent to your app name and a contact email or the request is refused with 403",
            "Cache the /points response per coordinate. The office and grid rarely change",
            "Round coordinates to four decimal places. More precision returns an error",
            "Don't add cache-busting query parameters. Unknown parameters return 400",
            "Back off about five seconds after a throttled request and reuse the last good response"
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 2,
          "avgRating": 4.5,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "D",
              "methodology": "0.3",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 49.9
            }
          ],
          "editorialScores": {
            "ergonomics": 66,
            "maintenance": 8,
            "payments": 60,
            "reliability": 25,
            "schema": 67,
            "security": 53,
            "transparency": 53
          },
          "provenanceScore": 80,
          "dataQualityScore": 67
        },
        "connect": {
          "http": "curl -H \"User-Agent: (myagent.example, ops@myagent.example)\" -H \"Accept: application/geo+json\" \"https://api.weather.gov/points/38.8894,-77.0352\""
        },
        "letme": {
          "capability": "https://letme.dev/weather.current",
          "tool": "https://letme.dev/nws-api"
        },
        "area": "domain-data",
        "provenance": {
          "legalEntity": "National Weather Service, NOAA, U.S. Department of Commerce",
          "domain": "weather.gov",
          "domainRegistered": "1999-04-30",
          "official": true,
          "endpointOnVendorDomain": true,
          "terms": "https://www.weather.gov/disclaimer",
          "privacy": "https://www.weather.gov/privacy",
          "statusPage": "",
          "changelog": "https://www.weather.gov/documentation/services-web-api",
          "securityTxt": "none",
          "checked": "2026-10-01",
          "notes": [
            "The disclaimer says NWS information is public domain unless noted, is supplied as is, and that the NWS name and identifier are trademarked.",
            "The privacy policy says the date, time and originating IP of each request are logged and may be kept indefinitely for security.",
            "www.weather.gov/.well-known/security.txt returns 404. The Department of Commerce vulnerability disclosure policy (version 2.0, 25 February 2026) covers internet-facing DOC systems and takes reports through Bugcrowd.",
            "The docs page carries a dated list of API changes. Wider service changes go out as NWS Service Change Notices and Public Information Statements.",
            "There's no status page. Outages are reported to NCO Tech Control, and the NCEP Senior Duty Meteorologist messages are the nearest public log."
          ],
          "score": 80
        },
        "dataQuality": {
          "coverage": "United States and its territories, on each forecast office's 2.5 km grid",
          "coverageRating": 2,
          "freshness": "Not stated per endpoint. Responses carry Cache-Control and Last-Modified so clients can see the age",
          "freshnessClass": "hourly",
          "history": "Recent station observations only. Climate records are at NOAA's NCEI, not this API",
          "historyYears": 0,
          "methodology": "https://www.weather.gov/documentation/services-web-api",
          "sourcesDisclosed": true,
          "licence": "Public domain",
          "licenceClass": "open",
          "standing": "The US federal weather service, issuer of official US watches and warnings",
          "standingClass": "statutory",
          "reuse": "Public domain and free for any lawful purpose. Cache and redistribute as you like, don't imply NWS endorsement, and note that works built mostly on NWS material can't claim copyright over it.",
          "score": 67,
          "checks": null
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/nws-api.json",
        "live": {
          "slug": "nws-api",
          "probe": {
            "target": "https://api.weather.gov",
            "method": "get",
            "lastAt": "2026-10-05T00:15:27.07973259Z",
            "lastOk": true,
            "lastStatus": 200,
            "lastMs": 123,
            "authRequired": false,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 153,
            "p95ms24h": 334,
            "samples24h": 272,
            "samples30d": 903,
            "days": [
              {
                "date": "2026-10-01",
                "probes": 109,
                "ok": 109
              },
              {
                "date": "2026-10-02",
                "probes": 248,
                "ok": 248
              },
              {
                "date": "2026-10-03",
                "probes": 271,
                "ok": 271
              },
              {
                "date": "2026-10-04",
                "probes": 272,
                "ok": 272
              },
              {
                "date": "2026-10-05",
                "probes": 3,
                "ok": 3
              }
            ]
          },
          "githubStars": 311,
          "securityTxt": {
            "url": "https://weather.gov/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-10-04T15:15:49.532451334Z"
          },
          "pages": [
            {
              "url": "https://www.weather.gov/documentation/services-web-api",
              "kind": "changelog",
              "status": 200,
              "checkedAt": "2026-10-04T15:52:52.813447699Z",
              "changedAt": "2026-10-03T15:40:43.869263793Z",
              "fingerprint": "ebbe762baf4c"
            },
            {
              "url": "https://www.weather.gov/privacy",
              "kind": "privacy",
              "status": 200,
              "checkedAt": "2026-10-04T15:52:54.951244772Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "00331ba8517d"
            },
            {
              "url": "https://www.weather.gov/disclaimer",
              "kind": "terms",
              "status": 200,
              "checkedAt": "2026-10-04T15:52:50.483017146Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "f32d8c8c8de4"
            }
          ],
          "updatedAt": "2026-10-05T00:15:27.07973259Z"
        }
      },
      {
        "slug": "accuweather-api",
        "name": "AccuWeather Core Weather API + MCP",
        "vendor": "AccuWeather",
        "vendorUrl": "https://developer.accuweather.com",
        "kind": "http-api",
        "category": "weather",
        "summary": "Weather API for current conditions, forecasts, alerts and radar imagery, with an official read-only MCP server.",
        "url": "https://www.anchorterminal.com/tools/accuweather-api",
        "markdownUrl": "https://www.anchorterminal.com/tools/accuweather-api.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/accuweather-api.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/accuweather-api.json",
        "transports": [
          "http",
          "streamable-http"
        ],
        "remoteUrl": "https://dataservice.accuweather.com",
        "packages": [],
        "auth": "api-key",
        "authNotes": "Authorization: Bearer with the Core Weather key on REST, the only method the authentication page documents. The MCP server also takes the key as an apikey parameter on its URL. Keys are rotated on the subscriptions page. Every weather call needs a location key first, from the locations search or geoposition endpoints.",
        "pricing": "freemium",
        "pricingNotes": "Free 14-day trial at 500 Core Weather calls a day, MCP included. Starter $2 a month for 15,000 calls ($0.25 per 1,000 over), Standard $25 for 225,000 ($0.12 over), Prime $250 for 1.8 million ($0.15 over), Elite $500 for 2.4 million ($0.22 over, MCP included), Enterprise on request. MinuteCast is a separate product, 50 calls a day free, Lite $25 for 10,000, Full $100 for 675,000. Lightning is Enterprise only (https://developer.accuweather.com/llms-full.txt). The previous free tier was retired with the new portal and old trial accounts have to sign up again (https://developer.accuweather.com/faq).",
        "priceSummary": "$2 / mo",
        "where": "hosted",
        "x402": {
          "level": "no",
          "endpoints": []
        },
        "toolCount": 26,
        "popularity": {
          "githubStars": null,
          "npmWeekly": null,
          "pypiWeekly": null,
          "asOf": "2026-09-30"
        },
        "docsUrl": "https://developer.accuweather.com/documentation/overview",
        "llmsTxt": "https://developer.accuweather.com/llms.txt",
        "capabilities": [
          "weather.current",
          "weather.forecast",
          "weather.alerts",
          "data.weather"
        ],
        "tags": [
          "hosted",
          "freemium",
          "free-tier",
          "mcp",
          "llms-txt",
          "closed-source",
          "enterprise"
        ],
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 48.8,
          "grade": "D",
          "agentReady": false,
          "rank": 372,
          "ranked": true,
          "rankOf": 452,
          "categoryRank": 7,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 60,
            "maintenance": 13,
            "payments": 25,
            "reliability": 65,
            "schema": 60,
            "security": 39,
            "transparency": 60
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-10-01"
          },
          "negative": 0,
          "verdict": "Official hosted MCP server, 26 read-only tools, same key as the REST API. Terms forbid using the data to train, validate or otherwise inform any AI system.",
          "strengths": [
            "Official hosted MCP server, 26 read-only tools, same key as the REST API",
            "Packages from $2 a month, with published overage rates per 1,000 calls",
            "llms.txt, llms-full.txt and a Markdown twin for every docs page",
            "RFC 7807 error bodies and a documented status code table",
            "Status page with Enterprise and Developer Portal API components"
          ],
          "weaknesses": [
            "Terms forbid using the data to train, validate or otherwise inform any AI system",
            "MCP access only on the trial and Elite ($500 a month)",
            "No changelog, and the terms allow API changes without notice",
            "Two calls per new place, a location key lookup then the forecast",
            "No security.txt, SLA or official SDK"
          ],
          "agentNotes": [
            "Cache location keys. They don't change, and the lookup is the call worth saving",
            "Use the geoposition search first when you hold coordinates, then the forecast tools with the key it returns",
            "Send the key as a Bearer header, not in the MCP URL, so it stays out of logs",
            "Send Accept-Encoding: gzip and refresh on the Expires header rather than a fixed timer",
            "Show the AccuWeather name and logo next to the data, and keep nothing older than two weeks"
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 2,
          "avgRating": 2.5,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "D",
              "methodology": "0.3",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 48.8
            }
          ],
          "editorialScores": {
            "ergonomics": 60,
            "maintenance": 13,
            "payments": 25,
            "reliability": 65,
            "schema": 60,
            "security": 39,
            "transparency": 39
          },
          "provenanceScore": 80,
          "dataQualityScore": 39
        },
        "connect": {
          "http": "curl -H \"Authorization: Bearer $ACCUWEATHER_API_KEY\" -H \"Accept-Encoding: gzip\" --compressed \"https://dataservice.accuweather.com/currentconditions/v1/349727\"",
          "claudeCode": "claude mcp add --transport http accuweather https://dataservice.accuweather.com/mcp --header \"Authorization: Bearer $ACCUWEATHER_API_KEY\"",
          "config": {
            "mcpServers": {
              "accuweather": {
                "headers": {
                  "Authorization": "Bearer ${ACCUWEATHER_API_KEY}"
                },
                "type": "http",
                "url": "https://dataservice.accuweather.com/mcp"
              }
            }
          }
        },
        "letme": {
          "capability": "https://letme.dev/weather.current",
          "tool": "https://letme.dev/accuweather-api"
        },
        "area": "domain-data",
        "unitPrices": [
          {
            "item": "Starter package",
            "unit": "month",
            "usd": 2,
            "note": "15,000 calls"
          },
          {
            "item": "Standard package",
            "unit": "month",
            "usd": 25,
            "note": "225,000 calls"
          },
          {
            "item": "Elite package",
            "unit": "month",
            "usd": 500,
            "note": "2.4 million calls, MCP access"
          },
          {
            "item": "Overage on Starter",
            "unit": "1k-requests",
            "usd": 0.25
          },
          {
            "item": "Overage on Standard",
            "unit": "1k-requests",
            "usd": 0.12
          },
          {
            "item": "Call on Starter, at the plan cap",
            "unit": "1k-requests",
            "usd": 0.13,
            "note": "$2 over 15,000 calls"
          }
        ],
        "provenance": {
          "legalEntity": "AccuWeather Intl., LLC (API terms), AccuWeather, Inc. (privacy)",
          "domain": "accuweather.com",
          "domainRegistered": "1995-10-27",
          "endpointOnVendorDomain": true,
          "terms": "https://developer.accuweather.com/documentation/terms-of-use",
          "privacy": "https://www.accuweather.com/en/privacy",
          "statusPage": "https://status.accuweather.com/",
          "changelog": "",
          "securityTxt": "none",
          "checked": "2026-10-01",
          "notes": [
            "The API terms (updated 2026-04-28) name AccuWeather Intl., LLC under Pennsylvania law. The privacy policy (updated 2025-10-31) names AccuWeather, Inc., 385 Science Park Road, State College, PA 16803, as controller.",
            "security.txt returns 404 on both developer.accuweather.com and www.accuweather.com.",
            "status.accuweather.com lists Enterprise API and Developer Portal API components.",
            "The portal has no release notes or changelog, and the terms reserve the right to change the APIs without notice.",
            "The old developer portal's free tier was retired at the relaunch, and existing trial accounts had to sign up again."
          ],
          "score": 80
        },
        "dataQuality": {
          "coverage": "Global, by AccuWeather location key",
          "coverageRating": 4,
          "freshness": "Not stated as a cadence. Responses carry an Expires header the docs say to refresh on",
          "freshnessClass": "hourly",
          "history": "Past 24 hours of conditions",
          "historyYears": 0.003,
          "methodology": "",
          "sourcesDisclosed": false,
          "licence": "Proprietary. Two-week cache, no redistribution, no AI training, logo attribution",
          "licenceClass": "clear",
          "standing": "",
          "standingClass": "none",
          "reuse": "The terms allow caching for up to two weeks to improve the user experience and forbid storing the data for any other purpose, reselling or redistributing it, or using it to train, validate or inform an AI or ML model.",
          "score": 39,
          "checks": null
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/accuweather-api.json",
        "live": {
          "slug": "accuweather-api",
          "probe": {
            "target": "https://dataservice.accuweather.com",
            "method": "get",
            "lastAt": "2026-10-05T00:15:18.722505071Z",
            "lastOk": true,
            "lastStatus": 404,
            "lastMs": 35,
            "authRequired": false,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 37,
            "p95ms24h": 89,
            "samples24h": 272,
            "samples30d": 903,
            "days": [
              {
                "date": "2026-10-01",
                "probes": 109,
                "ok": 109
              },
              {
                "date": "2026-10-02",
                "probes": 248,
                "ok": 248
              },
              {
                "date": "2026-10-03",
                "probes": 271,
                "ok": 271
              },
              {
                "date": "2026-10-04",
                "probes": 272,
                "ok": 272
              },
              {
                "date": "2026-10-05",
                "probes": 3,
                "ok": 3
              }
            ]
          },
          "vendorStatus": {
            "page": "https://status.accuweather.com",
            "indicator": "none",
            "summary": "All Systems Operational",
            "checkedAt": "2026-10-05T00:11:10.879968569Z"
          },
          "securityTxt": {
            "url": "https://accuweather.com/.well-known/security.txt",
            "state": "unknown",
            "checkedAt": "2026-10-04T15:15:37.910930882Z"
          },
          "llmsTxt": {
            "url": "https://developer.accuweather.com/llms.txt",
            "ok": true,
            "status": 200,
            "checkedAt": "2026-10-04T15:17:12.683997664Z"
          },
          "domain": {
            "domain": "accuweather.com",
            "registered": "1995-10-27",
            "source": "https://rdap.verisign.com/com/v1/domain/accuweather.com",
            "checkedAt": "2026-10-04T13:10:45.927087024Z"
          },
          "pages": [
            {
              "url": "https://www.accuweather.com/en/privacy",
              "kind": "privacy",
              "status": 403,
              "checkedAt": "2026-10-04T15:48:56.483628112Z",
              "changedAt": "0001-01-01T00:00:00Z"
            },
            {
              "url": "https://developer.accuweather.com/documentation/terms-of-use",
              "kind": "terms",
              "status": 304,
              "checkedAt": "2026-10-04T15:42:27.752900841Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "d23f608f9840"
            }
          ],
          "updatedAt": "2026-10-05T00:15:18.722505071Z"
        }
      },
      {
        "slug": "met-office-datahub",
        "name": "Met Office Weather DataHub (Site Specific)",
        "vendor": "Met Office",
        "vendorUrl": "https://datahub.metoffice.gov.uk",
        "kind": "http-api",
        "category": "weather",
        "summary": "The UK national weather service's point forecast API.",
        "url": "https://www.anchorterminal.com/tools/met-office-datahub",
        "markdownUrl": "https://www.anchorterminal.com/tools/met-office-datahub.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/met-office-datahub.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/met-office-datahub.json",
        "repo": "https://github.com/MetOffice/weather_datahub_utilities",
        "license": "BSD-3-Clause (utilities)",
        "transports": [
          "http"
        ],
        "remoteUrl": "https://data.hub.api.metoffice.gov.uk/sitespecific/v0/point",
        "packages": [],
        "auth": "api-key",
        "authNotes": "An apikey request header, issued per application after you register on the hub and subscribe a plan to the product. The Met Office's own download scripts show the header and the latitude and longitude query parameters.",
        "pricing": "freemium",
        "pricingNotes": "All prices in GBP, excluding VAT. Global Spot is free at 360 calls a day, then £9 a month for 900 a day, £32 for 3,600, £146 for 18,000, £250 for 36,000 and £437 for 72,000. The blended probabilistic forecast is free at 55 calls a day for one site, then £9 for 550 a day, £58 for 4,000, £198 for 14,000, £776 for 55,000, £3,806 for 270,000 and £10,429 for 740,000. Enterprise plans are invoiced (https://datahub.metoffice.gov.uk/pricing/site-specific). Daily limits reset at 00:00 UTC.",
        "priceSummary": "Freemium",
        "where": "hosted",
        "x402": {
          "level": "no",
          "endpoints": []
        },
        "toolCount": null,
        "popularity": {
          "githubStars": null,
          "npmWeekly": null,
          "pypiWeekly": null,
          "asOf": "2026-09-30"
        },
        "docsUrl": "https://datahub.metoffice.gov.uk/docs/f/category/site-specific/overview",
        "capabilities": [
          "weather.current",
          "weather.forecast",
          "weather.alerts",
          "data.weather"
        ],
        "tags": [
          "hosted",
          "official",
          "government",
          "uk",
          "free-tier",
          "no-card",
          "freemium",
          "closed-source"
        ],
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 45.5,
          "grade": "E",
          "agentReady": false,
          "rank": 399,
          "ranked": true,
          "rankOf": 452,
          "categoryRank": 8,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 53,
            "maintenance": 15,
            "payments": 30,
            "reliability": 48,
            "schema": 32,
            "security": 66,
            "transparency": 63
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-10-01"
          },
          "negative": 0,
          "verdict": "Statutory UK weather service, with a FAQ licence to copy, publish and adapt the data. No OpenAPI, llms.txt, SDK or MCP server.",
          "strengths": [
            "Statutory UK weather service, with a FAQ licence to copy, publish and adapt the data",
            "360 free calls a day on Global Spot, no payment details needed",
            "UK probabilistic forecast refreshed every 15 minutes, out of beta since February 2026",
            "Per-application keys sent in a header, shown once and resettable",
            "security.txt on metoffice.gov.uk with a HackerOne reporting route"
          ],
          "weaknesses": [
            "No OpenAPI, llms.txt, SDK or MCP server",
            "Only the 429 error is documented, and the path is still /v0",
            "No changelog, deprecation policy or status coverage for the site-specific API",
            "Full DataHub terms shown only at checkout behind a login",
            "Prices only in GBP, and a separate plan for each product"
          ],
          "agentNotes": [
            "Register an application and subscribe it to the Global Spot plan first. The key is tied to that order and shown once",
            "Send the key in the apikey header with Accept: application/json, and latitude and longitude as query parameters",
            "Add excludeParameterMetadata=true to drop the parameter descriptions from every response",
            "Pick the timestep by need. hourly covers 48 hours, three-hourly 168, daily 7 days, and each call counts against the daily limit",
            "Stop on a 429. The limit is daily and resets at 00:00 UTC"
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 2,
          "avgRating": 3,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "E",
              "methodology": "0.3",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 45.5
            }
          ],
          "editorialScores": {
            "ergonomics": 53,
            "maintenance": 15,
            "payments": 30,
            "reliability": 48,
            "schema": 32,
            "security": 66,
            "transparency": 36
          },
          "provenanceScore": 90,
          "dataQualityScore": 74
        },
        "connect": {
          "http": "curl -H \"apikey: $METOFFICE_API_KEY\" -H \"Accept: application/json\" \"https://data.hub.api.metoffice.gov.uk/sitespecific/v0/point/hourly?latitude=51.51\u0026longitude=-0.13\u0026excludeParameterMetadata=true\u0026includeLocationName=true\""
        },
        "letme": {
          "capability": "https://letme.dev/weather.current",
          "tool": "https://letme.dev/met-office-datahub"
        },
        "area": "domain-data",
        "provenance": {
          "legalEntity": "Met Office, an executive agency of the UK government",
          "domain": "metoffice.gov.uk",
          "domainRegistered": "",
          "domainNote": ".gov.uk has no public RDAP, and a government domain scores in full on age.",
          "official": true,
          "endpointOnVendorDomain": true,
          "terms": "https://www.metoffice.gov.uk/about-us/legal",
          "privacy": "https://www.metoffice.gov.uk/about-us/legal/privacy",
          "statusPage": "https://datahub.metoffice.gov.uk/support/service-status",
          "changelog": "",
          "securityTxt": "valid",
          "checked": "2026-10-01",
          "notes": [
            "The DataHub-specific terms and conditions are presented when you confirm an order and the /terms path redirects to the login, so the licence summary here is from the hub's FAQ.",
            "metoffice.gov.uk/.well-known/security.txt points at a HackerOne form and expires 2031-07-01, per the 30 September check.",
            "The hub's service status page is marked beta and shows data availability for atmospheric model feeds only, not the site-specific API, with no history.",
            "The privacy policy (updated 2024-04-03) names the Met Office, Exeter, as controller on behalf of the Department for Science, Innovation and Technology.",
            "Support and enterprise pricing go through dpt@metoffice.gov.uk."
          ],
          "score": 90
        },
        "dataQuality": {
          "coverage": "Global point forecasts, over 5,000 Global Spot sites, 7,000 UK and 5,500 other probabilistic sites, from the 10 km global and 2 km UK models",
          "coverageRating": 4,
          "freshness": "Global Spot hourly. Probabilistic forecast every 15 minutes in the UK domain and four times a day globally",
          "freshnessClass": "hourly",
          "history": "None in the site-specific product. Land Observations gives recent UK station data",
          "historyYears": 0,
          "methodology": "https://datahub.metoffice.gov.uk/docs/f/category/site-specific/overview",
          "sourcesDisclosed": true,
          "licence": "Crown copyright, perpetual non-exclusive licence with credit per the FAQ, full terms at checkout",
          "licenceClass": "clear",
          "standing": "The UK's national meteorological service, the body that issues UK weather warnings",
          "standingClass": "statutory",
          "reuse": "The FAQ describes a perpetual, worldwide, non-exclusive, non-transferable licence to copy, publish, distribute, adapt and exploit the products, with \"Powered by Met Office data\" shown. The full order terms may add conditions, so read them at checkout.",
          "score": 74,
          "checks": null
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/met-office-datahub.json",
        "live": {
          "slug": "met-office-datahub",
          "probe": {
            "target": "https://data.hub.api.metoffice.gov.uk/sitespecific/v0/point",
            "method": "get",
            "lastAt": "2026-10-05T00:15:26.433888193Z",
            "lastOk": true,
            "lastStatus": 404,
            "lastMs": 23,
            "authRequired": false,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 28,
            "p95ms24h": 72,
            "samples24h": 272,
            "samples30d": 903,
            "days": [
              {
                "date": "2026-10-01",
                "probes": 109,
                "ok": 109
              },
              {
                "date": "2026-10-02",
                "probes": 248,
                "ok": 248
              },
              {
                "date": "2026-10-03",
                "probes": 271,
                "ok": 271
              },
              {
                "date": "2026-10-04",
                "probes": 272,
                "ok": 272
              },
              {
                "date": "2026-10-05",
                "probes": 3,
                "ok": 3
              }
            ]
          },
          "vendorStatus": {
            "page": "https://datahub.metoffice.gov.uk/support/service-status",
            "indicator": "unknown",
            "summary": "no machine-readable status found",
            "checkedAt": "2026-10-04T21:40:14.847427951Z"
          },
          "githubStars": 27,
          "securityTxt": {
            "url": "https://metoffice.gov.uk/.well-known/security.txt",
            "state": "valid",
            "expires": "2031-07-01T00:00:00Z",
            "checkedAt": "2026-10-04T15:15:38.601847011Z"
          },
          "pages": [
            {
              "url": "https://datahub.metoffice.gov.uk/pricing/site-specific",
              "kind": "pricing",
              "status": 200,
              "checkedAt": "2026-10-04T15:42:20.664638752Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "2dd0683b1c56"
            },
            {
              "url": "https://www.metoffice.gov.uk/about-us/legal/privacy",
              "kind": "privacy",
              "status": 200,
              "checkedAt": "2026-10-04T15:51:22.415982754Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "fd0f26f2a557"
            },
            {
              "url": "https://www.metoffice.gov.uk/about-us/legal",
              "kind": "terms",
              "status": 200,
              "checkedAt": "2026-10-04T15:51:20.17195416Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "a85435e9c79e"
            }
          ],
          "updatedAt": "2026-10-05T00:15:26.433888193Z"
        }
      }
    ]
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/categories/weather",
    "json": "https://www.anchorterminal.com/categories/weather.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/categories/weather.md",
    "slim": "https://www.anchorterminal.com/categories/weather.min.md"
  },
  "markdown": "APIs for current weather, forecasts, historical data and alerts, by coordinates. Compared on forecast range, historical depth, how often data updates, the terms of use and price per thousand calls.\n\n- Tools ranked: 9 · agent-ready (BB or better): 0 · accept x402: 0 · hosted endpoints: 9 · desk reviews by the panel: 18\n- JSON: https://www.anchorterminal.com/api/v1/tools.json (list) · https://www.anchorterminal.com/api/v1/rankings.json (ranked) · https://www.anchorterminal.com/api/v1/x402.json (payable) · https://www.anchorterminal.com/api/v1/capabilities.json (by capability)\n- Grades run AA, A, BB, B, C, D, E, F · methodology: https://www.anchorterminal.com/benchmark/\n\n- Capabilities in this category: weather.current, weather.forecast, weather.historical, weather.alerts, weather.marine\n- https://letme.dev/weather.current picks the top-graded tool in this list and says how to call it direct; calling through letme comes later (https://www.anchorterminal.com/letme/index.md)\n\n## Ranking\n\n| # | Tool | Vendor | Kind | Category | Grade | Score | Confidence | x402 | Auth | Where | Reviews | Page |\n| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |\n| 151 | Google Weather API (Maps Platform) | Google | HTTP API | Weather | B | 67 | high | no | API key | hosted | 3/5 (2) | https://www.anchorterminal.com/tools/google-weather-api.md |\n| 162 | Pirate Weather | Pirate Weather | HTTP API | Weather | B | 66.2 | medium | no | API key | hosted | 4/5 (2) | https://www.anchorterminal.com/tools/pirate-weather.md |\n| 169 | WeatherAPI.com | WeatherAPI.com (Zoomash Ltd) | HTTP API | Weather | B | 65.8 | medium | no | API key | hosted | 3.5/5 (2) | https://www.anchorterminal.com/tools/weatherapi-com.md |\n| 203 | Open-Meteo | Open-Meteo | HTTP API | Data | B | 63.5 | medium | no | None | hosted | 4/5 (2) | https://www.anchorterminal.com/tools/open-meteo.md |\n| 251 | Visual Crossing Weather API | Visual Crossing | HTTP API | Weather | C | 60.3 | medium | no | API key | hosted | 4/5 (2) | https://www.anchorterminal.com/tools/visual-crossing.md |\n| 294 | OpenWeather One Call API | OpenWeather | HTTP API | Weather | C | 57.4 | medium | no | API key | hosted | 3.5/5 (2) | https://www.anchorterminal.com/tools/openweather-one-call.md |\n| 364 | NOAA National Weather Service API (api.weather.gov) | National Weather Service | HTTP API | Weather | D | 49.9 | medium | no | None | hosted | 4.5/5 (2) | https://www.anchorterminal.com/tools/nws-api.md |\n| 372 | AccuWeather Core Weather API + MCP | AccuWeather | HTTP API | Weather | D | 48.8 | medium | no | API key | hosted | 2.5/5 (2) | https://www.anchorterminal.com/tools/accuweather-api.md |\n| 399 | Met Office Weather DataHub (Site Specific) | Met Office | HTTP API | Weather | E | 45.5 | medium | no | API key | hosted | 3/5 (2) | https://www.anchorterminal.com/tools/met-office-datahub.md |\n\nScores are from public evidence against the published checklist (https://www.anchorterminal.com/benchmark/), with Performance and Task success pending. p95 latency and context cost come from our probes, which haven't run yet.\n\n## Summaries\n\n### 151. Google Weather API (Maps Platform), B (67)\n\nGoogle Maps Platform's API for weather data. Covered by the Maps Platform SLA, 99.9 per cent with service credits. History is 24 hours only, and bulk data isn't available.\n\n- Page: https://www.anchorterminal.com/tools/google-weather-api · Markdown: https://www.anchorterminal.com/tools/google-weather-api.md · JSON: https://www.anchorterminal.com/api/v1/tools/google-weather-api.json\n- Capabilities: weather.current, weather.forecast, weather.historical, weather.alerts, data.weather · endpoint: `https://weather.googleapis.com/v1`\n\n### 162. Pirate Weather, B (66.2)\n\nOpen-source weather API with Dark Sky-compatible responses, forecasts, alerts and historical data from public weather models. Named model sources and a documented priority order for every field. No SLA, and the terms call it best effort.\n\n- Page: https://www.anchorterminal.com/tools/pirate-weather · Markdown: https://www.anchorterminal.com/tools/pirate-weather.md · JSON: https://www.anchorterminal.com/api/v1/tools/pirate-weather.json\n- Capabilities: weather.current, weather.forecast, weather.historical, weather.alerts, data.weather · endpoint: `https://api.pirateweather.net/forecast`\n\n### 169. WeatherAPI.com, B (65.8)\n\nWeather API for current conditions, forecasts, history, marine data, alerts and air quality, queried by location. 3 million calls for $7 a month, and 100,000 a month free with no card. Key only in the query string, and no security.txt.\n\n- Page: https://www.anchorterminal.com/tools/weatherapi-com · Markdown: https://www.anchorterminal.com/tools/weatherapi-com.md · JSON: https://www.anchorterminal.com/api/v1/tools/weatherapi-com.json\n- Capabilities: weather.current, weather.forecast, weather.historical, weather.alerts, weather.marine, data.weather · endpoint: `https://api.weatherapi.com/v1`\n\n### 203. Open-Meteo, B (63.5)\n\nOpen-source weather API over 30+ national and global weather models, with forecasts, historical reanalysis back to 1940 and no key for non-commercial use. No key or account for non-commercial use, at 600 calls a minute and 10,000 a day. Commercial prices appear only at Stripe checkout.\n\n- Page: https://www.anchorterminal.com/tools/open-meteo · Markdown: https://www.anchorterminal.com/tools/open-meteo.md · JSON: https://www.anchorterminal.com/api/v1/tools/open-meteo.json\n- Capabilities: data.weather · endpoint: `https://api.open-meteo.com/v1/forecast`\n\n### 251. Visual Crossing Weather API, C (60.3)\n\nWeather API for historical conditions, forecasts and climate data by location and date range. History from 1970, current conditions and a 15-day forecast from one endpoint. Key only in the query string on the REST API.\n\n- Page: https://www.anchorterminal.com/tools/visual-crossing · Markdown: https://www.anchorterminal.com/tools/visual-crossing.md · JSON: https://www.anchorterminal.com/api/v1/tools/visual-crossing.json\n- Capabilities: weather.current, weather.forecast, weather.historical, weather.alerts, data.weather · endpoint: `https://weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline`\n\n### 294. OpenWeather One Call API, C (57.4)\n\nCurrent weather, minute, hourly and daily forecasts, government alerts and history back to 1979 in one call, billed per call with 1,000 free a day. 1,000 free calls a day, then $0.0015 a call, or $0.001 on the agent lane. The main API takes the key only as the appid query parameter.\n\n- Page: https://www.anchorterminal.com/tools/openweather-one-call · Markdown: https://www.anchorterminal.com/tools/openweather-one-call.md · JSON: https://www.anchorterminal.com/api/v1/tools/openweather-one-call.json\n- Capabilities: weather.current, weather.forecast, weather.historical, weather.alerts, data.weather · endpoint: `https://api.openweathermap.org/data/3.0/onecall`\n\n### 364. NOAA National Weather Service API (api.weather.gov), D (49.9)\n\nThe US government's own forecast, alert and observation feed, free, keyless and public domain. Free, no key and no account, with public domain data. US and territories only.\n\n- Page: https://www.anchorterminal.com/tools/nws-api · Markdown: https://www.anchorterminal.com/tools/nws-api.md · JSON: https://www.anchorterminal.com/api/v1/tools/nws-api.json\n- Capabilities: weather.current, weather.forecast, weather.alerts, data.weather · endpoint: `https://api.weather.gov`\n\n### 372. AccuWeather Core Weather API + MCP, D (48.8)\n\nWeather API for current conditions, forecasts, alerts and radar imagery, with an official read-only MCP server. Official hosted MCP server, 26 read-only tools, same key as the REST API. Terms forbid using the data to train, validate or otherwise inform any AI system.\n\n- Page: https://www.anchorterminal.com/tools/accuweather-api · Markdown: https://www.anchorterminal.com/tools/accuweather-api.md · JSON: https://www.anchorterminal.com/api/v1/tools/accuweather-api.json\n- Capabilities: weather.current, weather.forecast, weather.alerts, data.weather · endpoint: `https://dataservice.accuweather.com`\n\n### 399. Met Office Weather DataHub (Site Specific), E (45.5)\n\nThe UK national weather service's point forecast API. Statutory UK weather service, with a FAQ licence to copy, publish and adapt the data. No OpenAPI, llms.txt, SDK or MCP server.\n\n- Page: https://www.anchorterminal.com/tools/met-office-datahub · Markdown: https://www.anchorterminal.com/tools/met-office-datahub.md · JSON: https://www.anchorterminal.com/api/v1/tools/met-office-datahub.json\n- Capabilities: weather.current, weather.forecast, weather.alerts, data.weather · endpoint: `https://data.hub.api.metoffice.gov.uk/sitespecific/v0/point`\n\n## How we test this category\n\nThe same locations queried for current conditions, a 10-day forecast and a year of history. We check what each returns, how often it updates, the licence terms and the cost per thousand calls. This test hasn't run yet, so Task success is pending and the grades here come from the categories assessed from public evidence.\n\n## Indexed, not reviewed (15)\n\nSorted into this category from public catalogues, with facts and our own checks but no score, grade or rank (https://www.anchorterminal.com/indexed/index.md).\n\n| Listing | Kind | What it does | Why it's here |\n| --- | --- | --- | --- |\n| [aboard](https://www.anchorterminal.com/tools/untype-aboard.md) | MCP server | Falsifiable claims about systemic problems: causal graph, forecasts, dossiers. | vendor's own |\n| [APIVerve](https://www.anchorterminal.com/tools/apiverve-mcp-server.md) | MCP server | 350+ production-ready APIs through one MCP server — weather, geocoding, validation, financial data. | vendor's own |\n| [au-weather-mcp](https://www.anchorterminal.com/tools/ausdata-au-weather-mcp.md) | MCP server | Query Australian weather + air quality — forecasts, current obs, 80yr archive (BOM). | vendor's own |\n| [Clarigrid](https://www.anchorterminal.com/tools/clarigrid.md) | MCP server | Read-only electricity, gas, and weather data with structured provenance and units. | vendor's own |\n| [Crosby, TX Weather](https://www.anchorterminal.com/tools/crosbynews-weather.md) | MCP server | Crosby, TX weather, air quality, tropics, floods, fishing, pollen, burn bans, radar, news \u0026 schools. | vendor's own |\n| [GoldBean MCP Server](https://www.anchorterminal.com/tools/goldbean-api-goldbean-mcp.md) | MCP server | 49 pay-per-use APIs for AI agents via x402. AI, crypto, DeFi, blockchain, weather, search, security. | vendor's own |\n| [lp-copilot](https://www.anchorterminal.com/tools/theaslangroupllc-lp-copilot.md) | MCP server | LP copilot: free position enumeration on 7 chains + paid range backtests, IL forecasts, points EV | vendor's own |\n| [Macroaxis Financial Data](https://www.anchorterminal.com/tools/macroaxis-api.md) | MCP server | Financial market, fundamental, valuation, risk, ownership, forecast, and portfolio tools. | vendor's own |\n| [mu](https://www.anchorterminal.com/tools/micro-mu.md) | MCP server | News, web search, mail, markets, weather, places, files, calendar, contacts. 67 tools, one endpoint. | vendor's own, widely used |\n| [Nausika](https://www.anchorterminal.com/tools/nausika-mcp.md) | MCP server | Mediterranean marine, nautical, sailing: forecasts, tides, sea routes, anchorages, POIs for AI. | vendor's own |\n| [ParseAPI](https://www.anchorterminal.com/tools/parseapi-mcp.md) | MCP server | Official ParseAPI MCP. Place, IP, email, phone, weather, currency lookups. | vendor's own |\n| [plantrip](https://www.anchorterminal.com/tools/plantrip.md) | MCP server | Travel planning: day-by-day itineraries, packing lists, weather insights, and trip cost estimates | vendor's own |\n| [RoboSystems](https://www.anchorterminal.com/tools/robosystems.md) | MCP server | Accounting knowledge graphs: SEC XBRL filings, QuickBooks ledgers, reports and forecasts over MCP. | vendor's own |\n| [SnowSure — Snow \u0026 Ski](https://www.anchorterminal.com/tools/snowsure-snow.md) | MCP server | Live ski snow, multi-model forecasts, powder rankings \u0026 a grounded Answer Engine for 500+ resorts. | vendor's own |\n| [store](https://www.anchorterminal.com/tools/yaktool-store.md) | MCP server | Forecast a WooCommerce CSV import and migrate Shopify exports. 61 documented rules. | vendor's own |\n\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Terminal",
        "url": "https://www.anchorterminal.com/tools/"
      },
      {
        "name": "Weather \u0026 climate data",
        "url": ""
      }
    ],
    "description": "9 weather \u0026 climate data listings ranked by the Anchor benchmark. Leader Google Weather API (Maps Platform) (B). APIs for current weather, forecasts, historical data and alerts, by coordinates. Compared on forecast range, historical depth, how often data updates, the terms of use and price per thousand calls.",
    "facts": [
      "Google Weather API (Maps Platform) B",
      "Pirate Weather B",
      "WeatherAPI.com B"
    ],
    "h1": "Weather and climate data APIs for AI agents",
    "image": "https://www.anchorterminal.com/assets/og/categories-weather.png",
    "path": "/categories/weather",
    "published": "",
    "section": "tools",
    "title": "Weather and climate data APIs for AI agents, ranked | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/categories/weather"
  },
  "tokens": {
    "markdown": 3250,
    "slim": 530
  },
  "version": 1
}
