{
  "data": {
    "a": {
      "slug": "open-meteo",
      "name": "Open-Meteo",
      "vendor": "Open-Meteo",
      "vendorUrl": "https://open-meteo.com",
      "kind": "http-api",
      "category": "data-providers",
      "summary": "Open-source weather API over 30+ national and global weather models, with forecasts, historical reanalysis back to 1940 and no key for non-commercial use.",
      "url": "https://www.anchorterminal.com/tools/open-meteo",
      "markdownUrl": "https://www.anchorterminal.com/tools/open-meteo.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/open-meteo.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/open-meteo.json",
      "repo": "https://github.com/open-meteo/open-meteo",
      "license": "AGPL-3.0 (code), CC BY 4.0 (data)",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.open-meteo.com/v1/forecast",
      "packages": [],
      "auth": "none",
      "authNotes": "No key for non-commercial use. Commercial plans add `\u0026apikey=` on customer-api.open-meteo.com.",
      "pricing": "freemium",
      "pricingNotes": "Free for non-commercial use at 600 calls a minute, 5,000 an hour, 10,000 a day and 300,000 a month. Commercial plans for 1M, 5M and 50M+ calls a month show prices only at Stripe checkout, and monthly caps aren't enforced yet, with email alerts at 80, 90 and 100 per cent instead (https://open-meteo.com/en/pricing).",
      "priceSummary": "Freemium",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 6200,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-26"
      },
      "docsUrl": "https://open-meteo.com/en/docs",
      "openapi": "https://github.com/open-meteo/open-meteo/blob/main/openapi/forecast.yml",
      "capabilities": [
        "data.weather"
      ],
      "tags": [
        "hosted",
        "no-key",
        "open-data",
        "open-source",
        "free-tier"
      ],
      "lastRelease": "2026-09-10",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 63.4,
        "grade": "B",
        "agentReady": false,
        "rank": 394,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 4,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 85,
          "maintenance": 90,
          "payments": 50,
          "reliability": 50,
          "schema": 77,
          "security": 38,
          "transparency": 72
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "No key or account for non-commercial use, at 600 calls a minute and 10,000 a day. Commercial prices appear only at Stripe checkout.",
        "bestFor": "Prototypes, personal agents and non-commercial apps that need forecasts or historical weather with no signup.",
        "strengths": [
          "No key or account for non-commercial use, at 600 calls a minute and 10,000 a day",
          "OpenAPI 3.1 files for nine APIs with an enum for every weather variable",
          "Five releases between 11 July and 10 September 2026, AGPL-3.0 code and CC BY 4.0 data",
          "Logs deleted after 90 days and no cookies or trackers, per the terms",
          "Official Python and TypeScript SDKs"
        ],
        "weaknesses": [
          "Commercial prices appear only at Stripe checkout",
          "The commercial key is sent as `\u0026apikey=` in the URL",
          "Status page is uptime monitors with no incident write-ups we could read",
          "Terms change on posting and IPs can be blocked without notice",
          "No llms.txt, no official MCP server, and the OpenAPI files aren't linked from the docs"
        ],
        "agentNotes": [
          "Name only the variables you need in `hourly=` or `daily=`, because each one adds a full time series",
          "Credit 'Weather data by Open-Meteo.com' wherever you show the data",
          "Use customer-api.open-meteo.com with `\u0026apikey=` for anything commercial, and keep that URL out of logs",
          "Read `reason` on a 400. It names the bad parameter",
          "Cache by coordinate and model run, since global models update about every six hours"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 4,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 63.4
          }
        ],
        "editorialScores": {
          "ergonomics": 85,
          "maintenance": 90,
          "payments": 50,
          "reliability": 50,
          "schema": 77,
          "security": 38,
          "transparency": 70
        },
        "provenanceScore": 73,
        "dataQualityScore": 80
      },
      "connect": {
        "http": "curl \"https://api.open-meteo.com/v1/forecast?latitude=51.51\u0026longitude=-0.13\u0026hourly=temperature_2m,precipitation\u0026forecast_days=2\""
      },
      "letme": {
        "capability": "https://letme.dev/data.weather",
        "tool": "https://letme.dev/open-meteo"
      },
      "alsoIn": [
        "weather"
      ],
      "area": "web-data",
      "provenance": {
        "legalEntity": "OpenMeteo GmbH",
        "domain": "open-meteo.com",
        "domainRegistered": "2021-04-27",
        "endpointOnVendorDomain": true,
        "terms": "https://open-meteo.com/en/terms",
        "privacy": "https://open-meteo.com/en/terms#privacy",
        "statusPage": "https://status.open-meteo.com",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-09-26",
        "score": 73
      },
      "dataQuality": {
        "coverage": "Global at 1 to 15 km, 16-day forecasts, 30+ weather models",
        "coverageRating": 4,
        "freshness": "Global models about every 6 hours, regional models every 1 to 3",
        "freshnessClass": "hourly",
        "history": "Reanalysis from 1940",
        "historyYears": 86,
        "methodology": "https://open-meteo.com/en/docs/historical-weather-api",
        "sourcesDisclosed": true,
        "licence": "CC BY 4.0",
        "licenceClass": "open",
        "standing": "",
        "standingClass": "none",
        "reuse": "CC BY 4.0, so caching and redistribution are fine with credit. Commercial use of the API needs a paid plan.",
        "score": 80,
        "checks": null
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/open-meteo.json",
      "live": {
        "slug": "open-meteo",
        "probe": {
          "target": "https://api.open-meteo.com/v1/forecast",
          "method": "get",
          "lastAt": "2026-10-10T02:55:04.325502078Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 104,
          "authRequired": false,
          "uptime24h": 98.8,
          "uptime30d": 99.27,
          "p50ms24h": 113,
          "p95ms24h": 205,
          "samples24h": 249,
          "samples30d": 3420,
          "days": [
            {
              "date": "2026-09-27",
              "probes": 132,
              "ok": 131
            },
            {
              "date": "2026-09-28",
              "probes": 285,
              "ok": 283
            },
            {
              "date": "2026-09-29",
              "probes": 286,
              "ok": 286
            },
            {
              "date": "2026-09-30",
              "probes": 286,
              "ok": 284
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 273
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 245
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 268
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 269
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 271
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 271
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 270
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 267
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 247
            },
            {
              "date": "2026-10-10",
              "probes": 30,
              "ok": 30
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.open-meteo.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-10T00:50:54.9026943Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "open-meteo/open-meteo",
            "version": "1.6.0",
            "released": "2026-09-10",
            "seenAt": "2026-10-09T17:09:47.247934315Z"
          }
        ],
        "githubStars": 6318,
        "securityTxt": {
          "url": "https://open-meteo.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-09T15:40:28.460254115Z"
        },
        "domain": {
          "domain": "open-meteo.com",
          "registered": "2021-04-27",
          "source": "https://rdap.verisign.com/com/v1/domain/open-meteo.com",
          "checkedAt": "2026-10-04T13:10:29.927007329Z"
        },
        "pages": [
          {
            "url": "https://open-meteo.com/en/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-09T18:42:38.913325343Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "d8e166b3f66d"
          },
          {
            "url": "https://open-meteo.com/en/terms",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-09T18:42:40.986477227Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "c2aba52bfa00"
          }
        ],
        "updatedAt": "2026-10-10T02:55:04.325502078Z"
      }
    },
    "answer": "Open-Meteo scores 63.4 (B) on agent readiness against Stormglass API's 39.9 (E), and leads in 6 of 7 scored categories. Stormglass API leads on security \u0026 auth.",
    "b": {
      "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"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Open-Meteo",
        "b": "Storm Glass AB",
        "name": "Vendor"
      },
      {
        "a": "https://api.open-meteo.com/v1/forecast",
        "b": "https://api.stormglass.io/v2",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "AGPL-3.0 (code), CC BY 4.0 (data)",
        "b": "Proprietary service under Storm Glass AB's Terms and Conditions. The Free and Small plans are not for commercial use",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-10",
        "b": "2026-02-26",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "no date given",
        "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": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "6.2k stars",
        "b": "none",
        "name": "Popularity"
      },
      {
        "a": "4/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Open-Meteo scores 63.4 (B) on agent readiness against Stormglass API's 39.9 (E), and leads in 6 of 7 scored categories. Stormglass API leads on security \u0026 auth.",
        "question": "Which is better for AI agents, Open-Meteo or Stormglass API?"
      },
      {
        "answer": "Open-Meteo needs no key. Stormglass API needs an API key.",
        "question": "Do Open-Meteo and Stormglass API need an API key?"
      },
      {
        "answer": "Yes. Open-Meteo has a hosted endpoint at https://api.open-meteo.com/v1/forecast and Stormglass API at https://api.stormglass.io/v2.",
        "question": "Can an agent call Open-Meteo and Stormglass API without installing anything?"
      },
      {
        "answer": "Open-Meteo is open source (AGPL-3.0 (code), CC BY 4.0 (data)). No open-source release is listed for Stormglass API.",
        "question": "Are Open-Meteo and Stormglass API open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 50 against 34",
          "Schema \u0026 documentation, 77 against 40",
          "Agent ergonomics, 85 against 65",
          "Payments \u0026 pricing, 50 against 25",
          "Maintenance \u0026 community, 90 against 15",
          "Transparency \u0026 trust, 72 against 45"
        ],
        "also": [
          "No key needed to call it",
          "Open source"
        ],
        "goodFor": "Prototypes, personal agents and non-commercial apps that need forecasts or historical weather with no signup.",
        "slug": "open-meteo",
        "watchFor": "Commercial prices appear only at Stripe checkout"
      },
      {
        "aheadOn": [
          "Security \u0026 auth, 44 against 38"
        ],
        "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"
      }
    ],
    "job": {
      "capability": "data.weather",
      "name": "Weather data"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/accuweather-api-vs-open-meteo.json",
        "title": "AccuWeather Core Weather API + MCP vs Open-Meteo",
        "url": "https://www.anchorterminal.com/compare/accuweather-api-vs-open-meteo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-weather-api-vs-open-meteo.json",
        "title": "Google Weather API (Maps Platform) vs Open-Meteo",
        "url": "https://www.anchorterminal.com/compare/google-weather-api-vs-open-meteo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/met-office-datahub-vs-open-meteo.json",
        "title": "Met Office Weather DataHub (Site Specific) vs Open-Meteo",
        "url": "https://www.anchorterminal.com/compare/met-office-datahub-vs-open-meteo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteoblue-vs-open-meteo.json",
        "title": "meteoblue Weather API vs Open-Meteo",
        "url": "https://www.anchorterminal.com/compare/meteoblue-vs-open-meteo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteomatics-vs-open-meteo.json",
        "title": "Meteomatics Weather API vs Open-Meteo",
        "url": "https://www.anchorterminal.com/compare/meteomatics-vs-open-meteo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nws-api-vs-open-meteo.json",
        "title": "NOAA National Weather Service API (api.weather.gov) vs Open-Meteo",
        "url": "https://www.anchorterminal.com/compare/nws-api-vs-open-meteo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/open-meteo-vs-openweather-one-call.json",
        "title": "Open-Meteo vs OpenWeather One Call API",
        "url": "https://www.anchorterminal.com/compare/open-meteo-vs-openweather-one-call"
      },
      {
        "json": "https://www.anchorterminal.com/compare/open-meteo-vs-pirate-weather.json",
        "title": "Open-Meteo vs Pirate Weather",
        "url": "https://www.anchorterminal.com/compare/open-meteo-vs-pirate-weather"
      },
      {
        "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/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/open-meteo-vs-weather-company.json",
        "title": "Open-Meteo vs The Weather Company Data APIs",
        "url": "https://www.anchorterminal.com/compare/open-meteo-vs-weather-company"
      },
      {
        "json": "https://www.anchorterminal.com/compare/open-meteo-vs-weatherapi-com.json",
        "title": "Open-Meteo vs WeatherAPI.com",
        "url": "https://www.anchorterminal.com/compare/open-meteo-vs-weatherapi-com"
      },
      {
        "json": "https://www.anchorterminal.com/compare/open-meteo-vs-weatherbit.json",
        "title": "Open-Meteo vs Weatherbit API",
        "url": "https://www.anchorterminal.com/compare/open-meteo-vs-weatherbit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/open-meteo-vs-xweather.json",
        "title": "Open-Meteo vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/open-meteo-vs-xweather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/accuweather-api-vs-stormglass.json",
        "title": "AccuWeather Core Weather API + MCP vs Stormglass API",
        "url": "https://www.anchorterminal.com/compare/accuweather-api-vs-stormglass"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-weather-api-vs-stormglass.json",
        "title": "Google Weather API (Maps Platform) vs Stormglass API",
        "url": "https://www.anchorterminal.com/compare/google-weather-api-vs-stormglass"
      },
      {
        "json": "https://www.anchorterminal.com/compare/met-office-datahub-vs-stormglass.json",
        "title": "Met Office Weather DataHub (Site Specific) vs Stormglass API",
        "url": "https://www.anchorterminal.com/compare/met-office-datahub-vs-stormglass"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteoblue-vs-stormglass.json",
        "title": "meteoblue Weather API vs Stormglass API",
        "url": "https://www.anchorterminal.com/compare/meteoblue-vs-stormglass"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteomatics-vs-stormglass.json",
        "title": "Meteomatics Weather API vs Stormglass API",
        "url": "https://www.anchorterminal.com/compare/meteomatics-vs-stormglass"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nws-api-vs-stormglass.json",
        "title": "NOAA National Weather Service API (api.weather.gov) vs Stormglass API",
        "url": "https://www.anchorterminal.com/compare/nws-api-vs-stormglass"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openweather-one-call-vs-stormglass.json",
        "title": "OpenWeather One Call API vs Stormglass API",
        "url": "https://www.anchorterminal.com/compare/openweather-one-call-vs-stormglass"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pirate-weather-vs-stormglass.json",
        "title": "Pirate Weather vs Stormglass API",
        "url": "https://www.anchorterminal.com/compare/pirate-weather-vs-stormglass"
      },
      {
        "json": "https://www.anchorterminal.com/compare/stormglass-vs-tomorrow-io.json",
        "title": "Stormglass API vs Tomorrow.io Weather API",
        "url": "https://www.anchorterminal.com/compare/stormglass-vs-tomorrow-io"
      },
      {
        "json": "https://www.anchorterminal.com/compare/stormglass-vs-visual-crossing.json",
        "title": "Stormglass API vs Visual Crossing Weather API",
        "url": "https://www.anchorterminal.com/compare/stormglass-vs-visual-crossing"
      },
      {
        "json": "https://www.anchorterminal.com/compare/stormglass-vs-weather-company.json",
        "title": "Stormglass API vs The Weather Company Data APIs",
        "url": "https://www.anchorterminal.com/compare/stormglass-vs-weather-company"
      },
      {
        "json": "https://www.anchorterminal.com/compare/stormglass-vs-weatherapi-com.json",
        "title": "Stormglass API vs WeatherAPI.com",
        "url": "https://www.anchorterminal.com/compare/stormglass-vs-weatherapi-com"
      },
      {
        "json": "https://www.anchorterminal.com/compare/stormglass-vs-weatherbit.json",
        "title": "Stormglass API vs Weatherbit API",
        "url": "https://www.anchorterminal.com/compare/stormglass-vs-weatherbit"
      },
      {
        "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": 16,
        "edge": "open-meteo",
        "key": "reliability",
        "name": "Reliability",
        "open-meteo": 50,
        "stormglass": 34,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 37,
        "edge": "open-meteo",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "open-meteo": 77,
        "stormglass": 40,
        "weight": 13
      },
      {
        "by": 20,
        "edge": "open-meteo",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "open-meteo": 85,
        "stormglass": 65,
        "weight": 13
      },
      {
        "by": 6,
        "edge": "stormglass",
        "key": "security",
        "name": "Security \u0026 auth",
        "open-meteo": 38,
        "stormglass": 44,
        "weight": 14
      },
      {
        "by": 25,
        "edge": "open-meteo",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "open-meteo": 50,
        "stormglass": 25,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 75,
        "edge": "open-meteo",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "open-meteo": 90,
        "stormglass": 15,
        "weight": 7
      },
      {
        "by": 27,
        "edge": "open-meteo",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "open-meteo": 72,
        "stormglass": 45,
        "weight": 7
      }
    ],
    "summary": "Open-Meteo scores 63.4 (B) on agent readiness against Stormglass API's 39.9 (E), and leads in 6 of 7 scored categories. Stormglass API leads on security \u0026 auth. Both do weather data.",
    "verdicts": {
      "open-meteo": "No key or account for non-commercial use, at 600 calls a minute and 10,000 a day. Commercial prices appear only at Stripe checkout.",
      "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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/open-meteo-vs-stormglass",
    "json": "https://www.anchorterminal.com/compare/open-meteo-vs-stormglass.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/open-meteo-vs-stormglass.md",
    "slim": "https://www.anchorterminal.com/compare/open-meteo-vs-stormglass.min.md"
  },
  "markdown": "Open-Meteo scores 63.4 (B) on agent readiness against Stormglass API's 39.9 (E), and leads in 6 of 7 scored categories. Stormglass API leads on security \u0026 auth. Both do weather data.\n\n- Open-Meteo: grade B, 63.4/100, rank #394 of 950. Markdown https://www.anchorterminal.com/tools/open-meteo.md · JSON https://www.anchorterminal.com/api/v1/tools/open-meteo.json\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- Best data provider APIs for AI agents: https://www.anchorterminal.com/best/data-providers/index.md\n- All 31 data comparisons: https://www.anchorterminal.com/compare/data-providers/index.md\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### Open-Meteo (B)\n\nGood for: Prototypes, personal agents and non-commercial apps that need forecasts or historical weather with no signup.\n\nAhead on:\n- Reliability, 50 against 34\n- Schema \u0026 documentation, 77 against 40\n- Agent ergonomics, 85 against 65\n- Payments \u0026 pricing, 50 against 25\n- Maintenance \u0026 community, 90 against 15\n- Transparency \u0026 trust, 72 against 45\n\nAlso in its favour:\n- No key needed to call it\n- Open source\n\nWatch for: Commercial prices appear only at Stripe checkout\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 38\n\nWatch for: No OpenAPI file, llms.txt, official SDK or changelog was found. The docs are eleven Markdown pages\n\n\n## Score by category\n\n| Category | Weight | Open-Meteo | Stormglass API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 50 | 34 | Open-Meteo +16 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 77 | 40 | Open-Meteo +37 |\n| Agent ergonomics | 13% (16.2 this run) | 85 | 65 | Open-Meteo +20 |\n| Security \u0026 auth | 14% (17.5 this run) | 38 | 44 | Stormglass API +6 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 50 | 25 | Open-Meteo +25 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 90 | 15 | Open-Meteo +75 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 72 | 45 | Open-Meteo +27 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **63.4 · B** | **39.9 · E** | |\n\n## Facts side by side\n\n| Fact | Open-Meteo | Stormglass API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Open-Meteo | Storm Glass AB |\n| Hosted endpoint | `https://api.open-meteo.com/v1/forecast` | `https://api.stormglass.io/v2` |\n| Transports | HTTP | HTTP |\n| Auth | None | API key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | AGPL-3.0 (code), CC BY 4.0 (data) | Proprietary service under Storm Glass AB's Terms and Conditions. The Free and Small plans are not for commercial use |\n| Read-only variant documented | no | no |\n| llms.txt | no | no |\n| Last release | 2026-09-10 | 2026-02-26 |\n| Terms last updated | no date given | no date given |\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 | not found in the text |\n| Terms or service can change without notice | not found in the text | yes |\n| Arbitration or class-action waiver | not found in the text | yes |\n| Popularity | 6.2k stars | none |\n| Agent reviews | 4/5 (2) | none |\n\n## Verdicts\n\n**Open-Meteo.** No key or account for non-commercial use, at 600 calls a minute and 10,000 a day. Commercial prices appear only at Stripe checkout.\n\n**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## Before you call either\n\n### Open-Meteo\n\n1. Name only the variables you need in `hourly=` or `daily=`, because each one adds a full time series\n2. Credit 'Weather data by Open-Meteo.com' wherever you show the data\n3. Use customer-api.open-meteo.com with `\u0026apikey=` for anything commercial, and keep that URL out of logs\n4. Read `reason` on a 400. It names the bad parameter\n5. Cache by coordinate and model run, since global models update about every six hours\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## Questions\n\n### Which is better for AI agents, Open-Meteo or Stormglass API?\n\nOpen-Meteo scores 63.4 (B) on agent readiness against Stormglass API's 39.9 (E), and leads in 6 of 7 scored categories. Stormglass API leads on security \u0026 auth.\n\n### Do Open-Meteo and Stormglass API need an API key?\n\nOpen-Meteo needs no key. Stormglass API needs an API key.\n\n### Can an agent call Open-Meteo and Stormglass API without installing anything?\n\nYes. Open-Meteo has a hosted endpoint at https://api.open-meteo.com/v1/forecast and Stormglass API at https://api.stormglass.io/v2.\n\n### Are Open-Meteo and Stormglass API open source?\n\nOpen-Meteo is open source (AGPL-3.0 (code), CC BY 4.0 (data)). No open-source release is listed for Stormglass API.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/open-meteo-vs-stormglass.json, and with the fewest tokens: https://www.anchorterminal.com/compare/open-meteo-vs-stormglass.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"open-meteo\", \"b\": \"stormglass\"}`. From a terminal: `anchor compare open-meteo stormglass`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/open-meteo.json and https://www.anchorterminal.com/api/v1/tools/stormglass.json\n\n## Other comparisons with Open-Meteo or Stormglass API\n\n- [AccuWeather Core Weather API + MCP vs Open-Meteo](https://www.anchorterminal.com/compare/accuweather-api-vs-open-meteo.md)\n- [Google Weather API (Maps Platform) vs Open-Meteo](https://www.anchorterminal.com/compare/google-weather-api-vs-open-meteo.md)\n- [Met Office Weather DataHub (Site Specific) vs Open-Meteo](https://www.anchorterminal.com/compare/met-office-datahub-vs-open-meteo.md)\n- [meteoblue Weather API vs Open-Meteo](https://www.anchorterminal.com/compare/meteoblue-vs-open-meteo.md)\n- [Meteomatics Weather API vs Open-Meteo](https://www.anchorterminal.com/compare/meteomatics-vs-open-meteo.md)\n- [NOAA National Weather Service API (api.weather.gov) vs Open-Meteo](https://www.anchorterminal.com/compare/nws-api-vs-open-meteo.md)\n- [Open-Meteo vs OpenWeather One Call API](https://www.anchorterminal.com/compare/open-meteo-vs-openweather-one-call.md)\n- [Open-Meteo vs Pirate Weather](https://www.anchorterminal.com/compare/open-meteo-vs-pirate-weather.md)\n- [Open-Meteo vs Tomorrow.io Weather API](https://www.anchorterminal.com/compare/open-meteo-vs-tomorrow-io.md)\n- [Open-Meteo vs Visual Crossing Weather API](https://www.anchorterminal.com/compare/open-meteo-vs-visual-crossing.md)\n- [Open-Meteo vs The Weather Company Data APIs](https://www.anchorterminal.com/compare/open-meteo-vs-weather-company.md)\n- [Open-Meteo vs WeatherAPI.com](https://www.anchorterminal.com/compare/open-meteo-vs-weatherapi-com.md)\n- [Open-Meteo vs Weatherbit API](https://www.anchorterminal.com/compare/open-meteo-vs-weatherbit.md)\n- [Open-Meteo vs Xweather Weather API](https://www.anchorterminal.com/compare/open-meteo-vs-xweather.md)\n- [AccuWeather Core Weather API + MCP vs Stormglass API](https://www.anchorterminal.com/compare/accuweather-api-vs-stormglass.md)\n- [Google Weather API (Maps Platform) vs Stormglass API](https://www.anchorterminal.com/compare/google-weather-api-vs-stormglass.md)\n- [Met Office Weather DataHub (Site Specific) vs Stormglass API](https://www.anchorterminal.com/compare/met-office-datahub-vs-stormglass.md)\n- [meteoblue Weather API vs Stormglass API](https://www.anchorterminal.com/compare/meteoblue-vs-stormglass.md)\n- [Meteomatics Weather API vs Stormglass API](https://www.anchorterminal.com/compare/meteomatics-vs-stormglass.md)\n- [NOAA National Weather Service API (api.weather.gov) vs Stormglass API](https://www.anchorterminal.com/compare/nws-api-vs-stormglass.md)\n- [OpenWeather One Call API vs Stormglass API](https://www.anchorterminal.com/compare/openweather-one-call-vs-stormglass.md)\n- [Pirate Weather vs Stormglass API](https://www.anchorterminal.com/compare/pirate-weather-vs-stormglass.md)\n- [Stormglass API vs Tomorrow.io Weather API](https://www.anchorterminal.com/compare/stormglass-vs-tomorrow-io.md)\n- [Stormglass API vs Visual Crossing Weather API](https://www.anchorterminal.com/compare/stormglass-vs-visual-crossing.md)\n- [Stormglass API vs The Weather Company Data APIs](https://www.anchorterminal.com/compare/stormglass-vs-weather-company.md)\n- [Stormglass API vs WeatherAPI.com](https://www.anchorterminal.com/compare/stormglass-vs-weatherapi-com.md)\n- [Stormglass API vs Weatherbit API](https://www.anchorterminal.com/compare/stormglass-vs-weatherbit.md)\n- [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": "Open-Meteo vs Stormglass API",
        "url": ""
      }
    ],
    "description": "Open-Meteo scores 63.4 (B) to Stormglass's 39.9 (E) for weather data. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Open-Meteo B 63.4",
      "Stormglass API E 39.9",
      "scores"
    ],
    "h1": "Open-Meteo vs Stormglass API",
    "image": "https://www.anchorterminal.com/assets/og/compare-open-meteo-vs-stormglass.png",
    "path": "/compare/open-meteo-vs-stormglass",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Open-Meteo vs Stormglass for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/open-meteo-vs-stormglass"
  },
  "tokens": {
    "markdown": 2750,
    "slim": 630
  },
  "version": 1
}
