{
  "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-10T02:55:11.785033392Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 103,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 93,
          "p95ms24h": 189,
          "samples24h": 115,
          "samples30d": 115,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 30,
              "ok": 30
            }
          ]
        },
        "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-10T02:55:11.785033392Z"
      }
    },
    "answer": "Tomorrow.io Weather API scores 51.4 (D) on agent readiness against Stormglass API's 39.9 (E), and leads in 5 of 7 scored categories. Stormglass API leads on security \u0026 auth and payments \u0026 pricing.",
    "b": {
      "slug": "tomorrow-io",
      "name": "Tomorrow.io Weather API",
      "vendor": "The Tomorrow Companies Inc.",
      "vendorUrl": "https://www.tomorrow.io",
      "kind": "http-api",
      "category": "weather",
      "summary": "Tomorrow.io's Weather API returns current conditions, forecasts, recent and archived history, map tiles, route weather and alert webhooks for a coordinate, place name or GeoJSON shape. It is a REST API with a hosted MCP server.",
      "url": "https://www.anchorterminal.com/tools/tomorrow-io",
      "markdownUrl": "https://www.anchorterminal.com/tools/tomorrow-io.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/tomorrow-io.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/tomorrow-io.json",
      "license": "Proprietary service under Tomorrow.io's subscription terms",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.tomorrow.io/v4",
      "packages": [],
      "auth": "mixed",
      "authNotes": "A person signs up in a browser and copies the key from the dashboard. The key goes in an `apikey` header or query parameter on REST calls and in `X-Api-Key` for the MCP server. The docs say keys carry full privileges, and more keys are created by an account manager. The MCP endpoint also advertises OAuth with dynamic client registration, PKCE and one scope, `mcp:read`.",
      "pricing": "freemium",
      "pricingNotes": "Free plan with no published price for anything above it. Free covers core data layers, a 5-day forecast, 24 hours of history, one monitored location and one alert, and the terms bar commercial use on self-generated accounts. Enterprise is by quote and adds the 14-day forecast, premium layers, routes, maps and the historical archive, which is metered in tokens with no public token price (https://www.tomorrow.io/weather-api/, 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 plan table (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 11,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.tomorrow.io/reference/welcome",
      "llmsTxt": "https://docs.tomorrow.io/llms.txt",
      "openapi": "https://docs.tomorrow.io/openapi/tomorrowio-api.json",
      "capabilities": [
        "weather.current",
        "weather.forecast",
        "weather.historical",
        "weather.alerts",
        "weather.marine",
        "data.weather"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "closed-source",
        "openapi",
        "llms-txt",
        "mcp",
        "webhooks",
        "status-page",
        "sales-led",
        "us"
      ],
      "lastRelease": "2026-07-14",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 51.4,
        "grade": "D",
        "agentReady": false,
        "rank": 751,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 10,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 73,
          "maintenance": 27,
          "payments": 20,
          "reliability": 55,
          "schema": 75,
          "security": 34,
          "transparency": 63
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "A public OpenAPI 3.1 file, Markdown docs with llms.txt and a hosted MCP server with 11 tools suit agents, and a free plan exists. Paid prices are by quote only, free keys are barred from commercial use, the docs give no numeric rate limits, and the status page lists 50 incidents in 85 days, mostly stale or degraded data.",
        "bestFor": "Teams that need minute-level and route or polygon forecasts, alert webhooks and a hosted MCP server, and will buy through sales.",
        "strengths": [
          "Public OpenAPI 3.1.0 file (version 4.0.1, 31 paths, 39 operations), plus llms.txt and a Markdown copy of every docs page",
          "Hosted MCP server at api.tomorrow.io/v4/tomorrow-weather/mcp with 11 documented tools, added in April 2026",
          "The `fields`, `timesteps`, `startTime` and `endTime` parameters size a Timelines response to what the task needs",
          "Six-digit error codes that the docs say stay fixed, and soft warnings returned beside partial data",
          "Alert webhooks signed with HMAC-SHA256 in an `X-Signature` header, retried up to two times"
        ],
        "weaknesses": [
          "No public price for paid use. The plan table lists Free and Enterprise, the second by quote",
          "The subscription terms bar commercial use on self-generated accounts and forbid storing unaltered data without an order",
          "No numeric rate limits in the reviewed docs, and remaining-limit headers are documented for Enterprise accounts only",
          "Keys carry full privileges and may be sent as an `apikey` query parameter. More keys come through an account manager",
          "50 incidents on the status page between 15 July and 2 October 2026, 25 naming the Timeline or Historical API",
          "No official SDK, no security.txt, and no certification or disclosure policy found on the pages read"
        ],
        "agentNotes": [
          "Send the key in the `apikey` header, not the query string, so it stays out of URLs and logs",
          "Request only the `fields` and `timesteps` needed on POST /timelines. Free plans cover 24 hours back and 5 days ahead at `1h` and `1d`",
          "Split archive requests. POST /historical takes at most 31 days per call and deducts tokens, 1 for a point and 10 for a polygon",
          "Treat 401 with code 401001 as a missing or bad key. The docs say 403, the live API answered 401 on 8 October 2026",
          "On 429 back off without a hint. `Retry-After` is documented only for 503",
          "Check the plan's terms before storing or reselling responses. Free accounts are limited to non-commercial use with a Powered by Tomorrow.io link"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 51.4
          }
        ],
        "editorialScores": {
          "ergonomics": 73,
          "maintenance": 27,
          "payments": 20,
          "reliability": 55,
          "schema": 75,
          "security": 34,
          "transparency": 42
        },
        "provenanceScore": 84
      },
      "connect": {
        "http": "curl --request GET --url 'https://api.tomorrow.io/v4/weather/realtime?location=42.3478,-71.0466' --header 'apikey: API_KEY'",
        "config": {
          "mcpServers": {
            "tomorrow-weather-mcp": {
              "headers": {
                "X-Api-Key": "${TOMORROW_API_KEY}"
              },
              "type": "http",
              "url": "https://api.tomorrow.io/v4/tomorrow-weather/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/weather.current",
        "tool": "https://letme.dev/tomorrow-io"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "The Tomorrow Companies Inc.",
        "domain": "tomorrow.io",
        "domainRegistered": "2012-02-15",
        "endpointOnVendorDomain": true,
        "terms": "https://www.tomorrow.io/legal/terms-of-service/",
        "privacy": "https://www.tomorrow.io/legal/product-privacy-policy/",
        "statusPage": "https://status.tomorrow.io",
        "changelog": "https://docs.tomorrow.io/reference/release-notes",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The subscription terms (last updated 19 October 2023) name The Tomorrow Companies Inc., a Delaware corporation with its principal place of business in Boston, Massachusetts, and cover the API, the dashboard and the data portal.",
          "The product privacy policy (last updated 17 December 2024) covers the API and platform and names Tomorrow.io Inc. as operator. The website has a separate privacy policy and terms of use, which we did not use here.",
          "The API and the MCP server answer at api.tomorrow.io.",
          "www.tomorrow.io, tomorrow.io and api.tomorrow.io each return 404 for /.well-known/security.txt.",
          "RDAP gives a registration date of 2012-02-15 for tomorrow.io. The status page runs on Atlassian Statuspage."
        ],
        "score": 84
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/tomorrow-io.json",
      "live": {
        "slug": "tomorrow-io",
        "probe": {
          "target": "https://api.tomorrow.io/v4",
          "method": "get",
          "lastAt": "2026-10-10T02:55:13.609171686Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 140,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 142,
          "p95ms24h": 202,
          "samples24h": 249,
          "samples30d": 350,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 70,
              "ok": 70
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 30,
              "ok": 30
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.tomorrow.io",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-10T02:50:49.677481167Z"
        },
        "securityTxt": {
          "url": "https://tomorrow.io/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-09T15:39:56.802858723Z"
        },
        "llmsTxt": {
          "url": "https://docs.tomorrow.io/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-09T14:02:55.261380893Z"
        },
        "pages": [
          {
            "url": "https://docs.tomorrow.io/reference/release-notes",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-09T18:38:33.910364359Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "5c08804d147f"
          },
          {
            "url": "https://www.tomorrow.io/legal/product-privacy-policy/",
            "kind": "privacy",
            "status": 0,
            "checkedAt": "2026-10-09T18:55:02.959130394Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "blockedByRobots": true
          },
          {
            "url": "https://www.tomorrow.io/legal/terms-of-service/",
            "kind": "terms",
            "status": 0,
            "checkedAt": "2026-10-09T18:55:03.394492438Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "blockedByRobots": true
          }
        ],
        "updatedAt": "2026-10-10T02:55:13.609171686Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Storm Glass AB",
        "b": "The Tomorrow Companies Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://api.stormglass.io/v2",
        "b": "https://api.tomorrow.io/v4",
        "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 Tomorrow.io's subscription terms",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "11",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-02-26",
        "b": "2026-07-14",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "couldn't be read",
        "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"
      }
    ],
    "faq": [
      {
        "answer": "Tomorrow.io Weather API scores 51.4 (D) on agent readiness against Stormglass API's 39.9 (E), and leads in 5 of 7 scored categories. Stormglass API leads on security \u0026 auth and payments \u0026 pricing.",
        "question": "Which is better for AI agents, Stormglass API or Tomorrow.io Weather API?"
      },
      {
        "answer": "Stormglass API needs an API key. Tomorrow.io Weather API takes an API key or an OAuth sign-in.",
        "question": "Do Stormglass API and Tomorrow.io Weather API need an API key?"
      },
      {
        "answer": "Yes. Stormglass API has a hosted endpoint at https://api.stormglass.io/v2 and Tomorrow.io Weather API at https://api.tomorrow.io/v4.",
        "question": "Can an agent call Stormglass API and Tomorrow.io Weather API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Security \u0026 auth, 44 against 34",
          "Payments \u0026 pricing, 25 against 20"
        ],
        "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, 55 against 34",
          "Schema \u0026 documentation, 75 against 40",
          "Agent ergonomics, 73 against 65",
          "Maintenance \u0026 community, 27 against 15",
          "Transparency \u0026 trust, 63 against 45"
        ],
        "also": null,
        "goodFor": "Teams that need minute-level and route or polygon forecasts, alert webhooks and a hosted MCP server, and will buy through sales.",
        "slug": "tomorrow-io",
        "watchFor": "No public price for paid use. The plan table lists Free and Enterprise, the second by quote"
      }
    ],
    "job": {
      "capability": "weather.forecast",
      "name": "Weather forecasts"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/accuweather-api-vs-tomorrow-io.json",
        "title": "AccuWeather Core Weather API + MCP vs Tomorrow.io Weather API",
        "url": "https://www.anchorterminal.com/compare/accuweather-api-vs-tomorrow-io"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-weather-api-vs-tomorrow-io.json",
        "title": "Google Weather API (Maps Platform) vs Tomorrow.io Weather API",
        "url": "https://www.anchorterminal.com/compare/google-weather-api-vs-tomorrow-io"
      },
      {
        "json": "https://www.anchorterminal.com/compare/met-office-datahub-vs-tomorrow-io.json",
        "title": "Met Office Weather DataHub (Site Specific) vs Tomorrow.io Weather API",
        "url": "https://www.anchorterminal.com/compare/met-office-datahub-vs-tomorrow-io"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteoblue-vs-tomorrow-io.json",
        "title": "meteoblue Weather API vs Tomorrow.io Weather API",
        "url": "https://www.anchorterminal.com/compare/meteoblue-vs-tomorrow-io"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteomatics-vs-tomorrow-io.json",
        "title": "Meteomatics Weather API vs Tomorrow.io Weather API",
        "url": "https://www.anchorterminal.com/compare/meteomatics-vs-tomorrow-io"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nws-api-vs-tomorrow-io.json",
        "title": "NOAA National Weather Service API (api.weather.gov) vs Tomorrow.io Weather API",
        "url": "https://www.anchorterminal.com/compare/nws-api-vs-tomorrow-io"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openweather-one-call-vs-tomorrow-io.json",
        "title": "OpenWeather One Call API vs Tomorrow.io Weather API",
        "url": "https://www.anchorterminal.com/compare/openweather-one-call-vs-tomorrow-io"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pirate-weather-vs-tomorrow-io.json",
        "title": "Pirate Weather vs Tomorrow.io Weather API",
        "url": "https://www.anchorterminal.com/compare/pirate-weather-vs-tomorrow-io"
      },
      {
        "json": "https://www.anchorterminal.com/compare/tomorrow-io-vs-visual-crossing.json",
        "title": "Tomorrow.io Weather API vs Visual Crossing Weather API",
        "url": "https://www.anchorterminal.com/compare/tomorrow-io-vs-visual-crossing"
      },
      {
        "json": "https://www.anchorterminal.com/compare/tomorrow-io-vs-weather-company.json",
        "title": "Tomorrow.io Weather API vs The Weather Company Data APIs",
        "url": "https://www.anchorterminal.com/compare/tomorrow-io-vs-weather-company"
      },
      {
        "json": "https://www.anchorterminal.com/compare/tomorrow-io-vs-weatherapi-com.json",
        "title": "Tomorrow.io Weather API vs WeatherAPI.com",
        "url": "https://www.anchorterminal.com/compare/tomorrow-io-vs-weatherapi-com"
      },
      {
        "json": "https://www.anchorterminal.com/compare/tomorrow-io-vs-weatherbit.json",
        "title": "Tomorrow.io Weather API vs Weatherbit API",
        "url": "https://www.anchorterminal.com/compare/tomorrow-io-vs-weatherbit"
      },
      {
        "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/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-tomorrow-io.json",
        "title": "Open-Meteo vs Tomorrow.io Weather API",
        "url": "https://www.anchorterminal.com/compare/open-meteo-vs-tomorrow-io"
      },
      {
        "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-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"
      },
      {
        "json": "https://www.anchorterminal.com/compare/stormglass-vs-xweather.json",
        "title": "Stormglass API vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/stormglass-vs-xweather"
      }
    ],
    "scores": [
      {
        "by": 21,
        "edge": "tomorrow-io",
        "key": "reliability",
        "name": "Reliability",
        "stormglass": 34,
        "tomorrow-io": 55,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 35,
        "edge": "tomorrow-io",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "stormglass": 40,
        "tomorrow-io": 75,
        "weight": 13
      },
      {
        "by": 8,
        "edge": "tomorrow-io",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "stormglass": 65,
        "tomorrow-io": 73,
        "weight": 13
      },
      {
        "by": 10,
        "edge": "stormglass",
        "key": "security",
        "name": "Security \u0026 auth",
        "stormglass": 44,
        "tomorrow-io": 34,
        "weight": 14
      },
      {
        "by": 5,
        "edge": "stormglass",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "stormglass": 25,
        "tomorrow-io": 20,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 12,
        "edge": "tomorrow-io",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "stormglass": 15,
        "tomorrow-io": 27,
        "weight": 7
      },
      {
        "by": 18,
        "edge": "tomorrow-io",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "stormglass": 45,
        "tomorrow-io": 63,
        "weight": 7
      }
    ],
    "summary": "Tomorrow.io Weather API scores 51.4 (D) on agent readiness against Stormglass API's 39.9 (E), and leads in 5 of 7 scored categories. Stormglass API leads on security \u0026 auth and payments \u0026 pricing. 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.",
      "tomorrow-io": "A public OpenAPI 3.1 file, Markdown docs with llms.txt and a hosted MCP server with 11 tools suit agents, and a free plan exists. Paid prices are by quote only, free keys are barred from commercial use, the docs give no numeric rate limits, and the status page lists 50 incidents in 85 days, mostly stale or degraded data."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/stormglass-vs-tomorrow-io",
    "json": "https://www.anchorterminal.com/compare/stormglass-vs-tomorrow-io.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/stormglass-vs-tomorrow-io.md",
    "slim": "https://www.anchorterminal.com/compare/stormglass-vs-tomorrow-io.min.md"
  },
  "markdown": "Tomorrow.io Weather API scores 51.4 (D) on agent readiness against Stormglass API's 39.9 (E), and leads in 5 of 7 scored categories. Stormglass API leads on security \u0026 auth and payments \u0026 pricing. 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- Tomorrow.io Weather API: grade D, 51.4/100, rank #751 of 950. Markdown https://www.anchorterminal.com/tools/tomorrow-io.md · JSON https://www.anchorterminal.com/api/v1/tools/tomorrow-io.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\nAhead on:\n- Security \u0026 auth, 44 against 34\n- Payments \u0026 pricing, 25 against 20\n\nWatch for: No OpenAPI file, llms.txt, official SDK or changelog was found. The docs are eleven Markdown pages\n\n### Tomorrow.io Weather API (D)\n\nGood for: Teams that need minute-level and route or polygon forecasts, alert webhooks and a hosted MCP server, and will buy through sales.\n\nAhead on:\n- Reliability, 55 against 34\n- Schema \u0026 documentation, 75 against 40\n- Agent ergonomics, 73 against 65\n- Maintenance \u0026 community, 27 against 15\n- Transparency \u0026 trust, 63 against 45\n\nWatch for: No public price for paid use. The plan table lists Free and Enterprise, the second by quote\n\n\n## Score by category\n\n| Category | Weight | Stormglass API | Tomorrow.io Weather API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 34 | 55 | Tomorrow.io Weather API +21 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 40 | 75 | Tomorrow.io Weather API +35 |\n| Agent ergonomics | 13% (16.2 this run) | 65 | 73 | Tomorrow.io Weather API +8 |\n| Security \u0026 auth | 14% (17.5 this run) | 44 | 34 | Stormglass API +10 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 25 | 20 | Stormglass API +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 15 | 27 | Tomorrow.io Weather API +12 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 45 | 63 | Tomorrow.io Weather API +18 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **39.9 · E** | **51.4 · D** | |\n\n## Facts side by side\n\n| Fact | Stormglass API | Tomorrow.io Weather API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Storm Glass AB | The Tomorrow Companies Inc. |\n| Hosted endpoint | `https://api.stormglass.io/v2` | `https://api.tomorrow.io/v4` |\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 Tomorrow.io's subscription terms |\n| Tools exposed | none | 11 |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | 2026-02-26 | 2026-07-14 |\n| Terms last updated | no date given | couldn't be read |\n| Privacy policy last updated | no date given | couldn't be read |\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\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**Tomorrow.io Weather API.** A public OpenAPI 3.1 file, Markdown docs with llms.txt and a hosted MCP server with 11 tools suit agents, and a free plan exists. Paid prices are by quote only, free keys are barred from commercial use, the docs give no numeric rate limits, and the status page lists 50 incidents in 85 days, mostly stale or degraded data.\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### Tomorrow.io Weather API\n\n1. Send the key in the `apikey` header, not the query string, so it stays out of URLs and logs\n2. Request only the `fields` and `timesteps` needed on POST /timelines. Free plans cover 24 hours back and 5 days ahead at `1h` and `1d`\n3. Split archive requests. POST /historical takes at most 31 days per call and deducts tokens, 1 for a point and 10 for a polygon\n4. Treat 401 with code 401001 as a missing or bad key. The docs say 403, the live API answered 401 on 8 October 2026\n5. On 429 back off without a hint. `Retry-After` is documented only for 503\n6. Check the plan's terms before storing or reselling responses. Free accounts are limited to non-commercial use with a Powered by Tomorrow.io link\n\n## Questions\n\n### Which is better for AI agents, Stormglass API or Tomorrow.io Weather API?\n\nTomorrow.io Weather API scores 51.4 (D) on agent readiness against Stormglass API's 39.9 (E), and leads in 5 of 7 scored categories. Stormglass API leads on security \u0026 auth and payments \u0026 pricing.\n\n### Do Stormglass API and Tomorrow.io Weather API need an API key?\n\nStormglass API needs an API key. Tomorrow.io Weather API takes an API key or an OAuth sign-in.\n\n### Can an agent call Stormglass API and Tomorrow.io Weather API without installing anything?\n\nYes. Stormglass API has a hosted endpoint at https://api.stormglass.io/v2 and Tomorrow.io Weather API at https://api.tomorrow.io/v4.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/stormglass-vs-tomorrow-io.json, and with the fewest tokens: https://www.anchorterminal.com/compare/stormglass-vs-tomorrow-io.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"stormglass\", \"b\": \"tomorrow-io\"}`. From a terminal: `anchor compare stormglass tomorrow-io`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/stormglass.json and https://www.anchorterminal.com/api/v1/tools/tomorrow-io.json\n\n## Other comparisons with Stormglass API or Tomorrow.io Weather API\n\n- [AccuWeather Core Weather API + MCP vs Tomorrow.io Weather API](https://www.anchorterminal.com/compare/accuweather-api-vs-tomorrow-io.md)\n- [Google Weather API (Maps Platform) vs Tomorrow.io Weather API](https://www.anchorterminal.com/compare/google-weather-api-vs-tomorrow-io.md)\n- [Met Office Weather DataHub (Site Specific) vs Tomorrow.io Weather API](https://www.anchorterminal.com/compare/met-office-datahub-vs-tomorrow-io.md)\n- [meteoblue Weather API vs Tomorrow.io Weather API](https://www.anchorterminal.com/compare/meteoblue-vs-tomorrow-io.md)\n- [Meteomatics Weather API vs Tomorrow.io Weather API](https://www.anchorterminal.com/compare/meteomatics-vs-tomorrow-io.md)\n- [NOAA National Weather Service API (api.weather.gov) vs Tomorrow.io Weather API](https://www.anchorterminal.com/compare/nws-api-vs-tomorrow-io.md)\n- [OpenWeather One Call API vs Tomorrow.io Weather API](https://www.anchorterminal.com/compare/openweather-one-call-vs-tomorrow-io.md)\n- [Pirate Weather vs Tomorrow.io Weather API](https://www.anchorterminal.com/compare/pirate-weather-vs-tomorrow-io.md)\n- [Tomorrow.io Weather API vs Visual Crossing Weather API](https://www.anchorterminal.com/compare/tomorrow-io-vs-visual-crossing.md)\n- [Tomorrow.io Weather API vs The Weather Company Data APIs](https://www.anchorterminal.com/compare/tomorrow-io-vs-weather-company.md)\n- [Tomorrow.io Weather API vs WeatherAPI.com](https://www.anchorterminal.com/compare/tomorrow-io-vs-weatherapi-com.md)\n- [Tomorrow.io Weather API vs Weatherbit API](https://www.anchorterminal.com/compare/tomorrow-io-vs-weatherbit.md)\n- [Tomorrow.io Weather API vs Xweather Weather API](https://www.anchorterminal.com/compare/tomorrow-io-vs-xweather.md)\n- [Open-Meteo vs Stormglass API](https://www.anchorterminal.com/compare/open-meteo-vs-stormglass.md)\n- [Open-Meteo vs Tomorrow.io Weather API](https://www.anchorterminal.com/compare/open-meteo-vs-tomorrow-io.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 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- [Stormglass API vs Xweather Weather API](https://www.anchorterminal.com/compare/stormglass-vs-xweather.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 Tomorrow.io Weather API",
        "url": ""
      }
    ],
    "description": "Tomorrow.io Weather scores 51.4 (D) 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",
      "Tomorrow.io Weather API D 51.4",
      "scores"
    ],
    "h1": "Stormglass API vs Tomorrow.io Weather API",
    "image": "https://www.anchorterminal.com/assets/og/compare-stormglass-vs-tomorrow-io.png",
    "path": "/compare/stormglass-vs-tomorrow-io",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Stormglass vs Tomorrow.io Weather for AI agents (2026)",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/stormglass-vs-tomorrow-io"
  },
  "tokens": {
    "markdown": 2900,
    "slim": 730
  },
  "version": 1
}
