{
  "data": {
    "a": {
      "slug": "openweather-one-call",
      "name": "OpenWeather One Call API",
      "vendor": "OpenWeather",
      "vendorUrl": "https://openweathermap.org",
      "kind": "http-api",
      "category": "weather",
      "summary": "Current weather, minute, hourly and daily forecasts, government alerts and history back to 1979 in one call, billed per call with 1,000 free a day.",
      "url": "https://www.anchorterminal.com/tools/openweather-one-call",
      "markdownUrl": "https://www.anchorterminal.com/tools/openweather-one-call.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/openweather-one-call.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/openweather-one-call.json",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.openweathermap.org/data/3.0/onecall",
      "packages": [],
      "auth": "api-key",
      "authNotes": "The REST API takes the key as the appid query parameter, so it lands in request URLs and logs. The agent lane at agents.openweathermap.org issues a separate data key (bf_live_…) sent as a Bearer header to data.openweathermap.org and to the MCP server. The One Call by Call subscription has to be activated on the account before the key works on 3.0 or 4.0.",
      "pricing": "freemium",
      "pricingNotes": "One Call by Call. The first 1,000 calls a day are free, then $0.0015 a call, with a default daily cap of 2,000 you can raise or lower in the account (https://openweathermap.org/price). Charges are summed and billed at the end of the subscription month, and subscribing means filling in a billing form (https://openweathermap.org/faq). The agent lane gives every account 1,000 One Call credits a day, replaced each night UTC, then bills $0.001 a successful call from prepaid credit. Top-ups are card only, from $10, and a person completes them on the payment page (https://agents.openweathermap.org/llms.txt). The wider subscription plans (Startup $40, Developer $180, Professional $470, Expert $1,200 a month) cover the older per-product APIs, not One Call.",
      "priceSummary": "$1.50 / 1k req",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": 6,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://openweathermap.org/api/one-call-3",
      "llmsTxt": "https://openweathermap.org/llms.txt",
      "registryName": "org.openweathermap/agents",
      "capabilities": [
        "weather.current",
        "weather.forecast",
        "weather.historical",
        "weather.alerts",
        "data.weather"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "no-card",
        "mcp",
        "llms-txt",
        "closed-source",
        "usage-priced",
        "uk"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 57.4,
        "grade": "C",
        "agentReady": false,
        "rank": 294,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 5,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 73,
          "maintenance": 60,
          "payments": 60,
          "reliability": 45,
          "schema": 68,
          "security": 42,
          "transparency": 62
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "1,000 free calls a day, then $0.0015 a call, or $0.001 on the agent lane. The main API takes the key only as the appid query parameter.",
        "strengths": [
          "1,000 free calls a day, then $0.0015 a call, or $0.001 on the agent lane",
          "An agent can sign up with one POST and an email, and failed calls aren't billed on that lane",
          "Official hosted MCP server in the registry as org.openweathermap/agents",
          "History back to 1979-01-01 from the same API as the forecast",
          "llms.txt, a Markdown agent guide and an error dictionary with the reaction for each code"
        ],
        "weaknesses": [
          "The main API takes the key only as the appid query parameter",
          "3.0 is marked deprecated with no shutdown date, and 4.0 needs new paths",
          "No status page, public changelog or OpenAPI for the main API",
          "No security.txt or disclosure policy found",
          "Agent top-ups are card only and need a person, and the lane is run by Extreme Electronics Ltd"
        ],
        "agentNotes": [
          "Sign up on the agent lane with POST https://agents.openweathermap.org/v1/accounts and keep the data key. It's shown once",
          "Check GET https://data.openweathermap.org/account/balance for credit. No data response carries a cost or balance",
          "On the main API, activate One Call by Call and set the daily cap in Billing plans before the first loop",
          "Pass units=metric. The default is Kelvin",
          "Use exclude=minutely,alerts on 3.0, or the 4.0 timeline step you need, to shrink responses"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 57.4
          }
        ],
        "editorialScores": {
          "ergonomics": 73,
          "maintenance": 60,
          "payments": 60,
          "reliability": 45,
          "schema": 68,
          "security": 42,
          "transparency": 53
        },
        "provenanceScore": 70,
        "dataQualityScore": 52
      },
      "connect": {
        "http": "curl \"https://api.openweathermap.org/data/3.0/onecall?lat=51.51\u0026lon=-0.13\u0026exclude=minutely\u0026units=metric\u0026appid=$OPENWEATHER_API_KEY\"",
        "claudeCode": "claude mcp add --transport http openweather https://mcp.openweathermap.org/mcp --header \"Authorization: Bearer $OPENWEATHER_DATA_KEY\"",
        "config": {
          "mcpServers": {
            "openweather": {
              "headers": {
                "Authorization": "Bearer ${OPENWEATHER_DATA_KEY}"
              },
              "type": "http",
              "url": "https://mcp.openweathermap.org/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/weather.current",
        "tool": "https://letme.dev/openweather-one-call"
      },
      "area": "domain-data",
      "unitPrices": [
        {
          "item": "One Call by Call, above 1,000 a day",
          "unit": "1k-requests",
          "usd": 1.5,
          "note": "$0.0015 a call, first 1,000 a day free"
        },
        {
          "item": "Agent lane, prepaid credit",
          "unit": "1k-requests",
          "usd": 1,
          "note": "1 credit = $0.001 a successful call, 1,000 free credits a day, $10 minimum top-up"
        }
      ],
      "provenance": {
        "legalEntity": "OpenWeather Ltd",
        "domain": "openweathermap.org",
        "domainRegistered": "2012-04-20",
        "endpointOnVendorDomain": true,
        "terms": "https://openweather.co.uk/storage/app/media/Terms/Openweather_terms_and_conditions_of_sale.pdf",
        "privacy": "https://openweather.co.uk/privacy-policy",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "The terms of sale and privacy policy sit on openweather.co.uk and name OpenWeather Ltd at 30 St Mary Axe, London EC3A 8BF, under the law of England and Wales.",
          "The agent lane is operated by Extreme Electronics Ltd, trading as The Bot Forum, with its own versioned terms at agents.openweathermap.org/tos.",
          "openweathermap.org/.well-known/security.txt returns 404.",
          "The company's GitHub organisation holds a storage engine (Deker) and an awesome list, no SDK or MCP source."
        ],
        "score": 70
      },
      "dataQuality": {
        "coverage": "Global, any coordinate, from OpenWeather's own model blend",
        "coverageRating": 4,
        "freshness": "Not stated for One Call by Call. The subscription table lists updates every 2 hours on Startup, hourly on Developer and every 10 minutes on Professional and Expert",
        "freshnessClass": "hourly",
        "history": "Timemachine from 1979-01-01",
        "historyYears": 47,
        "methodology": "",
        "sourcesDisclosed": false,
        "licence": "CC BY-SA 4.0 and ODbL per the terms of sale, with attribution on lower plans",
        "licenceClass": "clear",
        "standing": "",
        "standingClass": "none",
        "reuse": "The terms of sale put the data under CC BY-SA 4.0 and ODbL, so caching and redistribution are allowed with attribution and share-alike. The FAQ adds a required credit line, link and logo for Free to Professional plans.",
        "score": 52,
        "checks": null
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/openweather-one-call.json",
      "live": {
        "slug": "openweather-one-call",
        "probe": {
          "target": "https://api.openweathermap.org/data/3.0/onecall",
          "method": "get",
          "lastAt": "2026-10-05T00:25:47.494392468Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 81,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 86,
          "p95ms24h": 119,
          "samples24h": 272,
          "samples30d": 905,
          "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": 5,
              "ok": 5
            }
          ]
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "org.openweathermap/agents",
            "version": "0.3.0",
            "seenAt": "2026-10-04T23:42:40.113054682Z"
          }
        ],
        "securityTxt": {
          "url": "https://openweathermap.org/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:16:02.706673842Z"
        },
        "llmsTxt": {
          "url": "https://openweathermap.org/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:05.491726758Z"
        },
        "domain": {
          "domain": "openweathermap.org",
          "registered": "2012-04-20",
          "source": "https://rdap.publicinterestregistry.org/rdap/domain/openweathermap.org",
          "checkedAt": "2026-10-04T13:10:39.925519614Z"
        },
        "pages": [
          {
            "url": "https://openweathermap.org/price",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:46:31.298624589Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "688045af7eab"
          },
          {
            "url": "https://openweather.co.uk/privacy-policy",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-04T15:46:29.285242667Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "763a8b8a9767"
          }
        ],
        "updatedAt": "2026-10-05T00:25:47.494392468Z"
      }
    },
    "b": {
      "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-05T00:25:48.00022136Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 100,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 105,
          "p95ms24h": 154,
          "samples24h": 272,
          "samples30d": 905,
          "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": 5,
              "ok": 5
            }
          ]
        },
        "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-05T00:25:48.00022136Z"
      }
    },
    "summary": "Pirate Weather has a score of 66.2 (B) against OpenWeather One Call API's 57.4 (C). Both do weather current. The largest gap is reliability, 30 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/openweather-one-call-vs-pirate-weather",
    "json": "https://www.anchorterminal.com/compare/openweather-one-call-vs-pirate-weather.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/openweather-one-call-vs-pirate-weather.md",
    "slim": "https://www.anchorterminal.com/compare/openweather-one-call-vs-pirate-weather.min.md"
  },
  "markdown": "Pirate Weather has a score of 66.2 (B) against OpenWeather One Call API's 57.4 (C). Both do weather current. The largest gap is reliability, 30 points.\n\n- OpenWeather One Call API: grade C, 57.4/100, rank #294 of 452. Markdown https://www.anchorterminal.com/tools/openweather-one-call.md · JSON https://www.anchorterminal.com/api/v1/tools/openweather-one-call.json\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\n## Which one, for what\n\nPick OpenWeather One Call API for payments \u0026 pricing (+30).\n\nPick Pirate Weather for reliability (+30), schema \u0026 documentation (+17), maintenance \u0026 community (+20), transparency \u0026 trust (+9).\n\n## Score by category\n\n| Category | Weight | OpenWeather One Call API | Pirate Weather | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 45 | 75 | Pirate Weather +30 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 68 | 85 | Pirate Weather +17 |\n| Agent ergonomics | 13% (16.2 this run) | 73 | 77 | Pirate Weather +4 |\n| Security \u0026 auth | 14% (17.5 this run) | 42 | 45 | Pirate Weather +3 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 30 | OpenWeather One Call API +30 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 60 | 80 | Pirate Weather +20 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 62 | 71 | Pirate Weather +9 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **57.4 · C** | **66.2 · B** | |\n\n## Facts side by side\n\n| Fact | OpenWeather One Call API | Pirate Weather |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | OpenWeather | Pirate Weather |\n| Hosted endpoint | `https://api.openweathermap.org/data/3.0/onecall` | `https://api.pirateweather.net/forecast` |\n| Transports | HTTP, Streamable HTTP | HTTP, Streamable HTTP |\n| Auth | API key | API key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | none | Apache-2.0 (docs and spec), AGPL-3.0 (API code) |\n| Tools exposed | 6 | 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 | yes | no |\n| MCP registry | `org.openweathermap/agents` | not listed |\n| Last release | none | 2026-09-23 |\n| Popularity | none | 907 stars |\n| Agent reviews | 3.5/5 (2) | 4/5 (2) |\n\n## Verdicts\n\n**OpenWeather One Call API.** 1,000 free calls a day, then $0.0015 a call, or $0.001 on the agent lane. The main API takes the key only as the appid query parameter.\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## Before you call either\n\n### OpenWeather One Call API\n\n1. Sign up on the agent lane with POST https://agents.openweathermap.org/v1/accounts and keep the data key. It's shown once\n2. Check GET https://data.openweathermap.org/account/balance for credit. No data response carries a cost or balance\n3. On the main API, activate One Call by Call and set the daily cap in Billing plans before the first loop\n4. Pass units=metric. The default is Kelvin\n5. Use exclude=minutely,alerts on 3.0, or the 4.0 timeline step you need, to shrink responses\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## Other comparisons with OpenWeather One Call API or Pirate Weather\n\n- [AccuWeather Core Weather API + MCP vs OpenWeather One Call API](https://www.anchorterminal.com/compare/accuweather-api-vs-openweather-one-call.md)\n- [AccuWeather Core Weather API + MCP vs Pirate Weather](https://www.anchorterminal.com/compare/accuweather-api-vs-pirate-weather.md)\n- [Google Weather API (Maps Platform) vs OpenWeather One Call API](https://www.anchorterminal.com/compare/google-weather-api-vs-openweather-one-call.md)\n- [Google Weather API (Maps Platform) vs Pirate Weather](https://www.anchorterminal.com/compare/google-weather-api-vs-pirate-weather.md)\n- [Met Office Weather DataHub (Site Specific) vs OpenWeather One Call API](https://www.anchorterminal.com/compare/met-office-datahub-vs-openweather-one-call.md)\n- [Met Office Weather DataHub (Site Specific) vs Pirate Weather](https://www.anchorterminal.com/compare/met-office-datahub-vs-pirate-weather.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- [OpenWeather One Call API vs Visual Crossing Weather API](https://www.anchorterminal.com/compare/openweather-one-call-vs-visual-crossing.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- [Pirate Weather vs WeatherAPI.com](https://www.anchorterminal.com/compare/pirate-weather-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": "OpenWeather One Call API vs Pirate Weather",
        "url": ""
      }
    ],
    "description": "Pirate Weather has a score of 66.2 (B) against OpenWeather One Call API's 57.4 (C). Both do weather current. The largest gap is reliability, 30 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "OpenWeather One Call API C 57.4",
      "Pirate Weather B 66.2",
      "scores"
    ],
    "h1": "OpenWeather One Call API vs Pirate Weather",
    "image": "https://www.anchorterminal.com/assets/og/compare-openweather-one-call-vs-pirate-weather.png",
    "path": "/compare/openweather-one-call-vs-pirate-weather",
    "published": "2026-10-01",
    "section": "tools",
    "title": "OpenWeather One Call API vs Pirate Weather for AI agents",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/openweather-one-call-vs-pirate-weather"
  },
  "tokens": {
    "markdown": 1600,
    "slim": 380
  },
  "version": 1
}
