{
  "data": {
    "a": {
      "slug": "pirate-weather",
      "name": "Pirate Weather",
      "vendor": "Pirate Weather",
      "vendorUrl": "https://pirateweather.net",
      "kind": "http-api",
      "category": "weather",
      "summary": "Open-source weather API with Dark Sky-compatible responses, forecasts, alerts and historical data from public weather models.",
      "url": "https://www.anchorterminal.com/tools/pirate-weather",
      "markdownUrl": "https://www.anchorterminal.com/tools/pirate-weather.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/pirate-weather.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/pirate-weather.json",
      "repo": "https://github.com/Pirate-Weather/pirateweather",
      "license": "Apache-2.0 (docs and spec), AGPL-3.0 (API code)",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.pirateweather.net/forecast",
      "packages": [],
      "auth": "api-key",
      "authNotes": "The key is a path segment, /forecast/{key}/{lat},{lon}, or an apikey request header with any placeholder in the path. The MCP server takes the same key as the apikey query parameter on its URL. Keys are issued through an Apiable portal at pirate-weather.apiable.io and can take up to 20 minutes to go live.",
      "pricing": "freemium",
      "pricingNotes": "Free at 10,000 calls a month. A $2 a month plan raises that to 20,000, and GitHub Sponsors takes one-off donations. Higher plans are sold through pirate-weather.apiable.io, which renders only with JavaScript, so we couldn't read them (https://pirateweather.net/en/latest/).",
      "priceSummary": "$2 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 907,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://pirateweather.net/en/latest/API/",
      "openapi": "https://github.com/Pirate-Weather/pirateweather/blob/main/PW_OpenAPI.yaml",
      "capabilities": [
        "weather.current",
        "weather.forecast",
        "weather.historical",
        "weather.alerts",
        "data.weather"
      ],
      "tags": [
        "hosted",
        "open-source",
        "freemium",
        "free-tier",
        "no-card",
        "mcp",
        "openapi",
        "status-page"
      ],
      "lastRelease": "2026-09-23",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 66.2,
        "grade": "B",
        "agentReady": false,
        "rank": 162,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 2,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 77,
          "maintenance": 80,
          "payments": 30,
          "reliability": 75,
          "schema": 85,
          "security": 45,
          "transparency": 71
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Named model sources and a documented priority order for every field. No SLA, and the terms call it best effort.",
        "strengths": [
          "Named model sources and a documented priority order for every field",
          "OpenAPI 3.1 spec at version 2.10.2 and a dated changelog with a pull request per change",
          "Four releases between 9 July and 23 September 2026",
          "ERA5 history to January 1940 and URMA for the last 10 days in North America",
          "Response-sizing parameters that cut a forecast to the blocks and rows asked for"
        ],
        "weaknesses": [
          "No SLA, and the terms call it best effort",
          "Key in the URL path by default, and only in the query string for the MCP server",
          "Plans above $2 a month sit behind a JavaScript-only portal, and signup needs a person",
          "No security.txt, SECURITY.md or MCP registry entry",
          "The privacy notice and terms are generator templates from 2024 and say nothing on data reuse"
        ],
        "agentNotes": [
          "Send the key in an apikey header and put a placeholder in the path so it stays out of logs",
          "Pass blocks= and hourly_indices= or daily_indices= to get only the rows you need. The default payload is large",
          "Ask for version=2 to get fields Dark Sky never had, such as smoke, fire index and the source list",
          "Point historical requests at timemachine.pirateweather.net with a UNIX timestamp after the coordinate",
          "Watch Ratelimit-Remaining. The cap is monthly, so a runaway loop can spend it in a day"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 4,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 66.2
          }
        ],
        "editorialScores": {
          "ergonomics": 77,
          "maintenance": 80,
          "payments": 30,
          "reliability": 75,
          "schema": 85,
          "security": 45,
          "transparency": 55
        },
        "provenanceScore": 86,
        "dataQualityScore": 72
      },
      "connect": {
        "http": "curl -H \"apikey: $PIRATE_WEATHER_API_KEY\" \"https://api.pirateweather.net/forecast/key/51.51,-0.13?units=si\u0026exclude=minutely\u0026version=2\"",
        "claudeCode": "claude mcp add --transport http pirate-weather \"https://mcp.pirateweather.net/mcp?apikey=$PIRATE_WEATHER_API_KEY\"",
        "config": {
          "mcpServers": {
            "pirate-weather": {
              "type": "http",
              "url": "https://mcp.pirateweather.net/mcp?apikey=${PIRATE_WEATHER_API_KEY}"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/weather.current",
        "tool": "https://letme.dev/pirate-weather"
      },
      "area": "domain-data",
      "unitPrices": [
        {
          "item": "Supporter plan",
          "unit": "month",
          "usd": 2,
          "note": "20,000 calls a month"
        },
        {
          "item": "Call on the Supporter plan, at the cap",
          "unit": "1k-requests",
          "usd": 0.1,
          "note": "$2 over 20,000 calls"
        }
      ],
      "provenance": {
        "legalEntity": "PirateWeatherAPI (Ontario, Canada)",
        "domain": "pirateweather.net",
        "domainRegistered": "2021-03-01",
        "endpointOnVendorDomain": true,
        "terms": "https://pirateweather.net/en/latest/Apiable/ApiableTerms/",
        "privacy": "https://pirateweather.net/en/latest/Apiable/ApiablePrivacy/",
        "statusPage": "https://pirateweather.xitoring.io/",
        "changelog": "https://pirateweather.net/en/latest/changelog/",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "The terms (last updated 2024-09-23) are generator-made, name the company only as PirateWeatherAPI in Ontario, Canada, and cap liability at $100 or what you paid.",
          "The terms of service add one rule of their own, don't circumvent the call limit with multiple accounts, and say the data shouldn't be used for life or property critical applications.",
          "Keys, plans and billing run through a third-party Apiable portal at pirate-weather.apiable.io.",
          "pirateweather.net/.well-known/security.txt returns 404."
        ],
        "score": 86
      },
      "dataQuality": {
        "coverage": "Global, strongest in North America where NBM and HRRR apply at about 3 km, with Canadian models in Canada and DWD MOSMIX stations elsewhere",
        "coverageRating": 4,
        "freshness": "RTMA-RU every 15 minutes, HRRR and NBM hourly, global models every 6 hours",
        "freshnessClass": "hourly",
        "history": "ERA5 reanalysis from January 1940, the project's archive of 1-hour forecasts from June 2024, and URMA analyses for the last 10 days in North America since 2.10.1",
        "historyYears": 86,
        "methodology": "https://pirateweather.net/en/latest/DataSources/",
        "sourcesDisclosed": true,
        "licence": "Apache-2.0 docs, AGPL-3.0 API code, terms silent on data reuse",
        "licenceClass": "unclear",
        "standing": "",
        "standingClass": "none",
        "reuse": "The terms say nothing about caching or redistributing responses and add only two rules, no circumventing the call limit with extra accounts and no life or property critical use. The models behind the data are public data from NOAA, ECMWF open data, ECCC and DWD.",
        "score": 72,
        "checks": null
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/pirate-weather.json",
      "live": {
        "slug": "pirate-weather",
        "probe": {
          "target": "https://api.pirateweather.net/forecast",
          "method": "get",
          "lastAt": "2026-10-05T03:17:30.821774261Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 100,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 105,
          "p95ms24h": 154,
          "samples24h": 273,
          "samples30d": 938,
          "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": 38,
              "ok": 38
            }
          ]
        },
        "vendorStatus": {
          "page": "https://pirateweather.xitoring.io",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T21:40:23.776757395Z"
        },
        "githubStars": 910,
        "securityTxt": {
          "url": "https://pirateweather.net/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:49.683216911Z"
        },
        "domain": {
          "domain": "pirateweather.net",
          "registered": "2021-03-01",
          "source": "https://rdap.verisign.com/net/v1/domain/pirateweather.net",
          "checkedAt": "2026-10-04T13:04:40.132666729Z"
        },
        "pages": [
          {
            "url": "https://pirateweather.net/en/latest/changelog/",
            "kind": "changelog",
            "status": 404,
            "checkedAt": "2026-10-04T15:46:44.667604199Z",
            "changedAt": "0001-01-01T00:00:00Z"
          },
          {
            "url": "https://pirateweather.net/en/latest/Apiable/ApiablePrivacy/",
            "kind": "privacy",
            "status": 404,
            "checkedAt": "2026-10-04T15:46:40.536531228Z",
            "changedAt": "0001-01-01T00:00:00Z"
          },
          {
            "url": "https://pirateweather.net/en/latest/Apiable/ApiableTerms/",
            "kind": "terms",
            "status": 404,
            "checkedAt": "2026-10-04T15:46:42.64213118Z",
            "changedAt": "0001-01-01T00:00:00Z"
          }
        ],
        "updatedAt": "2026-10-05T03:17:30.821774261Z"
      }
    },
    "b": {
      "slug": "weatherapi-com",
      "name": "WeatherAPI.com",
      "vendor": "WeatherAPI.com (Zoomash Ltd)",
      "vendorUrl": "https://www.weatherapi.com",
      "kind": "http-api",
      "category": "weather",
      "summary": "Weather API for current conditions, forecasts, history, marine data, alerts and air quality, queried by location.",
      "url": "https://www.anchorterminal.com/tools/weatherapi-com",
      "markdownUrl": "https://www.anchorterminal.com/tools/weatherapi-com.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/weatherapi-com.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/weatherapi-com.json",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.weatherapi.com/v1",
      "packages": [],
      "auth": "api-key",
      "authNotes": "The key goes in the key query parameter on every request. The terms tie one key to one application.",
      "pricing": "freemium",
      "pricingNotes": "Free at 100,000 calls a month with a 3-day forecast and 1 day of history, no card. Starter $7 a month ($75 a year) for 3 million calls, 7-day forecast and 7 days of history. Pro+ $25 ($270 a year) for 5 million calls, 14-day forecast, 365 days of history, marine with tides and bulk requests. Business $65 ($702 a year) for 10 million calls, history back to 2010-01-01 and 99.9 per cent uptime. Enterprise on request with unlimited calls. Paid plans start with a 14-day free trial (https://www.weatherapi.com/pricing.aspx).",
      "priceSummary": "$7 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://www.weatherapi.com/docs/",
      "llmsTxt": "https://www.weatherapi.com/llms.txt",
      "openapi": "https://www.weatherapi.com/openapi.json",
      "capabilities": [
        "weather.current",
        "weather.forecast",
        "weather.historical",
        "weather.alerts",
        "weather.marine",
        "data.weather"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "no-card",
        "closed-source",
        "uk"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 65.8,
        "grade": "B",
        "agentReady": false,
        "rank": 169,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 3,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 80,
          "maintenance": 45,
          "payments": 30,
          "reliability": 90,
          "schema": 89,
          "security": 37,
          "transparency": 70
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "3 million calls for $7 a month, and 100,000 a month free with no card. Key only in the query string, and no security.txt.",
        "strengths": [
          "3 million calls for $7 a month, and 100,000 a month free with no card",
          "OpenAPI 3.1 spec with structured errors, plus llms.txt",
          "Field filters (current_fields, day_fields, hour_fields) to trim responses",
          "Status page with no incidents listed, and 99.9 per cent with service credits for High Volume customers",
          "12 months' written notice before an API deprecation, in the terms"
        ],
        "weaknesses": [
          "Key only in the query string, and no security.txt",
          "Privacy policy undated, with template placeholders and transfers to Russia and China",
          "SDKs for Node.js, Java, PHP and Go untouched since 2020 and 2021",
          "No full list of data sources or models",
          "Caching limited to 60 minutes for current and 24 hours for forecast"
        ],
        "agentNotes": [
          "Pass current_fields, day_fields or hour_fields to cut the response to what you need",
          "Treat a 403 with error code 2007 as the monthly quota, not a bad key. There's no 429",
          "Reuse the id from search.json (q=id:NNN) to avoid ambiguous city names",
          "Cache history freely, current for under an hour and forecasts for under a day, to stay inside the terms",
          "Use https://api.weatherapi.com/v1. The docs still show an http:// base URL"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 65.8
          }
        ],
        "editorialScores": {
          "ergonomics": 80,
          "maintenance": 45,
          "payments": 30,
          "reliability": 90,
          "schema": 89,
          "security": 37,
          "transparency": 49
        },
        "provenanceScore": 90,
        "dataQualityScore": 49
      },
      "connect": {
        "http": "curl \"https://api.weatherapi.com/v1/forecast.json?key=$WEATHERAPI_KEY\u0026q=51.51,-0.13\u0026days=3\u0026aqi=no\u0026alerts=no\""
      },
      "letme": {
        "capability": "https://letme.dev/weather.current",
        "tool": "https://letme.dev/weatherapi-com"
      },
      "area": "domain-data",
      "unitPrices": [
        {
          "item": "Starter plan",
          "unit": "month",
          "usd": 7,
          "note": "3 million calls, $75 a year"
        },
        {
          "item": "Pro+ plan",
          "unit": "month",
          "usd": 25,
          "note": "5 million calls, $270 a year"
        },
        {
          "item": "Business plan",
          "unit": "month",
          "usd": 65,
          "note": "10 million calls, $702 a year"
        },
        {
          "item": "Call on Starter, at the plan cap",
          "unit": "1k-requests",
          "usd": 0.0023,
          "note": "$7 over 3 million calls"
        },
        {
          "item": "Call on Business, at the plan cap",
          "unit": "1k-requests",
          "usd": 0.0065,
          "note": "$65 over 10 million calls"
        }
      ],
      "provenance": {
        "legalEntity": "Zoomash Ltd",
        "domain": "weatherapi.com",
        "domainRegistered": "2014-11-29",
        "endpointOnVendorDomain": true,
        "terms": "https://www.weatherapi.com/terms.aspx",
        "privacy": "https://www.weatherapi.com/privacy.aspx",
        "statusPage": "https://status.weatherapi.com/",
        "changelog": "https://www.weatherapi.com/api-changelog.html",
        "securityTxt": "none",
        "checked": "2026-10-01",
        "notes": [
          "The terms name Zoomash Ltd under the law of England and Wales but give no registered address or company number, and the privacy policy names no entity beyond WeatherAPI.com.",
          "The privacy policy says personal data may be transferred to the USA, Russia, Japan, China and India, and names Stripe for payments.",
          "The status page at status.weatherapi.com runs on Better Stack.",
          "www.weatherapi.com/.well-known/security.txt returns an HTML error page per the 30 September check."
        ],
        "score": 90
      },
      "dataQuality": {
        "coverage": "Global, any coordinate, city, postcode or IP",
        "coverageRating": 4,
        "freshness": "Not stated. The terms allow current conditions to be cached for 60 minutes",
        "freshnessClass": "hourly",
        "history": "From 2010-01-01 on Business, 365 days on Pro+",
        "historyYears": 16,
        "methodology": "",
        "sourcesDisclosed": false,
        "licence": "Proprietary. Cache limits, no resale, attribution on Free",
        "licenceClass": "clear",
        "standing": "",
        "standingClass": "none",
        "reuse": "The terms cap caching at 60 minutes for current and 24 hours for forecast, forbid selling the data on, and end any right to keep it when the subscription ends. Showing it in your own app or service is allowed.",
        "score": 49,
        "checks": null
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/weatherapi-com.json",
      "live": {
        "slug": "weatherapi-com",
        "probe": {
          "target": "https://api.weatherapi.com/v1",
          "method": "get",
          "lastAt": "2026-10-05T03:17:35.196918548Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 73,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 60,
          "p95ms24h": 150,
          "samples24h": 273,
          "samples30d": 938,
          "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": 38,
              "ok": 38
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.weatherapi.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T21:40:34.084084756Z"
        },
        "securityTxt": {
          "url": "https://weatherapi.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:50.54150115Z"
        },
        "llmsTxt": {
          "url": "https://www.weatherapi.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:21.6959677Z"
        },
        "domain": {
          "domain": "weatherapi.com",
          "registered": "2014-11-29",
          "source": "https://rdap.verisign.com/com/v1/domain/weatherapi.com",
          "checkedAt": "2026-10-04T13:06:50.954163408Z"
        },
        "pages": [
          {
            "url": "https://www.weatherapi.com/api-changelog.html",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:52:53.355500992Z",
            "changedAt": "2026-10-04T15:52:53.355500992Z",
            "fingerprint": "27443ff20814"
          },
          {
            "url": "https://www.weatherapi.com/pricing.aspx",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:52:55.401668105Z",
            "changedAt": "2026-10-04T15:52:55.401668105Z",
            "fingerprint": "edf5a49404e3"
          },
          {
            "url": "https://www.weatherapi.com/privacy.aspx",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:52:57.435167177Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "cb9e4a437682"
          },
          {
            "url": "https://www.weatherapi.com/terms.aspx",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:52:59.433233246Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "29affc48ca13"
          }
        ],
        "updatedAt": "2026-10-05T03:17:35.196918548Z"
      }
    },
    "summary": "Pirate Weather has a score of 66.2 (B) against WeatherAPI.com's 65.8 (B). Both do weather current. The largest gap is maintenance \u0026 community, 35 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/pirate-weather-vs-weatherapi-com",
    "json": "https://www.anchorterminal.com/compare/pirate-weather-vs-weatherapi-com.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/pirate-weather-vs-weatherapi-com.md",
    "slim": "https://www.anchorterminal.com/compare/pirate-weather-vs-weatherapi-com.min.md"
  },
  "markdown": "Pirate Weather has a score of 66.2 (B) against WeatherAPI.com's 65.8 (B). Both do weather current. The largest gap is maintenance \u0026 community, 35 points.\n\n- Pirate Weather: grade B, 66.2/100, rank #162 of 452. Markdown https://www.anchorterminal.com/tools/pirate-weather.md · JSON https://www.anchorterminal.com/api/v1/tools/pirate-weather.json\n- WeatherAPI.com: grade B, 65.8/100, rank #169 of 452. Markdown https://www.anchorterminal.com/tools/weatherapi-com.md · JSON https://www.anchorterminal.com/api/v1/tools/weatherapi-com.json\n\n## Which one, for what\n\nPick Pirate Weather for security \u0026 auth (+8), maintenance \u0026 community (+35).\n\nPick WeatherAPI.com for reliability (+15).\n\n## Score by category\n\n| Category | Weight | Pirate Weather | WeatherAPI.com | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 75 | 90 | WeatherAPI.com +15 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 85 | 89 | WeatherAPI.com +4 |\n| Agent ergonomics | 13% (16.2 this run) | 77 | 80 | WeatherAPI.com +3 |\n| Security \u0026 auth | 14% (17.5 this run) | 45 | 37 | Pirate Weather +8 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 30 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 80 | 45 | Pirate Weather +35 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 71 | 70 | Pirate Weather +1 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **66.2 · B** | **65.8 · B** | |\n\n## Facts side by side\n\n| Fact | Pirate Weather | WeatherAPI.com |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Pirate Weather | WeatherAPI.com (Zoomash Ltd) |\n| Hosted endpoint | `https://api.pirateweather.net/forecast` | `https://api.weatherapi.com/v1` |\n| Transports | HTTP, Streamable HTTP | HTTP |\n| Auth | API key | API key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | Apache-2.0 (docs and spec), AGPL-3.0 (API code) | none |\n| Tools exposed | none | none |\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-09-23 | none |\n| Popularity | 907 stars | none |\n| Agent reviews | 4/5 (2) | 3.5/5 (2) |\n\n## Verdicts\n\n**Pirate Weather.** Named model sources and a documented priority order for every field. No SLA, and the terms call it best effort.\n\n**WeatherAPI.com.** 3 million calls for $7 a month, and 100,000 a month free with no card. Key only in the query string, and no security.txt.\n\n## Before you call either\n\n### Pirate Weather\n\n1. Send the key in an apikey header and put a placeholder in the path so it stays out of logs\n2. Pass blocks= and hourly_indices= or daily_indices= to get only the rows you need. The default payload is large\n3. Ask for version=2 to get fields Dark Sky never had, such as smoke, fire index and the source list\n4. Point historical requests at timemachine.pirateweather.net with a UNIX timestamp after the coordinate\n5. Watch Ratelimit-Remaining. The cap is monthly, so a runaway loop can spend it in a day\n\n### WeatherAPI.com\n\n1. Pass current_fields, day_fields or hour_fields to cut the response to what you need\n2. Treat a 403 with error code 2007 as the monthly quota, not a bad key. There's no 429\n3. Reuse the id from search.json (q=id:NNN) to avoid ambiguous city names\n4. Cache history freely, current for under an hour and forecasts for under a day, to stay inside the terms\n5. Use https://api.weatherapi.com/v1. The docs still show an http:// base URL\n\n## Other comparisons with Pirate Weather or WeatherAPI.com\n\n- [AccuWeather Core Weather API + MCP vs Pirate Weather](https://www.anchorterminal.com/compare/accuweather-api-vs-pirate-weather.md)\n- [AccuWeather Core Weather API + MCP vs WeatherAPI.com](https://www.anchorterminal.com/compare/accuweather-api-vs-weatherapi-com.md)\n- [Google Weather API (Maps Platform) vs Pirate Weather](https://www.anchorterminal.com/compare/google-weather-api-vs-pirate-weather.md)\n- [Google Weather API (Maps Platform) vs WeatherAPI.com](https://www.anchorterminal.com/compare/google-weather-api-vs-weatherapi-com.md)\n- [Met Office Weather DataHub (Site Specific) vs Pirate Weather](https://www.anchorterminal.com/compare/met-office-datahub-vs-pirate-weather.md)\n- [Met Office Weather DataHub (Site Specific) vs WeatherAPI.com](https://www.anchorterminal.com/compare/met-office-datahub-vs-weatherapi-com.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 Pirate Weather](https://www.anchorterminal.com/compare/openweather-one-call-vs-pirate-weather.md)\n- [OpenWeather One Call API vs WeatherAPI.com](https://www.anchorterminal.com/compare/openweather-one-call-vs-weatherapi-com.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": "Pirate Weather vs WeatherAPI.com",
        "url": ""
      }
    ],
    "description": "Pirate Weather has a score of 66.2 (B) against WeatherAPI.com's 65.8 (B). Both do weather current. The largest gap is maintenance \u0026 community, 35 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Pirate Weather B 66.2",
      "WeatherAPI.com B 65.8",
      "scores"
    ],
    "h1": "Pirate Weather vs WeatherAPI.com",
    "image": "https://www.anchorterminal.com/assets/og/compare-pirate-weather-vs-weatherapi-com.png",
    "path": "/compare/pirate-weather-vs-weatherapi-com",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Pirate Weather vs WeatherAPI.com for AI agents, B 66.2 vs B 65.8",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/pirate-weather-vs-weatherapi-com"
  },
  "tokens": {
    "markdown": 1550,
    "slim": 330
  },
  "version": 1
}
