{
  "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.9,
        "grade": "D",
        "agentReady": false,
        "rank": 364,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 6,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 66,
          "maintenance": 8,
          "payments": 60,
          "reliability": 25,
          "schema": 67,
          "security": 53,
          "transparency": 67
        },
        "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.",
        "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.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 49.9
          }
        ],
        "editorialScores": {
          "ergonomics": 66,
          "maintenance": 8,
          "payments": 60,
          "reliability": 25,
          "schema": 67,
          "security": 53,
          "transparency": 53
        },
        "provenanceScore": 80,
        "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": 80
      },
      "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-05T00:15:27.07973259Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 123,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 153,
          "p95ms24h": 334,
          "samples24h": 272,
          "samples30d": 903,
          "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": 3,
              "ok": 3
            }
          ]
        },
        "githubStars": 311,
        "securityTxt": {
          "url": "https://weather.gov/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:49.532451334Z"
        },
        "pages": [
          {
            "url": "https://www.weather.gov/documentation/services-web-api",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:52:52.813447699Z",
            "changedAt": "2026-10-03T15:40:43.869263793Z",
            "fingerprint": "ebbe762baf4c"
          },
          {
            "url": "https://www.weather.gov/privacy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:52:54.951244772Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "00331ba8517d"
          },
          {
            "url": "https://www.weather.gov/disclaimer",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:52:50.483017146Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "f32d8c8c8de4"
          }
        ],
        "updatedAt": "2026-10-05T00:15:27.07973259Z"
      }
    },
    "b": {
      "slug": "visual-crossing",
      "name": "Visual Crossing Weather API",
      "vendor": "Visual Crossing",
      "vendorUrl": "https://www.visualcrossing.com",
      "kind": "http-api",
      "category": "weather",
      "summary": "Weather API for historical conditions, forecasts and climate data by location and date range.",
      "url": "https://www.anchorterminal.com/tools/visual-crossing",
      "markdownUrl": "https://www.anchorterminal.com/tools/visual-crossing.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/visual-crossing.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/visual-crossing.json",
      "repo": "https://github.com/visualcrossing/WeatherApi",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline",
      "packages": [],
      "auth": "api-key",
      "authNotes": "The Timeline API takes the key as the key query parameter. The MCP server takes it in an X-VC-API-Key header, or OAuth (user or machine-to-machine) once Visual Crossing has provisioned it for the account.",
      "pricing": "freemium",
      "pricingNotes": "Billed in records. A day of daily data is one record, a day of hourly data is 24, and a full 15-day forecast for one location is one record. Free at 1,000 records a day (30,000 a month), no card, one concurrent request, attribution required. Metered at $0.0001 a record above the free 1,000 a day, unlimited records, up to 25,000 records a query. Professional (10 million records a month) shows no price, and Corporate and Enterprise are contact sales. A February 2023 post put Professional and Corporate at $35 and $150 a month. The plan table lists 99.5 per cent uptime on Free and 99.9 on paid plans (https://www.visualcrossing.com/weather-data-pricing/ and https://www.visualcrossing.com/resources/blog/what-will-my-weather-data-cost/).",
      "priceSummary": "$0.10 / 1k req",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": 1,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://www.visualcrossing.com/resources/documentation/weather-api/timeline-weather-api/",
      "llmsTxt": "https://www.visualcrossing.com/llms.txt",
      "openapi": "https://www.visualcrossing.com/weather/specs/visualcrossing-weather-api-openapi.json",
      "capabilities": [
        "weather.current",
        "weather.forecast",
        "weather.historical",
        "weather.alerts",
        "data.weather"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "no-card",
        "mcp",
        "closed-source",
        "usage-priced"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 60.3,
        "grade": "C",
        "agentReady": false,
        "rank": 251,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 4,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 78,
          "maintenance": 58,
          "payments": 40,
          "reliability": 66,
          "schema": 74,
          "security": 40,
          "transparency": 61
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "History from 1970, current conditions and a 15-day forecast from one endpoint. Key only in the query string on the REST API.",
        "strengths": [
          "History from 1970, current conditions and a 15-day forecast from one endpoint",
          "$0.0001 a record with 1,000 free a day and no card",
          "Official MCP server with one tool, key in a header or OAuth",
          "llms.txt, an OpenAPI spec and a quarterly changelog, most recently 4 September 2026",
          "Status page and published uptime targets of 99.5 per cent free and 99.9 paid"
        ],
        "weaknesses": [
          "Key only in the query string on the REST API",
          "OpenAPI spec defines no enums and no error responses",
          "Privacy policy states no retention periods or subprocessors",
          "Storing results needs the right licence level, and the terms carry a non-compete",
          "No security.txt, disclosure policy or MCP registry entry"
        ],
        "agentNotes": [
          "Always pass include= and elements=. A bare call returns days, hours and current for every element and burns records",
          "Count records before a backfill. Hourly data is 24 records a day, so a year for one place is 8,760",
          "Pass unitGroup=metric. The default is US units",
          "Use the MCP server with X-VC-API-Key rather than pasting the key into a URL",
          "Keep to one request at a time on Free and Professional. A second concurrent job returns 429"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 4,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 60.3
          }
        ],
        "editorialScores": {
          "ergonomics": 78,
          "maintenance": 58,
          "payments": 40,
          "reliability": 66,
          "schema": 74,
          "security": 40,
          "transparency": 31
        },
        "provenanceScore": 90,
        "dataQualityScore": 77
      },
      "connect": {
        "http": "curl \"https://weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline/51.51,-0.13/2026-09-01/2026-09-07?unitGroup=metric\u0026include=days\u0026elements=datetime,tempmax,tempmin,precip\u0026contentType=json\u0026key=$VISUALCROSSING_API_KEY\"",
        "claudeCode": "claude mcp add --transport http visualcrossing https://mcp.visualcrossing.com/VisualCrossingWebServices/rest/api/v1/mcp --header \"X-VC-API-Key: $VISUALCROSSING_API_KEY\"",
        "config": {
          "mcpServers": {
            "visualcrossing": {
              "headers": {
                "X-VC-API-Key": "${VISUALCROSSING_API_KEY}"
              },
              "type": "http",
              "url": "https://mcp.visualcrossing.com/VisualCrossingWebServices/rest/api/v1/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/weather.current",
        "tool": "https://letme.dev/visual-crossing"
      },
      "area": "domain-data",
      "unitPrices": [
        {
          "item": "Metered record",
          "unit": "record",
          "usd": 0.0001,
          "note": "First 1,000 records a day free"
        },
        {
          "item": "Metered, 15-day forecast calls",
          "unit": "1k-requests",
          "usd": 0.1,
          "note": "One record a forecast call, $0.0001 each"
        }
      ],
      "provenance": {
        "legalEntity": "Visual Crossing Corporation",
        "domain": "visualcrossing.com",
        "domainRegistered": "2005-10-11",
        "endpointOnVendorDomain": true,
        "terms": "https://www.visualcrossing.com/weather-services-terms/",
        "privacy": "https://www.visualcrossing.com/privacy/",
        "statusPage": "https://status.visualcrossing.com/",
        "changelog": "https://www.visualcrossing.com/resources/documentation/weather-api/weather-api-changelog/",
        "securityTxt": "none",
        "checked": "2026-10-01",
        "notes": [
          "The terms (last updated January 2023) name Visual Crossing Corporation under Virginia law but give no address.",
          "The privacy policy is at /privacy/ (updated 23 May 2025). The /privacy-policy/ path returns 404.",
          "The status page at status.visualcrossing.com runs on UptimeRobot.",
          "/.well-known/security.txt returns 404 per the 30 September check.",
          "The GitHub repository holds sample code in several languages, not an SDK."
        ],
        "score": 90
      },
      "dataQuality": {
        "coverage": "Global, any address or coordinate, up to 100 locations a query on Professional",
        "coverageRating": 4,
        "freshness": "Stations update every 15 to 30 minutes or hourly per the product page. Forecast refresh cadence not stated",
        "freshnessClass": "hourly",
        "history": "From 1970-01-01, hourly and daily, plus archived forecasts through the Historical Weather Forecast API added in Q2 2026",
        "historyYears": 56,
        "methodology": "https://www.visualcrossing.com/resources/documentation/weather-api/timeline-weather-api/",
        "sourcesDisclosed": true,
        "licence": "Proprietary. Storage by licence level, no resale, non-compete",
        "licenceClass": "clear",
        "standing": "",
        "standingClass": "none",
        "reuse": "Results may be stored in a database only where the licence level permits it, except for personal use. Resale and redistribution are barred, using the data to replicate a Visual Crossing service is barred, and Enterprise is the plan that adds external data-sharing rights.",
        "score": 77,
        "checks": null
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/visual-crossing.json",
      "live": {
        "slug": "visual-crossing",
        "probe": {
          "target": "https://weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline",
          "method": "get",
          "lastAt": "2026-10-05T00:15:32.264178893Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 251,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 256,
          "p95ms24h": 295,
          "samples24h": 272,
          "samples30d": 903,
          "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": 3,
              "ok": 3
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.visualcrossing.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T21:40:33.384039028Z"
        },
        "githubStars": 55,
        "securityTxt": {
          "url": "https://visualcrossing.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:36.837103071Z"
        },
        "llmsTxt": {
          "url": "https://www.visualcrossing.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:21.271479326Z"
        },
        "domain": {
          "domain": "visualcrossing.com",
          "registered": "2005-10-11",
          "source": "https://rdap.verisign.com/com/v1/domain/visualcrossing.com",
          "checkedAt": "2026-10-04T13:06:40.738574234Z"
        },
        "pages": [
          {
            "url": "https://www.visualcrossing.com/resources/documentation/weather-api/weather-api-changelog/",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:52:47.418150983Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "77ecfd35a643"
          },
          {
            "url": "https://www.visualcrossing.com/weather-data-pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:52:49.331082427Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "cb8af14c5632"
          },
          {
            "url": "https://www.visualcrossing.com/privacy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:52:45.228070626Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "0ccd098bba16"
          },
          {
            "url": "https://www.visualcrossing.com/weather-services-terms/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:52:51.357308005Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "5225b6169954"
          }
        ],
        "updatedAt": "2026-10-05T00:15:32.264178893Z"
      }
    },
    "summary": "Visual Crossing Weather API has a score of 60.3 (C) against NOAA National Weather Service API (api.weather.gov)'s 49.9 (D). Both do weather current. The largest gap is maintenance \u0026 community, 50 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/nws-api-vs-visual-crossing",
    "json": "https://www.anchorterminal.com/compare/nws-api-vs-visual-crossing.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/nws-api-vs-visual-crossing.md",
    "slim": "https://www.anchorterminal.com/compare/nws-api-vs-visual-crossing.min.md"
  },
  "markdown": "Visual Crossing Weather API has a score of 60.3 (C) against NOAA National Weather Service API (api.weather.gov)'s 49.9 (D). Both do weather current. The largest gap is maintenance \u0026 community, 50 points.\n\n- NOAA National Weather Service API (api.weather.gov): grade D, 49.9/100, rank #364 of 452. Markdown https://www.anchorterminal.com/tools/nws-api.md · JSON https://www.anchorterminal.com/api/v1/tools/nws-api.json\n- Visual Crossing Weather API: grade C, 60.3/100, rank #251 of 452. Markdown https://www.anchorterminal.com/tools/visual-crossing.md · JSON https://www.anchorterminal.com/api/v1/tools/visual-crossing.json\n\n## Which one, for what\n\nPick NOAA National Weather Service API (api.weather.gov) for security \u0026 auth (+13), payments \u0026 pricing (+20), transparency \u0026 trust (+6).\n\nPick Visual Crossing Weather API for reliability (+41), schema \u0026 documentation (+7), agent ergonomics (+12), maintenance \u0026 community (+50).\n\n## Score by category\n\n| Category | Weight | NOAA National Weather Service API (api.weather.gov) | Visual Crossing Weather API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 25 | 66 | Visual Crossing Weather API +41 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 67 | 74 | Visual Crossing Weather API +7 |\n| Agent ergonomics | 13% (16.2 this run) | 66 | 78 | Visual Crossing Weather API +12 |\n| Security \u0026 auth | 14% (17.5 this run) | 53 | 40 | NOAA National Weather Service API (api.weather.gov) +13 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 40 | NOAA National Weather Service API (api.weather.gov) +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 8 | 58 | Visual Crossing Weather API +50 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 67 | 61 | NOAA National Weather Service API (api.weather.gov) +6 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **49.9 · D** | **60.3 · C** | |\n\n## Facts side by side\n\n| Fact | NOAA National Weather Service API (api.weather.gov) | Visual Crossing Weather API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | National Weather Service | Visual Crossing |\n| Hosted endpoint | `https://api.weather.gov` | `https://weather.visualcrossing.com/VisualCrossingWebServices/rest/services/timeline` |\n| Transports | HTTP | HTTP, Streamable HTTP |\n| Auth | None | API key |\n| Pricing | Free | Freemium |\n| x402 | no | no |\n| Licence | Public domain (data) | none |\n| Tools exposed | none | 1 |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| MCP registry | not listed | not listed |\n| Last release | 2026-03-19 | none |\n| Popularity | 310 stars | none |\n| Agent reviews | 4.5/5 (2) | 4/5 (2) |\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**Visual Crossing Weather API.** History from 1970, current conditions and a 15-day forecast from one endpoint. Key only in the query string on the REST API.\n\n## Before you call either\n\n### 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### Visual Crossing Weather API\n\n1. Always pass include= and elements=. A bare call returns days, hours and current for every element and burns records\n2. Count records before a backfill. Hourly data is 24 records a day, so a year for one place is 8,760\n3. Pass unitGroup=metric. The default is US units\n4. Use the MCP server with X-VC-API-Key rather than pasting the key into a URL\n5. Keep to one request at a time on Free and Professional. A second concurrent job returns 429\n\n## Other comparisons with NOAA National Weather Service API (api.weather.gov) or Visual Crossing Weather 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- [AccuWeather Core Weather API + MCP vs Visual Crossing Weather API](https://www.anchorterminal.com/compare/accuweather-api-vs-visual-crossing.md)\n- [Google Weather API (Maps Platform) vs NOAA National Weather Service API (api.weather.gov)](https://www.anchorterminal.com/compare/google-weather-api-vs-nws-api.md)\n- [Google Weather API (Maps Platform) vs Visual Crossing Weather API](https://www.anchorterminal.com/compare/google-weather-api-vs-visual-crossing.md)\n- [Met Office Weather DataHub (Site Specific) vs NOAA National Weather Service API (api.weather.gov)](https://www.anchorterminal.com/compare/met-office-datahub-vs-nws-api.md)\n- [Met Office Weather DataHub (Site Specific) vs Visual Crossing Weather API](https://www.anchorterminal.com/compare/met-office-datahub-vs-visual-crossing.md)\n- [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 WeatherAPI.com](https://www.anchorterminal.com/compare/nws-api-vs-weatherapi-com.md)\n- [OpenWeather One Call API vs Visual Crossing Weather API](https://www.anchorterminal.com/compare/openweather-one-call-vs-visual-crossing.md)\n- [Pirate Weather vs Visual Crossing Weather API](https://www.anchorterminal.com/compare/pirate-weather-vs-visual-crossing.md)\n- [Visual Crossing Weather API vs WeatherAPI.com](https://www.anchorterminal.com/compare/visual-crossing-vs-weatherapi-com.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "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 Visual Crossing Weather API",
        "url": ""
      }
    ],
    "description": "Visual Crossing Weather API has a score of 60.3 (C) against NOAA National Weather Service API (api.weather.gov)'s 49.9 (D). Both do weather current. The largest gap is maintenance \u0026 community, 50 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "NOAA National Weather Service API (api.weather.gov) D 49.9",
      "Visual Crossing Weather API C 60.3",
      "scores"
    ],
    "h1": "NOAA National Weather Service API (api.weather.gov) vs Visual Crossing Weather API",
    "image": "https://www.anchorterminal.com/assets/og/compare-nws-api-vs-visual-crossing.png",
    "path": "/compare/nws-api-vs-visual-crossing",
    "published": "2026-10-01",
    "section": "tools",
    "title": "NOAA National Weather Service API (api.weather.gov) vs Visual…",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/nws-api-vs-visual-crossing"
  },
  "tokens": {
    "markdown": 1700,
    "slim": 430
  },
  "version": 1
}
