{
  "data": {
    "a": {
      "slug": "stormglass",
      "name": "Stormglass API",
      "vendor": "Storm Glass AB",
      "vendorUrl": "https://stormglass.io",
      "kind": "http-api",
      "category": "weather",
      "summary": "Weather and marine data API from Storm Glass AB of Sweden. It returns hourly forecasts, ERA5 history from 2014, tides, solar, soil and ocean parameters by coordinates, per source or blended, over HTTPS with an API key.",
      "url": "https://www.anchorterminal.com/tools/stormglass",
      "markdownUrl": "https://www.anchorterminal.com/tools/stormglass.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/stormglass.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/stormglass.json",
      "license": "Proprietary service under Storm Glass AB's Terms and Conditions. The Free and Small plans are not for commercial use",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.stormglass.io/v2",
      "packages": [],
      "auth": "api-key",
      "authNotes": "Self-serve key from a browser signup at dashboard.stormglass.io. The key goes in the `Authorization` header with no prefix. No scopes, and no key rotation or second key is described in the docs.",
      "pricing": "freemium",
      "pricingNotes": "Free plan at 10 requests a day for non-commercial evaluation. Paid plans are monthly subscriptions in euros with daily quotas and no overage price, Small 19, Medium 49 and Large 129 euros a month, and commercial use needs Medium or higher. Prices are in euros only, so unitPrices is empty (https://stormglass.io/pricing/, checked 2026-10-09).",
      "priceSummary": "Freemium",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API docs, the pricing page or the FAQ. The API uses HTTP 402 to mean a spent daily quota, with no payment protocol behind it (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://docs.stormglass.io/",
      "capabilities": [
        "weather.forecast",
        "weather.marine",
        "weather.historical",
        "data.weather"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "closed-source",
        "eu"
      ],
      "lastRelease": "2026-02-26",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 39.9,
        "grade": "E",
        "agentReady": false,
        "rank": 914,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 15,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 65,
          "maintenance": 15,
          "payments": 25,
          "reliability": 34,
          "schema": 40,
          "security": 44,
          "transparency": 45
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": 0,
        "verdict": "A read-only weather and marine API with about 70 hourly parameters, per-source values from named national models, tide data and ERA5 history from 2014. No OpenAPI file, status page, SDK or security page was found, the free plan allows 10 requests a day, and the docs and FAQ disagree on the status code for a spent quota.",
        "bestFor": "Marine and coastal applications that want waves, swell, currents and tides beside ordinary weather, and callers who want to compare named models in one response.",
        "strengths": [
          "One request returns the same parameter from each named source (ECMWF, NOAA, DWD, Met Office, MET Norway and others), or one blended value with `source=sg`",
          "Marine coverage in the same API, with waves, swell, currents, sea ice, water temperature, tide extremes, sea level against seven datums and bathymetry",
          "`params` and `source` limit each response to the fields asked for, and every response carries `dailyQuota` and `requestCount` in `meta`",
          "The key travels in the `Authorization` header, and every documented endpoint is a GET",
          "Plan prices and daily quotas are public without a login, from 0 to 129 euros a month"
        ],
        "weaknesses": [
          "No OpenAPI file, llms.txt, official SDK or changelog was found. The docs are eleven Markdown pages",
          "No status page, SLA, security.txt, disclosure policy, certification or DPA was found, and the terms disclaim uninterrupted service",
          "Free plan is 10 requests a day, non-commercial, and the terms call it an evaluation plan not meant for indefinite use",
          "The docs give 402 for a spent daily quota and the FAQ says Too Many Requests. No Retry-After or per-second limit is documented",
          "The privacy text is a few paragraphs inside the terms, with no retention period or hosting location, and the terms allow changes to the service without notice"
        ],
        "agentNotes": [
          "Send the key as `Authorization: KEY` with no Bearer prefix. A missing or wrong key returns 403 with `{\"errors\":{\"key\":\"API key is invalid\"}}`",
          "Always pass `source=sg` or a short source list on `/weather/point`. The default is every source, which multiplies the size of each hourly record",
          "Treat 402 as a spent daily quota, not a billing failure, and stop until the next day. Read `meta.requestCount` against `meta.dailyQuota` on each response",
          "Use `/historical/point` for past dates, at most 10 days a call and nothing newer than about 7 days. `/weather/point` looks back 14 days only",
          "Send and read all times in UTC. Tide sea levels are relative to the chosen datum (MSL by default) and are not water depth"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 39.9
          }
        ],
        "editorialScores": {
          "ergonomics": 65,
          "maintenance": 15,
          "payments": 25,
          "reliability": 34,
          "schema": 40,
          "security": 44,
          "transparency": 22
        },
        "provenanceScore": 68
      },
      "connect": {
        "http": "curl -H \"Authorization: API_KEY\" \"https://api.stormglass.io/v2/weather/point?lat=58.7984\u0026lng=17.8081\u0026params=waveHeight,airTemperature\u0026source=sg\""
      },
      "letme": {
        "capability": "https://letme.dev/weather.forecast",
        "tool": "https://letme.dev/stormglass"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "Storm Glass AB",
        "domain": "stormglass.io",
        "domainRegistered": "2018-01-30",
        "endpointOnVendorDomain": true,
        "terms": "https://stormglass.io/terms-and-conditions/",
        "privacy": "https://stormglass.io/terms-and-conditions/",
        "statusPage": "",
        "changelog": "https://stormglass.io/blog/",
        "securityTxt": "none",
        "checked": "2026-10-09",
        "notes": [
          "One page, dated 17 March 2026, holds the Terms and Conditions and the Privacy Policy. It says it applies to all stormglass.io Services provided by Storm Glass AB, under Swedish law with arbitration in Stockholm. No postal address or company number is on it.",
          "The privacy text is a section of that page and names HubSpot. No DPA or separate privacy policy was found.",
          "stormglass.io/.well-known/security.txt returns 404.",
          "No status page is linked from the site, the docs or the terms.",
          "No changelog was found. The blog announces new data sources, the latest on 26 February 2026 (ERA5) and 13 February 2026 (NOAA AIGFS).",
          "RDAP for stormglass.io gives a registration date of 2018-01-30."
        ],
        "score": 68
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/stormglass.json",
      "live": {
        "slug": "stormglass",
        "probe": {
          "target": "https://api.stormglass.io/v2",
          "method": "get",
          "lastAt": "2026-10-10T03:53:45.527022195Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 89,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 92,
          "p95ms24h": 178,
          "samples24h": 125,
          "samples30d": 125,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 40,
              "ok": 40
            }
          ]
        },
        "pages": [
          {
            "url": "https://stormglass.io/blog/",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-09T18:46:02.001753939Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "5a37464aafd0"
          },
          {
            "url": "https://stormglass.io/pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-09T18:46:04.76357096Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "f271b3b3e8f6"
          },
          {
            "url": "https://stormglass.io/terms-and-conditions/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-09T18:46:06.564080089Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "b9087482d5aa"
          }
        ],
        "updatedAt": "2026-10-10T03:53:45.527022195Z"
      }
    },
    "answer": "Xweather Weather API scores 67.1 (B) on agent readiness against Stormglass API's 39.9 (E), and leads in every scored category.",
    "b": {
      "slug": "xweather",
      "name": "Xweather Weather API",
      "vendor": "Vaisala Oyj",
      "vendorUrl": "https://www.xweather.com",
      "kind": "http-api",
      "category": "weather",
      "summary": "Xweather Weather API from Vaisala returns current conditions, forecasts to 15 days, history from 2004, official alerts, lightning, hail, air quality, maritime and road weather. Agents reach it as a REST API or a hosted MCP server.",
      "url": "https://www.anchorterminal.com/tools/xweather",
      "markdownUrl": "https://www.anchorterminal.com/tools/xweather.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/xweather.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/xweather.json",
      "repo": "https://github.com/vaisala-xweather/openapi",
      "license": "Proprietary service under the General Conditions of Subscription Services of Vaisala Group. The OpenAPI files and the agent skills on GitHub are MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://data.api.xweather.com",
      "packages": [
        {
          "registry": "npm",
          "name": "@aerisweather/javascript-sdk"
        }
      ],
      "auth": "mixed",
      "authNotes": "A person signs up in a browser, registers an app in the account portal and receives a `client_id` and `client_secret` tied to a domain or app bundle namespace. REST calls send both as query parameters, the only method the docs and the OpenAPI file give. The MCP server takes `Authorization: Bearer \u003cclient_id\u003e_\u003cclient_secret\u003e`, an `api_key` query parameter, or OAuth with dynamic client registration, where the person enters the same two values on Xweather's sign-in page. Keys are regenerated in the dashboard.",
      "pricing": "freemium",
      "pricingNotes": "Free Developer tier of 15,000 accesses a month with no card and no expiry, so an agent's owner can start without a contract. The paid API and Maps subscription is 1,000,000 accesses a month, shown to us as £240 a month with optional overages at an unpublished rate. Enterprise is by quote. One request can cost 1 to 25 accesses or more. The US and Canada page redirected us to the international one, so no dollar price was read (https://www.xweather.com/pricing/weather-api-subscription, checked 2026-10-08).",
      "priceSummary": "Freemium",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the OpenAPI file or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 19,
      "popularity": {
        "githubStars": 0,
        "npmWeekly": 1403,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://www.xweather.com/docs/weather-api",
      "llmsTxt": "https://www.xweather.com/llms.txt",
      "openapi": "https://vaisala-xweather.github.io/openapi/weather-api-3.1.yaml",
      "registryName": "com.xweather/weather",
      "capabilities": [
        "weather.current",
        "weather.forecast",
        "weather.historical",
        "weather.alerts",
        "weather.marine",
        "data.weather"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "closed-source",
        "openapi",
        "llms-txt",
        "mcp",
        "mcp-registry",
        "oauth",
        "agent-skills",
        "webhooks",
        "status-page",
        "lightning",
        "finland"
      ],
      "lastRelease": "2026-09-14",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 67.1,
        "grade": "B",
        "agentReady": false,
        "rank": 265,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 1,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 78,
          "maintenance": 81,
          "payments": 32,
          "reliability": 74,
          "schema": 83,
          "security": 52,
          "transparency": 68
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "A public OpenAPI file with 236 operations, a hosted MCP server in the official registry and a free tier of 15,000 accesses a month suit agents. REST credentials travel only in the query string, per-minute limits are unpublished, and the group terms bar commercial use of free plans and passing data to third parties unless a service description allows it.",
        "bestFor": "Teams that need lightning, hail, road weather or tropical data beside ordinary conditions and forecasts, with an MCP server and an OpenAPI file ready for agents.",
        "strengths": [
          "OpenAPI 3.2 and 3.1 files under MIT, published 30 September 2026, with 213 paths, 236 operations and 401, 404, 429 and 500 responses on each",
          "Hosted MCP server at `https://mcp.api.xweather.com/mcp` with 19 documented tools, tag and tool filters, and an active entry in the official MCP registry",
          "Free Developer tier of 15,000 accesses a month with no card and no expiry, per the pricing page",
          "Every 2xx response carries `X-Cost-Tokens` and `X-RateLimit-*` headers, and 4xx and 5xx responses are not charged",
          "Dated changelogs for the API (1.43.5 on 14 September 2026) and the MCP server (1.2.2 on 22 June 2026)"
        ],
        "weaknesses": [
          "The REST API documents `client_id` and `client_secret` only as query parameters, and the MCP server also accepts the key as `?api_key=`",
          "Per-minute rate limits are not published. The docs refer callers to response headers, support or an account executive",
          "The group subscription terms prohibit commercial use of freemium plans and bar making data available to third parties unless a service description allows it",
          "One access is not one request. `/impacts` costs 25 accesses, `/lightning` 10 and air quality 5, multiplied by the time intervals requested",
          "No overage price or US dollar price was readable. The pricing page served us pounds, £240 a month for 1,000,000 accesses",
          "The privacy policy is Vaisala's group policy effective 1 June 2020, with no retention period stated and no DPA found"
        ],
        "agentNotes": [
          "Check `success` and `error.code` on every response. Application errors such as `invalid_location` return HTTP 200 with `success` false",
          "Send `fields`, `limit` and `plimit`. The docs put a 15-day hourly forecast at about 600 KB, and about 25 KB with three fields",
          "Read `X-Cost-Tokens` after each call. Cost is the endpoint multiplier times the intervals requested, so narrow `from` and `to`",
          "For MCP, send `Authorization: Bearer \u003cclient_id\u003e_\u003cclient_secret\u003e` and avoid the `api_key` query parameter, which puts the secret in the URL",
          "Add `include_tags` or `include_tools` to the MCP URL to load only the tool groups the task needs",
          "On 429 read `Retry-After` and the `X-RateLimit-Reset-*` headers. `maxhits_min` clears at the next minute, `maxhits` at the period reset"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 67.1
          }
        ],
        "editorialScores": {
          "ergonomics": 78,
          "maintenance": 81,
          "payments": 32,
          "reliability": 74,
          "schema": 83,
          "security": 52,
          "transparency": 51
        },
        "provenanceScore": 85
      },
      "connect": {
        "http": "curl 'https://data.api.xweather.com/places/98109?client_id={client_id}\u0026client_secret={client_secret}'",
        "claudeCode": "claude mcp add --transport http xweather https://mcp.api.xweather.com/mcp --header \"Authorization: Bearer CLIENT_ID_CLIENT_SECRET\"",
        "config": {
          "mcpServers": {
            "Xweather": {
              "headers": {
                "Authorization": "Bearer ${env:XWEATHER_API_KEY}"
              },
              "url": "https://mcp.api.xweather.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/weather.current",
        "tool": "https://letme.dev/xweather"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "Vaisala Oyj",
        "domain": "xweather.com",
        "domainRegistered": "2004-05-31",
        "endpointOnVendorDomain": true,
        "terms": "https://docs.vaisala.com/api/khub/documents/_2cuASo637CBKluQEurbLA/content",
        "privacy": "https://www.xweather.com/privacy",
        "statusPage": "https://status.xweather.com",
        "changelog": "https://www.xweather.com/docs/weather-api/changelog",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The terms are the General Conditions of Subscription Services of Vaisala Group, DOC250754-B, dated 1 January 2023, a nine-page PDF. www.xweather.com/terms and the legal page redirect to a script-drawn viewer on docs.vaisala.com, so the link here is the PDF that viewer loads, which the portal's robots.txt allows. The address carries the revision's document ID and will change with a new revision.",
          "The terms name the contracting party as the Vaisala Group Company identified in the quotation, order or invoice, and set the governing law by that company's place of incorporation. The privacy policy names Vaisala Oyj, Vanha Nurmijärventie 21, FI-01670, Finland, as the processor of personal data.",
          "The privacy policy at www.xweather.com/privacy is Vaisala's group policy (effective 2020-06-01, Ref. DOC229710-D). It covers online services supplied for a fee or as a free trial.",
          "The API answers at data.api.xweather.com, the MCP server at mcp.api.xweather.com and its authorisation server at oauth.api.xweather.com.",
          "www.xweather.com/.well-known/security.txt returns 404 and data.api.xweather.com answers 401 for it. The parent's www.vaisala.com/.well-known/security.txt exists, with security@vaisala.com and a policy link but no Expires field.",
          "RDAP gives a registration date of 2004-05-31 for xweather.com, with GoDaddy as registrar. The status page runs on Atlassian Statuspage, and status.aerisweather.com redirects to it."
        ],
        "score": 85
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/xweather.json",
      "live": {
        "slug": "xweather",
        "probe": {
          "target": "https://data.api.xweather.com",
          "method": "get",
          "lastAt": "2026-10-10T03:53:50.224633905Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 114,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 273,
          "p95ms24h": 338,
          "samples24h": 249,
          "samples30d": 340,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 50,
              "ok": 50
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 40,
              "ok": 40
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.xweather.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-10T03:58:52.552484664Z"
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "com.xweather/weather",
            "version": "1.2.2",
            "seenAt": "2026-10-10T03:11:32.438759038Z"
          },
          {
            "registry": "npm",
            "name": "@aerisweather/javascript-sdk",
            "version": "1.8.6",
            "seenAt": "2026-10-09T17:29:10.207341399Z"
          }
        ],
        "githubStars": 0,
        "npmWeekly": 1075,
        "securityTxt": {
          "url": "https://xweather.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-09T15:40:36.542478378Z"
        },
        "llmsTxt": {
          "url": "https://www.xweather.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-09T14:03:03.665927392Z"
        },
        "pages": [
          {
            "url": "https://www.xweather.com/docs/weather-api/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-09T18:55:55.108813497Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "cdba2cbdaff9"
          },
          {
            "url": "https://www.xweather.com/pricing/weather-api-subscription",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-09T18:55:57.431102289Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "b26ea48cfbe2"
          },
          {
            "url": "https://www.xweather.com/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-09T18:56:00.785464717Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "d3a583484442"
          },
          {
            "url": "https://docs.vaisala.com/api/khub/documents/_2cuASo637CBKluQEurbLA/content",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-09T18:38:39.07985387Z",
            "changedAt": "0001-01-01T00:00:00Z"
          }
        ],
        "updatedAt": "2026-10-10T03:58:52.552484664Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Storm Glass AB",
        "b": "Vaisala Oyj",
        "name": "Vendor"
      },
      {
        "a": "https://api.stormglass.io/v2",
        "b": "https://data.api.xweather.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Storm Glass AB's Terms and Conditions. The Free and Small plans are not for commercial use",
        "b": "Proprietary service under the General Conditions of Subscription Services of Vaisala Group. The OpenAPI files and the agent skills on GitHub are MIT",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "19",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "not listed",
        "b": "com.xweather/weather",
        "name": "MCP registry"
      },
      {
        "a": "2026-02-26",
        "b": "2026-09-14",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "2020-06-01",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "0 stars, 1.4k npm/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Xweather Weather API scores 67.1 (B) on agent readiness against Stormglass API's 39.9 (E), and leads in every scored category.",
        "question": "Which is better for AI agents, Stormglass API or Xweather Weather API?"
      },
      {
        "answer": "Stormglass API needs an API key. Xweather Weather API takes an API key or an OAuth sign-in.",
        "question": "Do Stormglass API and Xweather Weather API need an API key?"
      },
      {
        "answer": "Yes. Stormglass API has a hosted endpoint at https://api.stormglass.io/v2 and Xweather Weather API at https://data.api.xweather.com.",
        "question": "Can an agent call Stormglass API and Xweather Weather API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "Marine and coastal applications that want waves, swell, currents and tides beside ordinary weather, and callers who want to compare named models in one response.",
        "slug": "stormglass",
        "watchFor": "No OpenAPI file, llms.txt, official SDK or changelog was found. The docs are eleven Markdown pages"
      },
      {
        "aheadOn": [
          "Reliability, 74 against 34",
          "Schema \u0026 documentation, 83 against 40",
          "Agent ergonomics, 78 against 65",
          "Security \u0026 auth, 52 against 44",
          "Payments \u0026 pricing, 32 against 25",
          "Maintenance \u0026 community, 81 against 15",
          "Transparency \u0026 trust, 68 against 45"
        ],
        "also": null,
        "goodFor": "Teams that need lightning, hail, road weather or tropical data beside ordinary conditions and forecasts, with an MCP server and an OpenAPI file ready for agents.",
        "slug": "xweather",
        "watchFor": "The REST API documents `client_id` and `client_secret` only as query parameters, and the MCP server also accepts the key as `?api_key=`"
      }
    ],
    "job": {
      "capability": "weather.forecast",
      "name": "Weather forecasts"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/accuweather-api-vs-xweather.json",
        "title": "AccuWeather Core Weather API + MCP vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/accuweather-api-vs-xweather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-weather-api-vs-xweather.json",
        "title": "Google Weather API (Maps Platform) vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/google-weather-api-vs-xweather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/met-office-datahub-vs-xweather.json",
        "title": "Met Office Weather DataHub (Site Specific) vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/met-office-datahub-vs-xweather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteoblue-vs-xweather.json",
        "title": "meteoblue Weather API vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/meteoblue-vs-xweather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteomatics-vs-xweather.json",
        "title": "Meteomatics Weather API vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/meteomatics-vs-xweather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nws-api-vs-xweather.json",
        "title": "NOAA National Weather Service API (api.weather.gov) vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/nws-api-vs-xweather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openweather-one-call-vs-xweather.json",
        "title": "OpenWeather One Call API vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/openweather-one-call-vs-xweather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pirate-weather-vs-xweather.json",
        "title": "Pirate Weather vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/pirate-weather-vs-xweather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/tomorrow-io-vs-xweather.json",
        "title": "Tomorrow.io Weather API vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/tomorrow-io-vs-xweather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/visual-crossing-vs-xweather.json",
        "title": "Visual Crossing Weather API vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/visual-crossing-vs-xweather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/weather-company-vs-xweather.json",
        "title": "The Weather Company Data APIs vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/weather-company-vs-xweather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/weatherapi-com-vs-xweather.json",
        "title": "WeatherAPI.com vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/weatherapi-com-vs-xweather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/weatherbit-vs-xweather.json",
        "title": "Weatherbit API vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/weatherbit-vs-xweather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/open-meteo-vs-stormglass.json",
        "title": "Open-Meteo vs Stormglass API",
        "url": "https://www.anchorterminal.com/compare/open-meteo-vs-stormglass"
      },
      {
        "json": "https://www.anchorterminal.com/compare/open-meteo-vs-xweather.json",
        "title": "Open-Meteo vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/open-meteo-vs-xweather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/accuweather-api-vs-stormglass.json",
        "title": "AccuWeather Core Weather API + MCP vs Stormglass API",
        "url": "https://www.anchorterminal.com/compare/accuweather-api-vs-stormglass"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-weather-api-vs-stormglass.json",
        "title": "Google Weather API (Maps Platform) vs Stormglass API",
        "url": "https://www.anchorterminal.com/compare/google-weather-api-vs-stormglass"
      },
      {
        "json": "https://www.anchorterminal.com/compare/met-office-datahub-vs-stormglass.json",
        "title": "Met Office Weather DataHub (Site Specific) vs Stormglass API",
        "url": "https://www.anchorterminal.com/compare/met-office-datahub-vs-stormglass"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteoblue-vs-stormglass.json",
        "title": "meteoblue Weather API vs Stormglass API",
        "url": "https://www.anchorterminal.com/compare/meteoblue-vs-stormglass"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteomatics-vs-stormglass.json",
        "title": "Meteomatics Weather API vs Stormglass API",
        "url": "https://www.anchorterminal.com/compare/meteomatics-vs-stormglass"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nws-api-vs-stormglass.json",
        "title": "NOAA National Weather Service API (api.weather.gov) vs Stormglass API",
        "url": "https://www.anchorterminal.com/compare/nws-api-vs-stormglass"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openweather-one-call-vs-stormglass.json",
        "title": "OpenWeather One Call API vs Stormglass API",
        "url": "https://www.anchorterminal.com/compare/openweather-one-call-vs-stormglass"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pirate-weather-vs-stormglass.json",
        "title": "Pirate Weather vs Stormglass API",
        "url": "https://www.anchorterminal.com/compare/pirate-weather-vs-stormglass"
      },
      {
        "json": "https://www.anchorterminal.com/compare/stormglass-vs-tomorrow-io.json",
        "title": "Stormglass API vs Tomorrow.io Weather API",
        "url": "https://www.anchorterminal.com/compare/stormglass-vs-tomorrow-io"
      },
      {
        "json": "https://www.anchorterminal.com/compare/stormglass-vs-visual-crossing.json",
        "title": "Stormglass API vs Visual Crossing Weather API",
        "url": "https://www.anchorterminal.com/compare/stormglass-vs-visual-crossing"
      },
      {
        "json": "https://www.anchorterminal.com/compare/stormglass-vs-weather-company.json",
        "title": "Stormglass API vs The Weather Company Data APIs",
        "url": "https://www.anchorterminal.com/compare/stormglass-vs-weather-company"
      },
      {
        "json": "https://www.anchorterminal.com/compare/stormglass-vs-weatherapi-com.json",
        "title": "Stormglass API vs WeatherAPI.com",
        "url": "https://www.anchorterminal.com/compare/stormglass-vs-weatherapi-com"
      },
      {
        "json": "https://www.anchorterminal.com/compare/stormglass-vs-weatherbit.json",
        "title": "Stormglass API vs Weatherbit API",
        "url": "https://www.anchorterminal.com/compare/stormglass-vs-weatherbit"
      }
    ],
    "scores": [
      {
        "by": 40,
        "edge": "xweather",
        "key": "reliability",
        "name": "Reliability",
        "stormglass": 34,
        "weight": 16,
        "xweather": 74
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 43,
        "edge": "xweather",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "stormglass": 40,
        "weight": 13,
        "xweather": 83
      },
      {
        "by": 13,
        "edge": "xweather",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "stormglass": 65,
        "weight": 13,
        "xweather": 78
      },
      {
        "by": 8,
        "edge": "xweather",
        "key": "security",
        "name": "Security \u0026 auth",
        "stormglass": 44,
        "weight": 14,
        "xweather": 52
      },
      {
        "by": 7,
        "edge": "xweather",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "stormglass": 25,
        "weight": 10,
        "xweather": 32
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 66,
        "edge": "xweather",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "stormglass": 15,
        "weight": 7,
        "xweather": 81
      },
      {
        "by": 23,
        "edge": "xweather",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "stormglass": 45,
        "weight": 7,
        "xweather": 68
      }
    ],
    "summary": "Xweather Weather API scores 67.1 (B) on agent readiness against Stormglass API's 39.9 (E), and leads in every scored category. Both do weather forecasts.",
    "verdicts": {
      "stormglass": "A read-only weather and marine API with about 70 hourly parameters, per-source values from named national models, tide data and ERA5 history from 2014. No OpenAPI file, status page, SDK or security page was found, the free plan allows 10 requests a day, and the docs and FAQ disagree on the status code for a spent quota.",
      "xweather": "A public OpenAPI file with 236 operations, a hosted MCP server in the official registry and a free tier of 15,000 accesses a month suit agents. REST credentials travel only in the query string, per-minute limits are unpublished, and the group terms bar commercial use of free plans and passing data to third parties unless a service description allows it."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/stormglass-vs-xweather",
    "json": "https://www.anchorterminal.com/compare/stormglass-vs-xweather.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/stormglass-vs-xweather.md",
    "slim": "https://www.anchorterminal.com/compare/stormglass-vs-xweather.min.md"
  },
  "markdown": "Xweather Weather API scores 67.1 (B) on agent readiness against Stormglass API's 39.9 (E), and leads in every scored category. Both do weather forecasts.\n\n- Stormglass API: grade E, 39.9/100, rank #914 of 950. Markdown https://www.anchorterminal.com/tools/stormglass.md · JSON https://www.anchorterminal.com/api/v1/tools/stormglass.json\n- Xweather Weather API: grade B, 67.1/100, rank #265 of 950. Markdown https://www.anchorterminal.com/tools/xweather.md · JSON https://www.anchorterminal.com/api/v1/tools/xweather.json\n- Best weather and climate data APIs for AI agents: https://www.anchorterminal.com/best/weather/index.md\n- All 120 weather comparisons: https://www.anchorterminal.com/compare/weather/index.md\n\n## Which one, for what\n\n### Stormglass API (E)\n\nGood for: Marine and coastal applications that want waves, swell, currents and tides beside ordinary weather, and callers who want to compare named models in one response.\n\nWatch for: No OpenAPI file, llms.txt, official SDK or changelog was found. The docs are eleven Markdown pages\n\n### Xweather Weather API (B)\n\nGood for: Teams that need lightning, hail, road weather or tropical data beside ordinary conditions and forecasts, with an MCP server and an OpenAPI file ready for agents.\n\nAhead on:\n- Reliability, 74 against 34\n- Schema \u0026 documentation, 83 against 40\n- Agent ergonomics, 78 against 65\n- Security \u0026 auth, 52 against 44\n- Payments \u0026 pricing, 32 against 25\n- Maintenance \u0026 community, 81 against 15\n- Transparency \u0026 trust, 68 against 45\n\nWatch for: The REST API documents `client_id` and `client_secret` only as query parameters, and the MCP server also accepts the key as `?api_key=`\n\n\n## Score by category\n\n| Category | Weight | Stormglass API | Xweather Weather API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 34 | 74 | Xweather Weather API +40 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 40 | 83 | Xweather Weather API +43 |\n| Agent ergonomics | 13% (16.2 this run) | 65 | 78 | Xweather Weather API +13 |\n| Security \u0026 auth | 14% (17.5 this run) | 44 | 52 | Xweather Weather API +8 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 25 | 32 | Xweather Weather API +7 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 15 | 81 | Xweather Weather API +66 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 45 | 68 | Xweather Weather API +23 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **39.9 · E** | **67.1 · B** | |\n\n## Facts side by side\n\n| Fact | Stormglass API | Xweather Weather API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Storm Glass AB | Vaisala Oyj |\n| Hosted endpoint | `https://api.stormglass.io/v2` | `https://data.api.xweather.com` |\n| Transports | HTTP | HTTP |\n| Auth | API key | OAuth or key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | Proprietary service under Storm Glass AB's Terms and Conditions. The Free and Small plans are not for commercial use | Proprietary service under the General Conditions of Subscription Services of Vaisala Group. The OpenAPI files and the agent skills on GitHub are MIT |\n| Tools exposed | none | 19 |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| MCP registry | not listed | `com.xweather/weather` |\n| Last release | 2026-02-26 | 2026-09-14 |\n| Terms last updated | no date given | couldn't be read |\n| Privacy policy last updated | no date given | 2020-06-01 |\n| Customer content may train models | not found in the text | couldn't be read |\n| Terms restrict automated access | not found in the text | couldn't be read |\n| Terms restrict benchmarking | not found in the text | couldn't be read |\n| Terms or service can change without notice | yes | couldn't be read |\n| Arbitration or class-action waiver | yes | couldn't be read |\n| Popularity | none | 0 stars, 1.4k npm/wk |\n\n## Verdicts\n\n**Stormglass API.** A read-only weather and marine API with about 70 hourly parameters, per-source values from named national models, tide data and ERA5 history from 2014. No OpenAPI file, status page, SDK or security page was found, the free plan allows 10 requests a day, and the docs and FAQ disagree on the status code for a spent quota.\n\n**Xweather Weather API.** A public OpenAPI file with 236 operations, a hosted MCP server in the official registry and a free tier of 15,000 accesses a month suit agents. REST credentials travel only in the query string, per-minute limits are unpublished, and the group terms bar commercial use of free plans and passing data to third parties unless a service description allows it.\n\n## Before you call either\n\n### Stormglass API\n\n1. Send the key as `Authorization: KEY` with no Bearer prefix. A missing or wrong key returns 403 with `{\"errors\":{\"key\":\"API key is invalid\"}}`\n2. Always pass `source=sg` or a short source list on `/weather/point`. The default is every source, which multiplies the size of each hourly record\n3. Treat 402 as a spent daily quota, not a billing failure, and stop until the next day. Read `meta.requestCount` against `meta.dailyQuota` on each response\n4. Use `/historical/point` for past dates, at most 10 days a call and nothing newer than about 7 days. `/weather/point` looks back 14 days only\n5. Send and read all times in UTC. Tide sea levels are relative to the chosen datum (MSL by default) and are not water depth\n\n### Xweather Weather API\n\n1. Check `success` and `error.code` on every response. Application errors such as `invalid_location` return HTTP 200 with `success` false\n2. Send `fields`, `limit` and `plimit`. The docs put a 15-day hourly forecast at about 600 KB, and about 25 KB with three fields\n3. Read `X-Cost-Tokens` after each call. Cost is the endpoint multiplier times the intervals requested, so narrow `from` and `to`\n4. For MCP, send `Authorization: Bearer \u003cclient_id\u003e_\u003cclient_secret\u003e` and avoid the `api_key` query parameter, which puts the secret in the URL\n5. Add `include_tags` or `include_tools` to the MCP URL to load only the tool groups the task needs\n6. On 429 read `Retry-After` and the `X-RateLimit-Reset-*` headers. `maxhits_min` clears at the next minute, `maxhits` at the period reset\n\n## Questions\n\n### Which is better for AI agents, Stormglass API or Xweather Weather API?\n\nXweather Weather API scores 67.1 (B) on agent readiness against Stormglass API's 39.9 (E), and leads in every scored category.\n\n### Do Stormglass API and Xweather Weather API need an API key?\n\nStormglass API needs an API key. Xweather Weather API takes an API key or an OAuth sign-in.\n\n### Can an agent call Stormglass API and Xweather Weather API without installing anything?\n\nYes. Stormglass API has a hosted endpoint at https://api.stormglass.io/v2 and Xweather Weather API at https://data.api.xweather.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/stormglass-vs-xweather.json, and with the fewest tokens: https://www.anchorterminal.com/compare/stormglass-vs-xweather.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"stormglass\", \"b\": \"xweather\"}`. From a terminal: `anchor compare stormglass xweather`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/stormglass.json and https://www.anchorterminal.com/api/v1/tools/xweather.json\n\n## Other comparisons with Stormglass API or Xweather Weather API\n\n- [AccuWeather Core Weather API + MCP vs Xweather Weather API](https://www.anchorterminal.com/compare/accuweather-api-vs-xweather.md)\n- [Google Weather API (Maps Platform) vs Xweather Weather API](https://www.anchorterminal.com/compare/google-weather-api-vs-xweather.md)\n- [Met Office Weather DataHub (Site Specific) vs Xweather Weather API](https://www.anchorterminal.com/compare/met-office-datahub-vs-xweather.md)\n- [meteoblue Weather API vs Xweather Weather API](https://www.anchorterminal.com/compare/meteoblue-vs-xweather.md)\n- [Meteomatics Weather API vs Xweather Weather API](https://www.anchorterminal.com/compare/meteomatics-vs-xweather.md)\n- [NOAA National Weather Service API (api.weather.gov) vs Xweather Weather API](https://www.anchorterminal.com/compare/nws-api-vs-xweather.md)\n- [OpenWeather One Call API vs Xweather Weather API](https://www.anchorterminal.com/compare/openweather-one-call-vs-xweather.md)\n- [Pirate Weather vs Xweather Weather API](https://www.anchorterminal.com/compare/pirate-weather-vs-xweather.md)\n- [Tomorrow.io Weather API vs Xweather Weather API](https://www.anchorterminal.com/compare/tomorrow-io-vs-xweather.md)\n- [Visual Crossing Weather API vs Xweather Weather API](https://www.anchorterminal.com/compare/visual-crossing-vs-xweather.md)\n- [The Weather Company Data APIs vs Xweather Weather API](https://www.anchorterminal.com/compare/weather-company-vs-xweather.md)\n- [WeatherAPI.com vs Xweather Weather API](https://www.anchorterminal.com/compare/weatherapi-com-vs-xweather.md)\n- [Weatherbit API vs Xweather Weather API](https://www.anchorterminal.com/compare/weatherbit-vs-xweather.md)\n- [Open-Meteo vs Stormglass API](https://www.anchorterminal.com/compare/open-meteo-vs-stormglass.md)\n- [Open-Meteo vs Xweather Weather API](https://www.anchorterminal.com/compare/open-meteo-vs-xweather.md)\n- [AccuWeather Core Weather API + MCP vs Stormglass API](https://www.anchorterminal.com/compare/accuweather-api-vs-stormglass.md)\n- [Google Weather API (Maps Platform) vs Stormglass API](https://www.anchorterminal.com/compare/google-weather-api-vs-stormglass.md)\n- [Met Office Weather DataHub (Site Specific) vs Stormglass API](https://www.anchorterminal.com/compare/met-office-datahub-vs-stormglass.md)\n- [meteoblue Weather API vs Stormglass API](https://www.anchorterminal.com/compare/meteoblue-vs-stormglass.md)\n- [Meteomatics Weather API vs Stormglass API](https://www.anchorterminal.com/compare/meteomatics-vs-stormglass.md)\n- [NOAA National Weather Service API (api.weather.gov) vs Stormglass API](https://www.anchorterminal.com/compare/nws-api-vs-stormglass.md)\n- [OpenWeather One Call API vs Stormglass API](https://www.anchorterminal.com/compare/openweather-one-call-vs-stormglass.md)\n- [Pirate Weather vs Stormglass API](https://www.anchorterminal.com/compare/pirate-weather-vs-stormglass.md)\n- [Stormglass API vs Tomorrow.io Weather API](https://www.anchorterminal.com/compare/stormglass-vs-tomorrow-io.md)\n- [Stormglass API vs Visual Crossing Weather API](https://www.anchorterminal.com/compare/stormglass-vs-visual-crossing.md)\n- [Stormglass API vs The Weather Company Data APIs](https://www.anchorterminal.com/compare/stormglass-vs-weather-company.md)\n- [Stormglass API vs WeatherAPI.com](https://www.anchorterminal.com/compare/stormglass-vs-weatherapi-com.md)\n- [Stormglass API vs Weatherbit API](https://www.anchorterminal.com/compare/stormglass-vs-weatherbit.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-10",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Stormglass API vs Xweather Weather API",
        "url": ""
      }
    ],
    "description": "Xweather Weather scores 67.1 (B) to Stormglass's 39.9 (E) for weather forecasts. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Stormglass API E 39.9",
      "Xweather Weather API B 67.1",
      "scores"
    ],
    "h1": "Stormglass API vs Xweather Weather API",
    "image": "https://www.anchorterminal.com/assets/og/compare-stormglass-vs-xweather.png",
    "path": "/compare/stormglass-vs-xweather",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Stormglass vs Xweather Weather for AI agents (2026) | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/stormglass-vs-xweather"
  },
  "tokens": {
    "markdown": 2900,
    "slim": 780
  },
  "version": 1
}
