{
  "data": {
    "a": {
      "slug": "meteoblue",
      "name": "meteoblue Weather API",
      "vendor": "meteoblue AG",
      "vendorUrl": "https://www.meteoblue.com",
      "kind": "http-api",
      "category": "weather",
      "summary": "Weather data APIs from meteoblue AG of Basel, Switzerland. The Forecast API returns point forecasts in packages by coordinates, with History, Warnings, Dataset, Image and Maps APIs beside it, over HTTPS with an API key.",
      "url": "https://www.anchorterminal.com/tools/meteoblue",
      "markdownUrl": "https://www.anchorterminal.com/tools/meteoblue.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/meteoblue.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/meteoblue.json",
      "repo": "https://github.com/meteoblue/python-dataset-sdk",
      "license": "Proprietary service under meteoblue's general terms and conditions. The Python SDK for the Dataset API is MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://my.meteoblue.com",
      "packages": [
        {
          "registry": "pypi",
          "name": "meteoblue-dataset-sdk"
        }
      ],
      "auth": "api-key",
      "authNotes": "Self-serve key from a meteoblue account, created in a browser and managed in the Weather API Manager. The key goes in the `apikey` query parameter on every request, and no header option is documented. An account can hold several keys, each with a daily credit limit, an IP allow list, a referrer allow list and an optional shared secret for HMAC-SHA256 signed URLs. Paid plans start with an enquiry.",
      "pricing": "freemium",
      "pricingNotes": "Free Weather API with 10 million credits for one year from a free account, covering nine forecast packages, so an agent's owner can start without a contract. Calls cost 4,000 to 96,000 credits by package. The Premium Weather API is shown at EUR 2,400 a year for 40,000 calls a month, with larger tiers by enquiry. Prepaid credit prices are shown only after login (https://business.meteoblue.com/pricing, checked 2026-10-08).",
      "priceSummary": "Freemium",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API docs, the OpenAPI specs or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 8,
        "npmWeekly": null,
        "pypiWeekly": 512,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.meteoblue.com/en/weather-apis/introduction/overview",
      "llmsTxt": "https://business.meteoblue.com/llms.txt",
      "openapi": "https://my.meteoblue.com/packages/openapi.json",
      "capabilities": [
        "weather.current",
        "weather.forecast",
        "weather.historical",
        "weather.alerts",
        "weather.marine",
        "data.weather"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "closed-source",
        "openapi",
        "llms-txt",
        "python",
        "status-page",
        "europe"
      ],
      "lastRelease": "2026-08-22",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 61.7,
        "grade": "C",
        "agentReady": false,
        "rank": 460,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 5,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 66,
          "maintenance": 57,
          "payments": 34,
          "reliability": 75,
          "schema": 77,
          "security": 51,
          "transparency": 61
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "Eight of the APIs publish OpenAPI 3.1 specs, and the Forecast API spec lists the credit cost of every package. A public Pingdom page shows monthly uptime per API. The key travels only in the query string, the free trial covers nine forecast packages, and no security.txt, certification or DPA was found.",
        "bestFor": "Energy, agriculture and marine applications that need solar, wind, soil, sea or ensemble variables at a point, with history back to 1940 on a paid plan.",
        "strengths": [
          "OpenAPI 3.1 specs for the Forecast (54 paths), History, Dataset, Image, Warnings, Measurements, Accounting and Model-Run Archive APIs, each at `openapi.json` beside its ReDoc page",
          "The Forecast API spec lists credits per package, 4,000 for `basic-day` and `current`, 8,000 for `basic-1h`, and each response carries an `MB-Credits-Accounted` header",
          "Free Weather API with 10 million credits for one year from a self-serve account, with no purchase obligation stated",
          "Keys can be limited by daily credits, IP range and referrer, or tied to an HMAC-SHA256 signature with an expiry time",
          "Pingdom status page with 15 monitors and monthly history. The Forecast API monitor shows one 2-minute outage in the 90 days to 8 October 2026"
        ],
        "weaknesses": [
          "The key is accepted only as the `apikey` query parameter, so it appears in URLs and logs unless request signing is switched on",
          "The free trial covers nine forecast packages at hourly or coarser steps. Current conditions, sea, history, warnings and the Dataset API need a paid plan",
          "No security.txt, disclosure policy, SOC 2 or ISO 27001 was found. The only certificate published is ISO 9001:2015",
          "The general terms date from 24 May 2018, give no API-specific clauses and let meteoblue change or revoke them at any time",
          "The History API monitor shows an outage of 1 hour 26 minutes on 1 September 2026, and the status page is served over plain http only"
        ],
        "agentNotes": [
          "Pass `lat`, `lon` and `apikey` to `https://my.meteoblue.com/packages/\u003cpackage\u003e`. Join packages with commas, such as `basic-1h,basic-day`, to get several in one call",
          "Budget credits before calling. One call costs 4,000 to 96,000 credits by package, and the free trial holds 10 million for a year. Read `MB-Credits-Accounted` on each response",
          "Set `forecastDays` and pick the coarsest resolution that does the job. Without it the API returns every forecast day it has",
          "Call with a 30-second timeout, wait 30 seconds after an error and stop after 10 retries, as the availability page advises. The default limit is 500 calls a minute",
          "Keep the key out of logs, since it is part of every URL. Ask for a shared secret and send `expire` and `sig` if URLs may be seen by others"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 61.7
          }
        ],
        "editorialScores": {
          "ergonomics": 66,
          "maintenance": 57,
          "payments": 34,
          "reliability": 75,
          "schema": 77,
          "security": 51,
          "transparency": 35
        },
        "provenanceScore": 87
      },
      "connect": {
        "install": "pip install meteoblue-dataset-sdk",
        "http": "curl \"https://my.meteoblue.com/packages/basic-1h?lat=47.5596\u0026lon=7.5886\u0026tz=utc\u0026apikey=YOUR_APIKEY\""
      },
      "letme": {
        "capability": "https://letme.dev/weather.current",
        "tool": "https://letme.dev/meteoblue"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "meteoblue AG",
        "domain": "meteoblue.com",
        "domainRegistered": "2005-11-15",
        "endpointOnVendorDomain": true,
        "terms": "https://business.meteoblue.com/terms-conditions",
        "privacy": "https://business.meteoblue.com/privacy-policy",
        "statusPage": "http://status.meteoblue.com/",
        "changelog": "https://business.meteoblue.com/changelog",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The terms and conditions (last revised 24 May 2018) are meteoblue's general terms for all services, products and data, the API included. They name meteoblue AG, Basel, under Swiss law with Basel as forum. No separate API agreement is published, and commercial terms are agreed in writing.",
          "The privacy policy (last revised 15 May 2024) states that it applies to all meteoblue services however they are used, and names the website, apps and API. The same two texts are also served at content.meteoblue.com/en/about-us/legal/.",
          "The imprint gives meteoblue AG, Greifengasse 38, CH-4058 Basel, commercial register number CHE-113.182.626.",
          "The APIs answer at my.meteoblue.com, warnings-api.meteoblue.com and measurements-api.meteoblue.com, behind Cloudflare.",
          "/.well-known/security.txt returns 404 on www.meteoblue.com, my.meteoblue.com, business.meteoblue.com and docs.meteoblue.com, and 403 on content.meteoblue.com.",
          "status.meteoblue.com is a Pingdom public report with 15 monitors. It answers over http. Over https the certificate does not match the host name.",
          "The changelog is on the business site, 19 dated entries from 11 August 2025 to 22 August 2026, mostly data and model additions.",
          "RDAP for meteoblue.com gives a registration date of 2005-11-15."
        ],
        "score": 87
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/meteoblue.json",
      "live": {
        "slug": "meteoblue",
        "probe": {
          "target": "https://my.meteoblue.com",
          "method": "get",
          "lastAt": "2026-10-10T03:53:34.462118475Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 58,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 65,
          "p95ms24h": 130,
          "samples24h": 249,
          "samples30d": 340,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 50,
              "ok": 50
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 40,
              "ok": 40
            }
          ]
        },
        "vendorStatus": {
          "page": "http://status.meteoblue.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-10T00:50:48.151742325Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "meteoblue/python-dataset-sdk",
            "version": "1.3.5",
            "released": "2025-01-10",
            "seenAt": "2026-10-09T17:05:08.878220131Z"
          },
          {
            "registry": "pypi",
            "name": "meteoblue-dataset-sdk",
            "version": "1.3.5",
            "released": "2025-01-10",
            "seenAt": "2026-10-09T17:05:08.691590625Z"
          }
        ],
        "githubStars": 8,
        "pypiWeekly": 449,
        "securityTxt": {
          "url": "https://meteoblue.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-09T15:39:53.73167324Z"
        },
        "llmsTxt": {
          "url": "https://business.meteoblue.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-09T14:02:17.423499989Z"
        },
        "pages": [
          {
            "url": "https://business.meteoblue.com/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-09T18:33:26.516240571Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "c6b5a227c7fa"
          },
          {
            "url": "https://business.meteoblue.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-09T18:33:28.676738499Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "4f38fe1a75e0"
          },
          {
            "url": "https://business.meteoblue.com/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-09T18:33:30.574712974Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "990e935f5b08"
          },
          {
            "url": "https://business.meteoblue.com/terms-conditions",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-09T18:33:32.646573686Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "97c90773f537"
          }
        ],
        "updatedAt": "2026-10-10T03:53:34.462118475Z"
      }
    },
    "answer": "meteoblue Weather API scores 61.7 (C) on agent readiness against Stormglass API's 39.9 (E), and leads in every scored category.",
    "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-10T03:53:45.527022195Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 89,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 92,
          "p95ms24h": 178,
          "samples24h": 125,
          "samples30d": 125,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 85,
              "ok": 85
            },
            {
              "date": "2026-10-10",
              "probes": 40,
              "ok": 40
            }
          ]
        },
        "pages": [
          {
            "url": "https://stormglass.io/blog/",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-09T18:46:02.001753939Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "5a37464aafd0"
          },
          {
            "url": "https://stormglass.io/pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-09T18:46:04.76357096Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "f271b3b3e8f6"
          },
          {
            "url": "https://stormglass.io/terms-and-conditions/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-09T18:46:06.564080089Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "b9087482d5aa"
          }
        ],
        "updatedAt": "2026-10-10T03:53:45.527022195Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "meteoblue AG",
        "b": "Storm Glass AB",
        "name": "Vendor"
      },
      {
        "a": "https://my.meteoblue.com",
        "b": "https://api.stormglass.io/v2",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under meteoblue's general terms and conditions. The Python SDK for the Dataset API is MIT",
        "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": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-08-22",
        "b": "2026-02-26",
        "name": "Last release"
      },
      {
        "a": "2018-05-24",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "2024-05-15",
        "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": "8 stars, 512 PyPI/wk",
        "b": "none",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "meteoblue Weather API scores 61.7 (C) on agent readiness against Stormglass API's 39.9 (E), and leads in every scored category.",
        "question": "Which is better for AI agents, meteoblue Weather API or Stormglass API?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do meteoblue Weather API and Stormglass API need an API key?"
      },
      {
        "answer": "Yes. meteoblue Weather API has a hosted endpoint at https://my.meteoblue.com and Stormglass API at https://api.stormglass.io/v2.",
        "question": "Can an agent call meteoblue Weather API and Stormglass API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 75 against 34",
          "Schema \u0026 documentation, 77 against 40",
          "Security \u0026 auth, 51 against 44",
          "Payments \u0026 pricing, 34 against 25",
          "Maintenance \u0026 community, 57 against 15",
          "Transparency \u0026 trust, 61 against 45"
        ],
        "also": null,
        "goodFor": "Energy, agriculture and marine applications that need solar, wind, soil, sea or ensemble variables at a point, with history back to 1940 on a paid plan.",
        "slug": "meteoblue",
        "watchFor": "The key is accepted only as the `apikey` query parameter, so it appears in URLs and logs unless request signing is switched on"
      },
      {
        "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"
      }
    ],
    "job": {
      "capability": "weather.forecast",
      "name": "Weather forecasts"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/accuweather-api-vs-meteoblue.json",
        "title": "AccuWeather Core Weather API + MCP vs meteoblue Weather API",
        "url": "https://www.anchorterminal.com/compare/accuweather-api-vs-meteoblue"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-weather-api-vs-meteoblue.json",
        "title": "Google Weather API (Maps Platform) vs meteoblue Weather API",
        "url": "https://www.anchorterminal.com/compare/google-weather-api-vs-meteoblue"
      },
      {
        "json": "https://www.anchorterminal.com/compare/met-office-datahub-vs-meteoblue.json",
        "title": "Met Office Weather DataHub (Site Specific) vs meteoblue Weather API",
        "url": "https://www.anchorterminal.com/compare/met-office-datahub-vs-meteoblue"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteoblue-vs-meteomatics.json",
        "title": "meteoblue Weather API vs Meteomatics Weather API",
        "url": "https://www.anchorterminal.com/compare/meteoblue-vs-meteomatics"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteoblue-vs-nws-api.json",
        "title": "meteoblue Weather API vs NOAA National Weather Service API (api.weather.gov)",
        "url": "https://www.anchorterminal.com/compare/meteoblue-vs-nws-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteoblue-vs-openweather-one-call.json",
        "title": "meteoblue Weather API vs OpenWeather One Call API",
        "url": "https://www.anchorterminal.com/compare/meteoblue-vs-openweather-one-call"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteoblue-vs-pirate-weather.json",
        "title": "meteoblue Weather API vs Pirate Weather",
        "url": "https://www.anchorterminal.com/compare/meteoblue-vs-pirate-weather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteoblue-vs-tomorrow-io.json",
        "title": "meteoblue Weather API vs Tomorrow.io Weather API",
        "url": "https://www.anchorterminal.com/compare/meteoblue-vs-tomorrow-io"
      },
      {
        "json": "https://www.anchorterminal.com/compare/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/meteoblue-vs-weather-company.json",
        "title": "meteoblue Weather API vs The Weather Company Data APIs",
        "url": "https://www.anchorterminal.com/compare/meteoblue-vs-weather-company"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteoblue-vs-weatherapi-com.json",
        "title": "meteoblue Weather API vs WeatherAPI.com",
        "url": "https://www.anchorterminal.com/compare/meteoblue-vs-weatherapi-com"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteoblue-vs-weatherbit.json",
        "title": "meteoblue Weather API vs Weatherbit API",
        "url": "https://www.anchorterminal.com/compare/meteoblue-vs-weatherbit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteoblue-vs-xweather.json",
        "title": "meteoblue Weather API vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/meteoblue-vs-xweather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/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/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/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/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": 41,
        "edge": "meteoblue",
        "key": "reliability",
        "meteoblue": 75,
        "name": "Reliability",
        "stormglass": 34,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 37,
        "edge": "meteoblue",
        "key": "schema",
        "meteoblue": 77,
        "name": "Schema \u0026 documentation",
        "stormglass": 40,
        "weight": 13
      },
      {
        "by": 1,
        "edge": "meteoblue",
        "key": "ergonomics",
        "meteoblue": 66,
        "name": "Agent ergonomics",
        "stormglass": 65,
        "weight": 13
      },
      {
        "by": 7,
        "edge": "meteoblue",
        "key": "security",
        "meteoblue": 51,
        "name": "Security \u0026 auth",
        "stormglass": 44,
        "weight": 14
      },
      {
        "by": 9,
        "edge": "meteoblue",
        "key": "payments",
        "meteoblue": 34,
        "name": "Payments \u0026 pricing",
        "stormglass": 25,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 42,
        "edge": "meteoblue",
        "key": "maintenance",
        "meteoblue": 57,
        "name": "Maintenance \u0026 community",
        "stormglass": 15,
        "weight": 7
      },
      {
        "by": 16,
        "edge": "meteoblue",
        "key": "transparency",
        "meteoblue": 61,
        "name": "Transparency \u0026 trust",
        "stormglass": 45,
        "weight": 7
      }
    ],
    "summary": "meteoblue Weather API scores 61.7 (C) on agent readiness against Stormglass API's 39.9 (E), and leads in every scored category. Both do weather forecasts.",
    "verdicts": {
      "meteoblue": "Eight of the APIs publish OpenAPI 3.1 specs, and the Forecast API spec lists the credit cost of every package. A public Pingdom page shows monthly uptime per API. The key travels only in the query string, the free trial covers nine forecast packages, and no security.txt, certification or DPA was found.",
      "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/meteoblue-vs-stormglass",
    "json": "https://www.anchorterminal.com/compare/meteoblue-vs-stormglass.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/meteoblue-vs-stormglass.md",
    "slim": "https://www.anchorterminal.com/compare/meteoblue-vs-stormglass.min.md"
  },
  "markdown": "meteoblue Weather API scores 61.7 (C) on agent readiness against Stormglass API's 39.9 (E), and leads in every scored category. Both do weather forecasts.\n\n- meteoblue Weather API: grade C, 61.7/100, rank #460 of 950. Markdown https://www.anchorterminal.com/tools/meteoblue.md · JSON https://www.anchorterminal.com/api/v1/tools/meteoblue.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 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### meteoblue Weather API (C)\n\nGood for: Energy, agriculture and marine applications that need solar, wind, soil, sea or ensemble variables at a point, with history back to 1940 on a paid plan.\n\nAhead on:\n- Reliability, 75 against 34\n- Schema \u0026 documentation, 77 against 40\n- Security \u0026 auth, 51 against 44\n- Payments \u0026 pricing, 34 against 25\n- Maintenance \u0026 community, 57 against 15\n- Transparency \u0026 trust, 61 against 45\n\nWatch for: The key is accepted only as the `apikey` query parameter, so it appears in URLs and logs unless request signing is switched on\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\n## Score by category\n\n| Category | Weight | meteoblue Weather API | Stormglass API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 75 | 34 | meteoblue Weather API +41 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 77 | 40 | meteoblue Weather API +37 |\n| Agent ergonomics | 13% (16.2 this run) | 66 | 65 | meteoblue Weather API +1 |\n| Security \u0026 auth | 14% (17.5 this run) | 51 | 44 | meteoblue Weather API +7 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 34 | 25 | meteoblue Weather API +9 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 57 | 15 | meteoblue Weather API +42 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 61 | 45 | meteoblue Weather API +16 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **61.7 · C** | **39.9 · E** | |\n\n## Facts side by side\n\n| Fact | meteoblue Weather API | Stormglass API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | meteoblue AG | Storm Glass AB |\n| Hosted endpoint | `https://my.meteoblue.com` | `https://api.stormglass.io/v2` |\n| Transports | HTTP | HTTP |\n| Auth | API key | API key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | Proprietary service under meteoblue's general terms and conditions. The Python SDK for the Dataset API is MIT | 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 | yes | no |\n| Last release | 2026-08-22 | 2026-02-26 |\n| Terms last updated | 2018-05-24 | no date given |\n| Privacy policy last updated | 2024-05-15 | 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 | 8 stars, 512 PyPI/wk | none |\n\n## Verdicts\n\n**meteoblue Weather API.** Eight of the APIs publish OpenAPI 3.1 specs, and the Forecast API spec lists the credit cost of every package. A public Pingdom page shows monthly uptime per API. The key travels only in the query string, the free trial covers nine forecast packages, and no security.txt, certification or DPA was found.\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### meteoblue Weather API\n\n1. Pass `lat`, `lon` and `apikey` to `https://my.meteoblue.com/packages/\u003cpackage\u003e`. Join packages with commas, such as `basic-1h,basic-day`, to get several in one call\n2. Budget credits before calling. One call costs 4,000 to 96,000 credits by package, and the free trial holds 10 million for a year. Read `MB-Credits-Accounted` on each response\n3. Set `forecastDays` and pick the coarsest resolution that does the job. Without it the API returns every forecast day it has\n4. Call with a 30-second timeout, wait 30 seconds after an error and stop after 10 retries, as the availability page advises. The default limit is 500 calls a minute\n5. Keep the key out of logs, since it is part of every URL. Ask for a shared secret and send `expire` and `sig` if URLs may be seen by others\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, meteoblue Weather API or Stormglass API?\n\nmeteoblue Weather API scores 61.7 (C) on agent readiness against Stormglass API's 39.9 (E), and leads in every scored category.\n\n### Do meteoblue Weather API and Stormglass API need an API key?\n\nBoth need an API key.\n\n### Can an agent call meteoblue Weather API and Stormglass API without installing anything?\n\nYes. meteoblue Weather API has a hosted endpoint at https://my.meteoblue.com and Stormglass API at https://api.stormglass.io/v2.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/meteoblue-vs-stormglass.json, and with the fewest tokens: https://www.anchorterminal.com/compare/meteoblue-vs-stormglass.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"meteoblue\", \"b\": \"stormglass\"}`. From a terminal: `anchor compare meteoblue stormglass`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/meteoblue.json and https://www.anchorterminal.com/api/v1/tools/stormglass.json\n\n## Other comparisons with meteoblue Weather API or Stormglass API\n\n- [AccuWeather Core Weather API + MCP vs meteoblue Weather API](https://www.anchorterminal.com/compare/accuweather-api-vs-meteoblue.md)\n- [Google Weather API (Maps Platform) vs meteoblue Weather API](https://www.anchorterminal.com/compare/google-weather-api-vs-meteoblue.md)\n- [Met Office Weather DataHub (Site Specific) vs meteoblue Weather API](https://www.anchorterminal.com/compare/met-office-datahub-vs-meteoblue.md)\n- [meteoblue Weather API vs Meteomatics Weather API](https://www.anchorterminal.com/compare/meteoblue-vs-meteomatics.md)\n- [meteoblue Weather API vs NOAA National Weather Service API (api.weather.gov)](https://www.anchorterminal.com/compare/meteoblue-vs-nws-api.md)\n- [meteoblue Weather API vs OpenWeather One Call API](https://www.anchorterminal.com/compare/meteoblue-vs-openweather-one-call.md)\n- [meteoblue Weather API vs Pirate Weather](https://www.anchorterminal.com/compare/meteoblue-vs-pirate-weather.md)\n- [meteoblue Weather API vs Tomorrow.io Weather API](https://www.anchorterminal.com/compare/meteoblue-vs-tomorrow-io.md)\n- [meteoblue Weather API vs Visual Crossing Weather API](https://www.anchorterminal.com/compare/meteoblue-vs-visual-crossing.md)\n- [meteoblue Weather API vs The Weather Company Data APIs](https://www.anchorterminal.com/compare/meteoblue-vs-weather-company.md)\n- [meteoblue Weather API vs WeatherAPI.com](https://www.anchorterminal.com/compare/meteoblue-vs-weatherapi-com.md)\n- [meteoblue Weather API vs Weatherbit API](https://www.anchorterminal.com/compare/meteoblue-vs-weatherbit.md)\n- [meteoblue Weather API vs Xweather Weather API](https://www.anchorterminal.com/compare/meteoblue-vs-xweather.md)\n- [meteoblue Weather API vs Open-Meteo](https://www.anchorterminal.com/compare/meteoblue-vs-open-meteo.md)\n- [Open-Meteo vs Stormglass API](https://www.anchorterminal.com/compare/open-meteo-vs-stormglass.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- [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": "meteoblue Weather API vs Stormglass API",
        "url": ""
      }
    ],
    "description": "meteoblue Weather scores 61.7 (C) to Stormglass's 39.9 (E) for weather forecasts. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "meteoblue Weather API C 61.7",
      "Stormglass API E 39.9",
      "scores"
    ],
    "h1": "meteoblue Weather API vs Stormglass API",
    "image": "https://www.anchorterminal.com/assets/og/compare-meteoblue-vs-stormglass.png",
    "path": "/compare/meteoblue-vs-stormglass",
    "published": "2026-10-01",
    "section": "tools",
    "title": "meteoblue Weather vs Stormglass for AI agents (2026) | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/meteoblue-vs-stormglass"
  },
  "tokens": {
    "markdown": 2850,
    "slim": 680
  },
  "version": 1
}
