{
  "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:07:26.463609643Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 91,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 93,
          "p95ms24h": 189,
          "samples24h": 107,
          "samples30d": 107,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 22,
              "ok": 22
            }
          ]
        },
        "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:07:26.463609643Z"
      }
    },
    "answer": "Visual Crossing Weather API scores 59.9 (C) on agent readiness against Stormglass API's 39.9 (E), and leads in 6 of 7 scored categories.",
    "b": {
      "slug": "visual-crossing",
      "name": "Visual Crossing Weather API",
      "vendor": "Visual Crossing",
      "vendorUrl": "https://www.visualcrossing.com",
      "kind": "http-api",
      "category": "weather",
      "summary": "Weather API for historical conditions, forecasts and climate data by location and date range.",
      "url": "https://www.anchorterminal.com/tools/visual-crossing",
      "markdownUrl": "https://www.anchorterminal.com/tools/visual-crossing.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/visual-crossing.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/visual-crossing.json",
      "repo": "https://github.com/visualcrossing/WeatherApi",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline",
      "packages": [],
      "auth": "api-key",
      "authNotes": "The Timeline API takes the key as the key query parameter. The MCP server takes it in an X-VC-API-Key header, or OAuth (user or machine-to-machine) once Visual Crossing has provisioned it for the account.",
      "pricing": "freemium",
      "pricingNotes": "Billed in records. A day of daily data is one record, a day of hourly data is 24, and a full 15-day forecast for one location is one record. Free at 1,000 records a day (30,000 a month), no card, one concurrent request, attribution required. Metered at $0.0001 a record above the free 1,000 a day, unlimited records, up to 25,000 records a query. Professional (10 million records a month) shows no price, and Corporate and Enterprise are contact sales. A February 2023 post put Professional and Corporate at $35 and $150 a month. The plan table lists 99.5 per cent uptime on Free and 99.9 on paid plans (https://www.visualcrossing.com/weather-data-pricing/ and https://www.visualcrossing.com/resources/blog/what-will-my-weather-data-cost/).",
      "priceSummary": "$0.10 / 1k req",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": 1,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://www.visualcrossing.com/resources/documentation/weather-api/timeline-weather-api/",
      "llmsTxt": "https://www.visualcrossing.com/llms.txt",
      "openapi": "https://www.visualcrossing.com/weather/specs/visualcrossing-weather-api-openapi.json",
      "capabilities": [
        "weather.current",
        "weather.forecast",
        "weather.historical",
        "weather.alerts",
        "data.weather"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "no-card",
        "mcp",
        "closed-source",
        "usage-priced"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 59.9,
        "grade": "C",
        "agentReady": false,
        "rank": 534,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 6,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 78,
          "maintenance": 58,
          "payments": 40,
          "reliability": 66,
          "schema": 74,
          "security": 40,
          "transparency": 56
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "History from 1970, current conditions and a 15-day forecast from one endpoint. Key only in the query string on the REST API.",
        "bestFor": "History and backfills, climate normals and date-range questions from one endpoint.",
        "strengths": [
          "History from 1970, current conditions and a 15-day forecast from one endpoint",
          "$0.0001 a record with 1,000 free a day and no card",
          "Official MCP server with one tool, key in a header or OAuth",
          "llms.txt, an OpenAPI spec and a quarterly changelog, most recently 4 September 2026",
          "Status page and published uptime targets of 99.5 per cent free and 99.9 paid"
        ],
        "weaknesses": [
          "Key only in the query string on the REST API",
          "OpenAPI spec defines no enums and no error responses",
          "Privacy policy states no retention periods or subprocessors",
          "Storing results needs the right licence level, and the terms carry a non-compete",
          "No security.txt, disclosure policy or MCP registry entry"
        ],
        "agentNotes": [
          "Always pass include= and elements=. A bare call returns days, hours and current for every element and burns records",
          "Count records before a backfill. Hourly data is 24 records a day, so a year for one place is 8,760",
          "Pass unitGroup=metric. The default is US units",
          "Use the MCP server with X-VC-API-Key rather than pasting the key into a URL",
          "Keep to one request at a time on Free and Professional. A second concurrent job returns 429"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 4,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 59.9
          }
        ],
        "editorialScores": {
          "ergonomics": 78,
          "maintenance": 58,
          "payments": 40,
          "reliability": 66,
          "schema": 74,
          "security": 40,
          "transparency": 31
        },
        "provenanceScore": 81,
        "dataQualityScore": 77
      },
      "connect": {
        "http": "curl \"https://weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline/51.51,-0.13/2026-09-01/2026-09-07?unitGroup=metric\u0026include=days\u0026elements=datetime,tempmax,tempmin,precip\u0026contentType=json\u0026key=$VISUALCROSSING_API_KEY\"",
        "claudeCode": "claude mcp add --transport http visualcrossing https://mcp.visualcrossing.com/VisualCrossingWebServices/rest/api/v1/mcp --header \"X-VC-API-Key: $VISUALCROSSING_API_KEY\"",
        "config": {
          "mcpServers": {
            "visualcrossing": {
              "headers": {
                "X-VC-API-Key": "${VISUALCROSSING_API_KEY}"
              },
              "type": "http",
              "url": "https://mcp.visualcrossing.com/VisualCrossingWebServices/rest/api/v1/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/weather.current",
        "tool": "https://letme.dev/visual-crossing"
      },
      "area": "domain-data",
      "unitPrices": [
        {
          "item": "Metered record",
          "unit": "record",
          "usd": 0.0001,
          "note": "First 1,000 records a day free"
        },
        {
          "item": "Metered, 15-day forecast calls",
          "unit": "1k-requests",
          "usd": 0.1,
          "note": "One record a forecast call, $0.0001 each"
        }
      ],
      "provenance": {
        "legalEntity": "Visual Crossing Corporation",
        "domain": "visualcrossing.com",
        "domainRegistered": "2005-10-11",
        "endpointOnVendorDomain": true,
        "terms": "https://www.visualcrossing.com/weather-services-terms/",
        "privacy": "https://www.visualcrossing.com/privacy/",
        "statusPage": "https://status.visualcrossing.com/",
        "changelog": "https://www.visualcrossing.com/resources/documentation/weather-api/weather-api-changelog/",
        "securityTxt": "none",
        "checked": "2026-10-01",
        "notes": [
          "The terms (last updated January 2023) name Visual Crossing Corporation under Virginia law but give no address.",
          "The privacy policy is at /privacy/ (updated 23 May 2025). The /privacy-policy/ path returns 404.",
          "The status page at status.visualcrossing.com runs on UptimeRobot.",
          "/.well-known/security.txt returns 404 per the 30 September check.",
          "The GitHub repository holds sample code in several languages, not an SDK."
        ],
        "score": 81
      },
      "dataQuality": {
        "coverage": "Global, any address or coordinate, up to 100 locations a query on Professional",
        "coverageRating": 4,
        "freshness": "Stations update every 15 to 30 minutes or hourly per the product page. Forecast refresh cadence not stated",
        "freshnessClass": "hourly",
        "history": "From 1970-01-01, hourly and daily, plus archived forecasts through the Historical Weather Forecast API added in Q2 2026",
        "historyYears": 56,
        "methodology": "https://www.visualcrossing.com/resources/documentation/weather-api/timeline-weather-api/",
        "sourcesDisclosed": true,
        "licence": "Proprietary. Storage by licence level, no resale, non-compete",
        "licenceClass": "clear",
        "standing": "",
        "standingClass": "none",
        "reuse": "Results may be stored in a database only where the licence level permits it, except for personal use. Resale and redistribution are barred, using the data to replicate a Visual Crossing service is barred, and Enterprise is the plan that adds external data-sharing rights.",
        "score": 77,
        "checks": null
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/visual-crossing.json",
      "live": {
        "slug": "visual-crossing",
        "probe": {
          "target": "https://weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline",
          "method": "get",
          "lastAt": "2026-10-10T02:07:30.201708971Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 265,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 256,
          "p95ms24h": 316,
          "samples24h": 250,
          "samples30d": 2256,
          "days": [
            {
              "date": "2026-10-01",
              "probes": 109,
              "ok": 109
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 22,
              "ok": 22
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.visualcrossing.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-10T00:51:24.017439515Z"
        },
        "githubStars": 55,
        "securityTxt": {
          "url": "https://visualcrossing.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-09T15:39:57.419206805Z"
        },
        "llmsTxt": {
          "url": "https://www.visualcrossing.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-09T14:02:59.040449452Z"
        },
        "domain": {
          "domain": "visualcrossing.com",
          "registered": "2005-10-11",
          "source": "https://rdap.verisign.com/com/v1/domain/visualcrossing.com",
          "checkedAt": "2026-10-04T13:06:40.738574234Z"
        },
        "pages": [
          {
            "url": "https://www.visualcrossing.com/resources/documentation/weather-api/weather-api-changelog/",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-10-09T18:55:30.18901362Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "77ecfd35a643"
          },
          {
            "url": "https://www.visualcrossing.com/weather-data-pricing/",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-09T18:55:32.192551709Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "cb8af14c5632"
          },
          {
            "url": "https://www.visualcrossing.com/privacy/",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-09T18:55:28.100738698Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "0ccd098bba16"
          },
          {
            "url": "https://www.visualcrossing.com/weather-services-terms/",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-09T18:55:34.190516718Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "5225b6169954"
          }
        ],
        "updatedAt": "2026-10-10T02:07:30.201708971Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Storm Glass AB",
        "b": "Visual Crossing",
        "name": "Vendor"
      },
      {
        "a": "https://api.stormglass.io/v2",
        "b": "https://weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "not published",
        "b": "$0.10 per 1,000 requests",
        "name": "Price for weather forecasts"
      },
      {
        "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": "none",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "1",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-02-26",
        "b": "none",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "2023-01-01",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "4/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Visual Crossing Weather API scores 59.9 (C) on agent readiness against Stormglass API's 39.9 (E), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, Stormglass API or Visual Crossing Weather API?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do Stormglass API and Visual Crossing Weather API need an API key?"
      },
      {
        "answer": "Yes. Stormglass API has a hosted endpoint at https://api.stormglass.io/v2 and Visual Crossing Weather API at https://weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline.",
        "question": "Can an agent call Stormglass API and Visual Crossing 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, 66 against 34",
          "Schema \u0026 documentation, 74 against 40",
          "Agent ergonomics, 78 against 65",
          "Payments \u0026 pricing, 40 against 25",
          "Maintenance \u0026 community, 58 against 15",
          "Transparency \u0026 trust, 56 against 45"
        ],
        "also": [
          "Free to start without a card"
        ],
        "goodFor": "History and backfills, climate normals and date-range questions from one endpoint.",
        "slug": "visual-crossing",
        "watchFor": "Key only in the query string on the REST API"
      }
    ],
    "job": {
      "capability": "weather.forecast",
      "name": "Weather forecasts"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/accuweather-api-vs-visual-crossing.json",
        "title": "AccuWeather Core Weather API + MCP vs Visual Crossing Weather API",
        "url": "https://www.anchorterminal.com/compare/accuweather-api-vs-visual-crossing"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-weather-api-vs-visual-crossing.json",
        "title": "Google Weather API (Maps Platform) vs Visual Crossing Weather API",
        "url": "https://www.anchorterminal.com/compare/google-weather-api-vs-visual-crossing"
      },
      {
        "json": "https://www.anchorterminal.com/compare/met-office-datahub-vs-visual-crossing.json",
        "title": "Met Office Weather DataHub (Site Specific) vs Visual Crossing Weather API",
        "url": "https://www.anchorterminal.com/compare/met-office-datahub-vs-visual-crossing"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteoblue-vs-visual-crossing.json",
        "title": "meteoblue Weather API vs Visual Crossing Weather API",
        "url": "https://www.anchorterminal.com/compare/meteoblue-vs-visual-crossing"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteomatics-vs-visual-crossing.json",
        "title": "Meteomatics Weather API vs Visual Crossing Weather API",
        "url": "https://www.anchorterminal.com/compare/meteomatics-vs-visual-crossing"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nws-api-vs-visual-crossing.json",
        "title": "NOAA National Weather Service API (api.weather.gov) vs Visual Crossing Weather API",
        "url": "https://www.anchorterminal.com/compare/nws-api-vs-visual-crossing"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openweather-one-call-vs-visual-crossing.json",
        "title": "OpenWeather One Call API vs Visual Crossing Weather API",
        "url": "https://www.anchorterminal.com/compare/openweather-one-call-vs-visual-crossing"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pirate-weather-vs-visual-crossing.json",
        "title": "Pirate Weather vs Visual Crossing Weather API",
        "url": "https://www.anchorterminal.com/compare/pirate-weather-vs-visual-crossing"
      },
      {
        "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/visual-crossing-vs-weather-company.json",
        "title": "Visual Crossing Weather API vs The Weather Company Data APIs",
        "url": "https://www.anchorterminal.com/compare/visual-crossing-vs-weather-company"
      },
      {
        "json": "https://www.anchorterminal.com/compare/visual-crossing-vs-weatherapi-com.json",
        "title": "Visual Crossing Weather API vs WeatherAPI.com",
        "url": "https://www.anchorterminal.com/compare/visual-crossing-vs-weatherapi-com"
      },
      {
        "json": "https://www.anchorterminal.com/compare/visual-crossing-vs-weatherbit.json",
        "title": "Visual Crossing Weather API vs Weatherbit API",
        "url": "https://www.anchorterminal.com/compare/visual-crossing-vs-weatherbit"
      },
      {
        "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/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-visual-crossing.json",
        "title": "Open-Meteo vs Visual Crossing Weather API",
        "url": "https://www.anchorterminal.com/compare/open-meteo-vs-visual-crossing"
      },
      {
        "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-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": 32,
        "edge": "visual-crossing",
        "key": "reliability",
        "name": "Reliability",
        "stormglass": 34,
        "visual-crossing": 66,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 34,
        "edge": "visual-crossing",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "stormglass": 40,
        "visual-crossing": 74,
        "weight": 13
      },
      {
        "by": 13,
        "edge": "visual-crossing",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "stormglass": 65,
        "visual-crossing": 78,
        "weight": 13
      },
      {
        "by": 4,
        "edge": "stormglass",
        "key": "security",
        "name": "Security \u0026 auth",
        "stormglass": 44,
        "visual-crossing": 40,
        "weight": 14
      },
      {
        "by": 15,
        "edge": "visual-crossing",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "stormglass": 25,
        "visual-crossing": 40,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 43,
        "edge": "visual-crossing",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "stormglass": 15,
        "visual-crossing": 58,
        "weight": 7
      },
      {
        "by": 11,
        "edge": "visual-crossing",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "stormglass": 45,
        "visual-crossing": 56,
        "weight": 7
      }
    ],
    "summary": "Visual Crossing Weather API scores 59.9 (C) on agent readiness against Stormglass API's 39.9 (E), and leads in 6 of 7 scored categories. 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.",
      "visual-crossing": "History from 1970, current conditions and a 15-day forecast from one endpoint. Key only in the query string on the REST API."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/stormglass-vs-visual-crossing",
    "json": "https://www.anchorterminal.com/compare/stormglass-vs-visual-crossing.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/stormglass-vs-visual-crossing.md",
    "slim": "https://www.anchorterminal.com/compare/stormglass-vs-visual-crossing.min.md"
  },
  "markdown": "Visual Crossing Weather API scores 59.9 (C) on agent readiness against Stormglass API's 39.9 (E), and leads in 6 of 7 scored categories. 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- Visual Crossing Weather API: grade C, 59.9/100, rank #534 of 950. Markdown https://www.anchorterminal.com/tools/visual-crossing.md · JSON https://www.anchorterminal.com/api/v1/tools/visual-crossing.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### Visual Crossing Weather API (C)\n\nGood for: History and backfills, climate normals and date-range questions from one endpoint.\n\nAhead on:\n- Reliability, 66 against 34\n- Schema \u0026 documentation, 74 against 40\n- Agent ergonomics, 78 against 65\n- Payments \u0026 pricing, 40 against 25\n- Maintenance \u0026 community, 58 against 15\n- Transparency \u0026 trust, 56 against 45\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: Key only in the query string on the REST API\n\n\n## Score by category\n\n| Category | Weight | Stormglass API | Visual Crossing Weather API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 34 | 66 | Visual Crossing Weather API +32 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 40 | 74 | Visual Crossing Weather API +34 |\n| Agent ergonomics | 13% (16.2 this run) | 65 | 78 | Visual Crossing Weather API +13 |\n| Security \u0026 auth | 14% (17.5 this run) | 44 | 40 | Stormglass API +4 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 25 | 40 | Visual Crossing Weather API +15 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 15 | 58 | Visual Crossing Weather API +43 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 45 | 56 | Visual Crossing Weather API +11 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **39.9 · E** | **59.9 · C** | |\n\n## Facts side by side\n\n| Fact | Stormglass API | Visual Crossing Weather API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Storm Glass AB | Visual Crossing |\n| Hosted endpoint | `https://api.stormglass.io/v2` | `https://weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline` |\n| Transports | HTTP | HTTP, Streamable HTTP |\n| Auth | API key | API key |\n| Pricing | Freemium | Freemium |\n| Price for weather forecasts | not published | $0.10 per 1,000 requests |\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 | none |\n| Tools exposed | none | 1 |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| Last release | 2026-02-26 | none |\n| Terms last updated | no date given | 2023-01-01 |\n| Privacy policy last updated | no date given | no date given |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | not found in the text | yes |\n| Terms or service can change without notice | yes | not found in the text |\n| Arbitration or class-action waiver | yes | not found in the text |\n| Agent reviews | none | 4/5 (2) |\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**Visual Crossing Weather API.** History from 1970, current conditions and a 15-day forecast from one endpoint. Key only in the query string on the REST API.\n\n## 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### Visual Crossing Weather API\n\n1. Always pass include= and elements=. A bare call returns days, hours and current for every element and burns records\n2. Count records before a backfill. Hourly data is 24 records a day, so a year for one place is 8,760\n3. Pass unitGroup=metric. The default is US units\n4. Use the MCP server with X-VC-API-Key rather than pasting the key into a URL\n5. Keep to one request at a time on Free and Professional. A second concurrent job returns 429\n\n## Questions\n\n### Which is better for AI agents, Stormglass API or Visual Crossing Weather API?\n\nVisual Crossing Weather API scores 59.9 (C) on agent readiness against Stormglass API's 39.9 (E), and leads in 6 of 7 scored categories.\n\n### Do Stormglass API and Visual Crossing Weather API need an API key?\n\nBoth need an API key.\n\n### Can an agent call Stormglass API and Visual Crossing Weather API without installing anything?\n\nYes. Stormglass API has a hosted endpoint at https://api.stormglass.io/v2 and Visual Crossing Weather API at https://weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/stormglass-vs-visual-crossing.json, and with the fewest tokens: https://www.anchorterminal.com/compare/stormglass-vs-visual-crossing.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"stormglass\", \"b\": \"visual-crossing\"}`. From a terminal: `anchor compare stormglass visual-crossing`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/stormglass.json and https://www.anchorterminal.com/api/v1/tools/visual-crossing.json\n\n## Other comparisons with Stormglass API or Visual Crossing Weather API\n\n- [AccuWeather Core Weather API + MCP vs Visual Crossing Weather API](https://www.anchorterminal.com/compare/accuweather-api-vs-visual-crossing.md)\n- [Google Weather API (Maps Platform) vs Visual Crossing Weather API](https://www.anchorterminal.com/compare/google-weather-api-vs-visual-crossing.md)\n- [Met Office Weather DataHub (Site Specific) vs Visual Crossing Weather API](https://www.anchorterminal.com/compare/met-office-datahub-vs-visual-crossing.md)\n- [meteoblue Weather API vs Visual Crossing Weather API](https://www.anchorterminal.com/compare/meteoblue-vs-visual-crossing.md)\n- [Meteomatics Weather API vs Visual Crossing Weather API](https://www.anchorterminal.com/compare/meteomatics-vs-visual-crossing.md)\n- [NOAA National Weather Service API (api.weather.gov) vs Visual Crossing Weather API](https://www.anchorterminal.com/compare/nws-api-vs-visual-crossing.md)\n- [OpenWeather One Call API vs Visual Crossing Weather API](https://www.anchorterminal.com/compare/openweather-one-call-vs-visual-crossing.md)\n- [Pirate Weather vs Visual Crossing Weather API](https://www.anchorterminal.com/compare/pirate-weather-vs-visual-crossing.md)\n- [Tomorrow.io Weather API vs Visual Crossing Weather API](https://www.anchorterminal.com/compare/tomorrow-io-vs-visual-crossing.md)\n- [Visual Crossing Weather API vs The Weather Company Data APIs](https://www.anchorterminal.com/compare/visual-crossing-vs-weather-company.md)\n- [Visual Crossing Weather API vs WeatherAPI.com](https://www.anchorterminal.com/compare/visual-crossing-vs-weatherapi-com.md)\n- [Visual Crossing Weather API vs Weatherbit API](https://www.anchorterminal.com/compare/visual-crossing-vs-weatherbit.md)\n- [Visual Crossing Weather API vs Xweather Weather API](https://www.anchorterminal.com/compare/visual-crossing-vs-xweather.md)\n- [Open-Meteo vs Stormglass API](https://www.anchorterminal.com/compare/open-meteo-vs-stormglass.md)\n- [Open-Meteo vs Visual Crossing Weather API](https://www.anchorterminal.com/compare/open-meteo-vs-visual-crossing.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 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 Visual Crossing Weather API",
        "url": ""
      }
    ],
    "description": "Visual Crossing Weather scores 59.9 (C) 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",
      "Visual Crossing Weather API C 59.9",
      "scores"
    ],
    "h1": "Stormglass API vs Visual Crossing Weather API",
    "image": "https://www.anchorterminal.com/assets/og/compare-stormglass-vs-visual-crossing.png",
    "path": "/compare/stormglass-vs-visual-crossing",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Stormglass vs Visual Crossing Weather for AI agents (2026)",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/stormglass-vs-visual-crossing"
  },
  "tokens": {
    "markdown": 2800,
    "slim": 680
  },
  "version": 1
}
