{
  "data": {
    "a": {
      "slug": "nws-api",
      "name": "NOAA National Weather Service API (api.weather.gov)",
      "vendor": "National Weather Service",
      "vendorUrl": "https://www.weather.gov/documentation/services-web-api",
      "kind": "http-api",
      "category": "weather",
      "summary": "The US government's own forecast, alert and observation feed, free, keyless and public domain.",
      "url": "https://www.anchorterminal.com/tools/nws-api",
      "markdownUrl": "https://www.anchorterminal.com/tools/nws-api.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/nws-api.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/nws-api.json",
      "repo": "https://github.com/weather-gov/api",
      "license": "Public domain (data)",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.weather.gov",
      "packages": [],
      "auth": "none",
      "authNotes": "No key. A User-Agent header that identifies the application, ideally with a contact email, is required and requests without one are refused.",
      "pricing": "free",
      "pricingNotes": "Free. The rate limit isn't published but is described as generous for typical use, and a throttled request can be retried after about five seconds (https://www.weather.gov/documentation/services-web-api).",
      "priceSummary": "Free",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 310,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://www.weather.gov/documentation/services-web-api",
      "openapi": "https://api.weather.gov/openapi.json",
      "capabilities": [
        "weather.current",
        "weather.forecast",
        "weather.alerts",
        "data.weather"
      ],
      "tags": [
        "hosted",
        "official",
        "government",
        "free",
        "no-key",
        "open-data",
        "openapi"
      ],
      "lastRelease": "2026-03-19",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 49.6,
        "grade": "D",
        "agentReady": false,
        "rank": 789,
        "ranked": true,
        "rankOf": 950,
        "categoryRank": 11,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 66,
          "maintenance": 8,
          "payments": 60,
          "reliability": 25,
          "schema": 67,
          "security": 53,
          "transparency": 63
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Free, no key and no account, with public domain data. US and territories only.",
        "bestFor": "The authoritative US forecast and alert feed, best for alerting and US-only agents that can tolerate a government service's availability.",
        "strengths": [
          "Free, no key and no account, with public domain data",
          "Official watches, warnings and text products from the issuing agency, filterable by point, zone, event and severity",
          "OpenAPI 3.0 document and RFC 7807 error bodies",
          "Cache-Control and Last-Modified on every response, so conditional requests work"
        ],
        "weaknesses": [
          "US and territories only",
          "Rate limit not published, and no status page or SLA",
          "No dated API change since 17 March 2026, and several 2026 forum questions unanswered",
          "No SDK, MCP server, llms.txt or security.txt"
        ],
        "agentNotes": [
          "Set User-Agent to your app name and a contact email or the request is refused with 403",
          "Cache the /points response per coordinate. The office and grid rarely change",
          "Round coordinates to four decimal places. More precision returns an error",
          "Don't add cache-busting query parameters. Unknown parameters return 400",
          "Back off about five seconds after a throttled request and reuse the last good response"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 4.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 49.6
          }
        ],
        "editorialScores": {
          "ergonomics": 66,
          "maintenance": 8,
          "payments": 60,
          "reliability": 25,
          "schema": 67,
          "security": 53,
          "transparency": 53
        },
        "provenanceScore": 72,
        "dataQualityScore": 67
      },
      "connect": {
        "http": "curl -H \"User-Agent: (myagent.example, ops@myagent.example)\" -H \"Accept: application/geo+json\" \"https://api.weather.gov/points/38.8894,-77.0352\""
      },
      "letme": {
        "capability": "https://letme.dev/weather.current",
        "tool": "https://letme.dev/nws-api"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "National Weather Service, NOAA, U.S. Department of Commerce",
        "domain": "weather.gov",
        "domainRegistered": "1999-04-30",
        "official": true,
        "endpointOnVendorDomain": true,
        "terms": "https://www.weather.gov/disclaimer",
        "privacy": "https://www.weather.gov/privacy",
        "statusPage": "",
        "changelog": "https://www.weather.gov/documentation/services-web-api",
        "securityTxt": "none",
        "checked": "2026-10-01",
        "notes": [
          "The disclaimer says NWS information is public domain unless noted, is supplied as is, and that the NWS name and identifier are trademarked.",
          "The privacy policy says the date, time and originating IP of each request are logged and may be kept indefinitely for security.",
          "www.weather.gov/.well-known/security.txt returns 404. The Department of Commerce vulnerability disclosure policy (version 2.0, 25 February 2026) covers internet-facing DOC systems and takes reports through Bugcrowd.",
          "The docs page carries a dated list of API changes. Wider service changes go out as NWS Service Change Notices and Public Information Statements.",
          "There's no status page. Outages are reported to NCO Tech Control, and the NCEP Senior Duty Meteorologist messages are the nearest public log."
        ],
        "score": 72
      },
      "dataQuality": {
        "coverage": "United States and its territories, on each forecast office's 2.5 km grid",
        "coverageRating": 2,
        "freshness": "Not stated per endpoint. Responses carry Cache-Control and Last-Modified so clients can see the age",
        "freshnessClass": "hourly",
        "history": "Recent station observations only. Climate records are at NOAA's NCEI, not this API",
        "historyYears": 0,
        "methodology": "https://www.weather.gov/documentation/services-web-api",
        "sourcesDisclosed": true,
        "licence": "Public domain",
        "licenceClass": "open",
        "standing": "The US federal weather service, issuer of official US watches and warnings",
        "standingClass": "statutory",
        "reuse": "Public domain and free for any lawful purpose. Cache and redistribute as you like, don't imply NWS endorsement, and note that works built mostly on NWS material can't claim copyright over it.",
        "score": 67,
        "checks": null
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/nws-api.json",
      "live": {
        "slug": "nws-api",
        "probe": {
          "target": "https://api.weather.gov",
          "method": "get",
          "lastAt": "2026-10-10T03:53:36.149142195Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 121,
          "authRequired": false,
          "uptime24h": 98.8,
          "uptime30d": 99.82,
          "p50ms24h": 195,
          "p95ms24h": 404,
          "samples24h": 249,
          "samples30d": 2274,
          "days": [
            {
              "date": "2026-10-01",
              "probes": 109,
              "ok": 109
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 271
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 248
            },
            {
              "date": "2026-10-10",
              "probes": 40,
              "ok": 39
            }
          ]
        },
        "githubStars": 311,
        "securityTxt": {
          "url": "https://weather.gov/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-09T15:40:14.87666273Z"
        },
        "pages": [
          {
            "url": "https://www.weather.gov/documentation/services-web-api",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-09T18:55:35.630092769Z",
            "changedAt": "2026-10-09T18:55:35.630092769Z",
            "fingerprint": "02eee1551d0d"
          },
          {
            "url": "https://www.weather.gov/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-09T18:55:37.596055547Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "00331ba8517d"
          },
          {
            "url": "https://www.weather.gov/disclaimer",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-09T18:55:33.299537843Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "f32d8c8c8de4"
          }
        ],
        "updatedAt": "2026-10-10T03:53:36.149142195Z"
      }
    },
    "answer": "NOAA National Weather Service API (api.weather.gov) scores 49.6 (D) on agent readiness against Stormglass API's 39.9 (E), and leads in 5 of 7 scored categories. Stormglass API leads on reliability and maintenance \u0026 community.",
    "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": "National Weather Service",
        "b": "Storm Glass AB",
        "name": "Vendor"
      },
      {
        "a": "https://api.weather.gov",
        "b": "https://api.stormglass.io/v2",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "None",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Free",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Public domain (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-03-19",
        "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": "310 stars",
        "b": "none",
        "name": "Popularity"
      },
      {
        "a": "4.5/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "NOAA National Weather Service API (api.weather.gov) scores 49.6 (D) on agent readiness against Stormglass API's 39.9 (E), and leads in 5 of 7 scored categories. Stormglass API leads on reliability and maintenance \u0026 community.",
        "question": "Which is better for AI agents, NOAA National Weather Service API (api.weather.gov) or Stormglass API?"
      },
      {
        "answer": "NOAA National Weather Service API (api.weather.gov) needs no key. Stormglass API needs an API key.",
        "question": "Do NOAA National Weather Service API (api.weather.gov) and Stormglass API need an API key?"
      },
      {
        "answer": "Yes. NOAA National Weather Service API (api.weather.gov) has a hosted endpoint at https://api.weather.gov and Stormglass API at https://api.stormglass.io/v2.",
        "question": "Can an agent call NOAA National Weather Service API (api.weather.gov) and Stormglass API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 67 against 40",
          "Security \u0026 auth, 53 against 44",
          "Payments \u0026 pricing, 60 against 25",
          "Transparency \u0026 trust, 63 against 45"
        ],
        "also": [
          "No key needed to call it"
        ],
        "goodFor": "The authoritative US forecast and alert feed, best for alerting and US-only agents that can tolerate a government service's availability.",
        "slug": "nws-api",
        "watchFor": "US and territories only"
      },
      {
        "aheadOn": [
          "Reliability, 34 against 25",
          "Maintenance \u0026 community, 15 against 8"
        ],
        "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-nws-api.json",
        "title": "AccuWeather Core Weather API + MCP vs NOAA National Weather Service API (api.weather.gov)",
        "url": "https://www.anchorterminal.com/compare/accuweather-api-vs-nws-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-weather-api-vs-nws-api.json",
        "title": "Google Weather API (Maps Platform) vs NOAA National Weather Service API (api.weather.gov)",
        "url": "https://www.anchorterminal.com/compare/google-weather-api-vs-nws-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/met-office-datahub-vs-nws-api.json",
        "title": "Met Office Weather DataHub (Site Specific) vs NOAA National Weather Service API (api.weather.gov)",
        "url": "https://www.anchorterminal.com/compare/met-office-datahub-vs-nws-api"
      },
      {
        "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/meteomatics-vs-nws-api.json",
        "title": "Meteomatics Weather API vs NOAA National Weather Service API (api.weather.gov)",
        "url": "https://www.anchorterminal.com/compare/meteomatics-vs-nws-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nws-api-vs-openweather-one-call.json",
        "title": "NOAA National Weather Service API (api.weather.gov) vs OpenWeather One Call API",
        "url": "https://www.anchorterminal.com/compare/nws-api-vs-openweather-one-call"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nws-api-vs-pirate-weather.json",
        "title": "NOAA National Weather Service API (api.weather.gov) vs Pirate Weather",
        "url": "https://www.anchorterminal.com/compare/nws-api-vs-pirate-weather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nws-api-vs-tomorrow-io.json",
        "title": "NOAA National Weather Service API (api.weather.gov) vs Tomorrow.io Weather API",
        "url": "https://www.anchorterminal.com/compare/nws-api-vs-tomorrow-io"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nws-api-vs-visual-crossing.json",
        "title": "NOAA National Weather Service API (api.weather.gov) vs Visual Crossing Weather API",
        "url": "https://www.anchorterminal.com/compare/nws-api-vs-visual-crossing"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nws-api-vs-weather-company.json",
        "title": "NOAA National Weather Service API (api.weather.gov) vs The Weather Company Data APIs",
        "url": "https://www.anchorterminal.com/compare/nws-api-vs-weather-company"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nws-api-vs-weatherapi-com.json",
        "title": "NOAA National Weather Service API (api.weather.gov) vs WeatherAPI.com",
        "url": "https://www.anchorterminal.com/compare/nws-api-vs-weatherapi-com"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nws-api-vs-weatherbit.json",
        "title": "NOAA National Weather Service API (api.weather.gov) vs Weatherbit API",
        "url": "https://www.anchorterminal.com/compare/nws-api-vs-weatherbit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nws-api-vs-xweather.json",
        "title": "NOAA National Weather Service API (api.weather.gov) vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/nws-api-vs-xweather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/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-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/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/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": 9,
        "edge": "stormglass",
        "key": "reliability",
        "name": "Reliability",
        "nws-api": 25,
        "stormglass": 34,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 27,
        "edge": "nws-api",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "nws-api": 67,
        "stormglass": 40,
        "weight": 13
      },
      {
        "by": 1,
        "edge": "nws-api",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "nws-api": 66,
        "stormglass": 65,
        "weight": 13
      },
      {
        "by": 9,
        "edge": "nws-api",
        "key": "security",
        "name": "Security \u0026 auth",
        "nws-api": 53,
        "stormglass": 44,
        "weight": 14
      },
      {
        "by": 35,
        "edge": "nws-api",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "nws-api": 60,
        "stormglass": 25,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 7,
        "edge": "stormglass",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "nws-api": 8,
        "stormglass": 15,
        "weight": 7
      },
      {
        "by": 18,
        "edge": "nws-api",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "nws-api": 63,
        "stormglass": 45,
        "weight": 7
      }
    ],
    "summary": "NOAA National Weather Service API (api.weather.gov) scores 49.6 (D) on agent readiness against Stormglass API's 39.9 (E), and leads in 5 of 7 scored categories. Stormglass API leads on reliability and maintenance \u0026 community. Both do weather forecasts.",
    "verdicts": {
      "nws-api": "Free, no key and no account, with public domain data. US and territories only.",
      "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/nws-api-vs-stormglass",
    "json": "https://www.anchorterminal.com/compare/nws-api-vs-stormglass.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/nws-api-vs-stormglass.md",
    "slim": "https://www.anchorterminal.com/compare/nws-api-vs-stormglass.min.md"
  },
  "markdown": "NOAA National Weather Service API (api.weather.gov) scores 49.6 (D) on agent readiness against Stormglass API's 39.9 (E), and leads in 5 of 7 scored categories. Stormglass API leads on reliability and maintenance \u0026 community. Both do weather forecasts.\n\n- NOAA National Weather Service API (api.weather.gov): grade D, 49.6/100, rank #789 of 950. Markdown https://www.anchorterminal.com/tools/nws-api.md · JSON https://www.anchorterminal.com/api/v1/tools/nws-api.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### NOAA National Weather Service API (api.weather.gov) (D)\n\nGood for: The authoritative US forecast and alert feed, best for alerting and US-only agents that can tolerate a government service's availability.\n\nAhead on:\n- Schema \u0026 documentation, 67 against 40\n- Security \u0026 auth, 53 against 44\n- Payments \u0026 pricing, 60 against 25\n- Transparency \u0026 trust, 63 against 45\n\nAlso in its favour:\n- No key needed to call it\n\nWatch for: US and territories only\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- Reliability, 34 against 25\n- Maintenance \u0026 community, 15 against 8\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 | NOAA National Weather Service API (api.weather.gov) | Stormglass API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 25 | 34 | Stormglass API +9 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 67 | 40 | NOAA National Weather Service API (api.weather.gov) +27 |\n| Agent ergonomics | 13% (16.2 this run) | 66 | 65 | NOAA National Weather Service API (api.weather.gov) +1 |\n| Security \u0026 auth | 14% (17.5 this run) | 53 | 44 | NOAA National Weather Service API (api.weather.gov) +9 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 25 | NOAA National Weather Service API (api.weather.gov) +35 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 8 | 15 | Stormglass API +7 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 63 | 45 | NOAA National Weather Service API (api.weather.gov) +18 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **49.6 · D** | **39.9 · E** | |\n\n## Facts side by side\n\n| Fact | NOAA National Weather Service API (api.weather.gov) | Stormglass API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | National Weather Service | Storm Glass AB |\n| Hosted endpoint | `https://api.weather.gov` | `https://api.stormglass.io/v2` |\n| Transports | HTTP | HTTP |\n| Auth | None | API key |\n| Pricing | Free | Freemium |\n| x402 | no | no |\n| Licence | Public domain (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-03-19 | 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 | 310 stars | none |\n| Agent reviews | 4.5/5 (2) | none |\n\n## Verdicts\n\n**NOAA National Weather Service API (api.weather.gov).** Free, no key and no account, with public domain data. US and territories only.\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### NOAA National Weather Service API (api.weather.gov)\n\n1. Set User-Agent to your app name and a contact email or the request is refused with 403\n2. Cache the /points response per coordinate. The office and grid rarely change\n3. Round coordinates to four decimal places. More precision returns an error\n4. Don't add cache-busting query parameters. Unknown parameters return 400\n5. Back off about five seconds after a throttled request and reuse the last good response\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, NOAA National Weather Service API (api.weather.gov) or Stormglass API?\n\nNOAA National Weather Service API (api.weather.gov) scores 49.6 (D) on agent readiness against Stormglass API's 39.9 (E), and leads in 5 of 7 scored categories. Stormglass API leads on reliability and maintenance \u0026 community.\n\n### Do NOAA National Weather Service API (api.weather.gov) and Stormglass API need an API key?\n\nNOAA National Weather Service API (api.weather.gov) needs no key. Stormglass API needs an API key.\n\n### Can an agent call NOAA National Weather Service API (api.weather.gov) and Stormglass API without installing anything?\n\nYes. NOAA National Weather Service API (api.weather.gov) has a hosted endpoint at https://api.weather.gov 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/nws-api-vs-stormglass.json, and with the fewest tokens: https://www.anchorterminal.com/compare/nws-api-vs-stormglass.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"nws-api\", \"b\": \"stormglass\"}`. From a terminal: `anchor compare nws-api stormglass`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/nws-api.json and https://www.anchorterminal.com/api/v1/tools/stormglass.json\n\n## Other comparisons with NOAA National Weather Service API (api.weather.gov) or Stormglass API\n\n- [AccuWeather Core Weather API + MCP vs NOAA National Weather Service API (api.weather.gov)](https://www.anchorterminal.com/compare/accuweather-api-vs-nws-api.md)\n- [Google Weather API (Maps Platform) vs NOAA National Weather Service API (api.weather.gov)](https://www.anchorterminal.com/compare/google-weather-api-vs-nws-api.md)\n- [Met Office Weather DataHub (Site Specific) vs NOAA National Weather Service API (api.weather.gov)](https://www.anchorterminal.com/compare/met-office-datahub-vs-nws-api.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- [Meteomatics Weather API vs NOAA National Weather Service API (api.weather.gov)](https://www.anchorterminal.com/compare/meteomatics-vs-nws-api.md)\n- [NOAA National Weather Service API (api.weather.gov) vs OpenWeather One Call API](https://www.anchorterminal.com/compare/nws-api-vs-openweather-one-call.md)\n- [NOAA National Weather Service API (api.weather.gov) vs Pirate Weather](https://www.anchorterminal.com/compare/nws-api-vs-pirate-weather.md)\n- [NOAA National Weather Service API (api.weather.gov) vs Tomorrow.io Weather API](https://www.anchorterminal.com/compare/nws-api-vs-tomorrow-io.md)\n- [NOAA National Weather Service API (api.weather.gov) vs Visual Crossing Weather API](https://www.anchorterminal.com/compare/nws-api-vs-visual-crossing.md)\n- [NOAA National Weather Service API (api.weather.gov) vs The Weather Company Data APIs](https://www.anchorterminal.com/compare/nws-api-vs-weather-company.md)\n- [NOAA National Weather Service API (api.weather.gov) vs WeatherAPI.com](https://www.anchorterminal.com/compare/nws-api-vs-weatherapi-com.md)\n- [NOAA National Weather Service API (api.weather.gov) vs Weatherbit API](https://www.anchorterminal.com/compare/nws-api-vs-weatherbit.md)\n- [NOAA National Weather Service API (api.weather.gov) vs Xweather Weather API](https://www.anchorterminal.com/compare/nws-api-vs-xweather.md)\n- [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 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- [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- [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": "NOAA National Weather Service API (api.weather.gov) vs Stormglass API",
        "url": ""
      }
    ],
    "description": "NOAA National Weather Service scores 49.6 (D) to Stormglass's 39.9 (E) for weather forecasts. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "NOAA National Weather Service API (api.weather.gov) D 49.6",
      "Stormglass API E 39.9",
      "scores"
    ],
    "h1": "NOAA National Weather Service API (api.weather.gov) vs Stormglass API",
    "image": "https://www.anchorterminal.com/assets/og/compare-nws-api-vs-stormglass.png",
    "path": "/compare/nws-api-vs-stormglass",
    "published": "2026-10-01",
    "section": "tools",
    "title": "NOAA National Weather Service vs Stormglass for AI agents (2026)",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/nws-api-vs-stormglass"
  },
  "tokens": {
    "markdown": 2950,
    "slim": 680
  },
  "version": 1
}
