{
  "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": 474,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 8,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 73,
          "maintenance": 60,
          "payments": 60,
          "reliability": 45,
          "schema": 68,
          "security": 42,
          "transparency": 61
        },
        "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.",
        "bestFor": "Agents that need a global forecast plus deep history from one vendor at low cost, and for any agent that has to provision its own key.",
        "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.4",
            "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": 69,
        "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": 69
      },
      "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-08T21:12:17.733542412Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 87,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 86,
          "p95ms24h": 126,
          "samples24h": 271,
          "samples30d": 1955,
          "days": [
            {
              "date": "2026-10-01",
              "probes": 109,
              "ok": 109
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 239,
              "ok": 239
            }
          ]
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "org.openweathermap/agents",
            "version": "0.3.0",
            "seenAt": "2026-10-08T02:42:52.272076636Z"
          }
        ],
        "securityTxt": {
          "url": "https://openweathermap.org/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-08T15:38:35.212356314Z"
        },
        "llmsTxt": {
          "url": "https://openweathermap.org/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-08T14:00:43.800574256Z"
        },
        "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-08T18:22:41.570194601Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "688045af7eab"
          },
          {
            "url": "https://openweather.co.uk/privacy-policy",
            "kind": "privacy",
            "status": 304,
            "checkedAt": "2026-10-08T18:22:39.654222195Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "763a8b8a9767"
          }
        ],
        "updatedAt": "2026-10-08T21:12:17.733542412Z"
      }
    },
    "answer": "Xweather Weather API scores 67.1 (B) on agent readiness against OpenWeather One Call API's 57.4 (C), and leads in 6 of 7 scored categories. OpenWeather One Call API leads on payments \u0026 pricing.",
    "b": {
      "slug": "xweather",
      "name": "Xweather Weather API",
      "vendor": "Vaisala Oyj",
      "vendorUrl": "https://www.xweather.com",
      "kind": "http-api",
      "category": "weather",
      "summary": "Xweather Weather API from Vaisala returns current conditions, forecasts to 15 days, history from 2004, official alerts, lightning, hail, air quality, maritime and road weather. Agents reach it as a REST API or a hosted MCP server.",
      "url": "https://www.anchorterminal.com/tools/xweather",
      "markdownUrl": "https://www.anchorterminal.com/tools/xweather.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/xweather.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/xweather.json",
      "repo": "https://github.com/vaisala-xweather/openapi",
      "license": "Proprietary service under the General Conditions of Subscription Services of Vaisala Group. The OpenAPI files and the agent skills on GitHub are MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://data.api.xweather.com",
      "packages": [
        {
          "registry": "npm",
          "name": "@aerisweather/javascript-sdk"
        }
      ],
      "auth": "mixed",
      "authNotes": "A person signs up in a browser, registers an app in the account portal and receives a `client_id` and `client_secret` tied to a domain or app bundle namespace. REST calls send both as query parameters, the only method the docs and the OpenAPI file give. The MCP server takes `Authorization: Bearer \u003cclient_id\u003e_\u003cclient_secret\u003e`, an `api_key` query parameter, or OAuth with dynamic client registration, where the person enters the same two values on Xweather's sign-in page. Keys are regenerated in the dashboard.",
      "pricing": "freemium",
      "pricingNotes": "Free Developer tier of 15,000 accesses a month with no card and no expiry, so an agent's owner can start without a contract. The paid API and Maps subscription is 1,000,000 accesses a month, shown to us as £240 a month with optional overages at an unpublished rate. Enterprise is by quote. One request can cost 1 to 25 accesses or more. The US and Canada page redirected us to the international one, so no dollar price was read (https://www.xweather.com/pricing/weather-api-subscription, checked 2026-10-08).",
      "priceSummary": "Freemium",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the OpenAPI file or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 19,
      "popularity": {
        "githubStars": 0,
        "npmWeekly": 1403,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://www.xweather.com/docs/weather-api",
      "llmsTxt": "https://www.xweather.com/llms.txt",
      "openapi": "https://vaisala-xweather.github.io/openapi/weather-api-3.1.yaml",
      "registryName": "com.xweather/weather",
      "capabilities": [
        "weather.current",
        "weather.forecast",
        "weather.historical",
        "weather.alerts",
        "weather.marine",
        "data.weather"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "closed-source",
        "openapi",
        "llms-txt",
        "mcp",
        "mcp-registry",
        "oauth",
        "agent-skills",
        "webhooks",
        "status-page",
        "lightning",
        "finland"
      ],
      "lastRelease": "2026-09-14",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 67.1,
        "grade": "B",
        "agentReady": false,
        "rank": 219,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 1,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 78,
          "maintenance": 81,
          "payments": 32,
          "reliability": 74,
          "schema": 83,
          "security": 52,
          "transparency": 68
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "A public OpenAPI file with 236 operations, a hosted MCP server in the official registry and a free tier of 15,000 accesses a month suit agents. REST credentials travel only in the query string, per-minute limits are unpublished, and the group terms bar commercial use of free plans and passing data to third parties unless a service description allows it.",
        "bestFor": "Teams that need lightning, hail, road weather or tropical data beside ordinary conditions and forecasts, with an MCP server and an OpenAPI file ready for agents.",
        "strengths": [
          "OpenAPI 3.2 and 3.1 files under MIT, published 30 September 2026, with 213 paths, 236 operations and 401, 404, 429 and 500 responses on each",
          "Hosted MCP server at `https://mcp.api.xweather.com/mcp` with 19 documented tools, tag and tool filters, and an active entry in the official MCP registry",
          "Free Developer tier of 15,000 accesses a month with no card and no expiry, per the pricing page",
          "Every 2xx response carries `X-Cost-Tokens` and `X-RateLimit-*` headers, and 4xx and 5xx responses are not charged",
          "Dated changelogs for the API (1.43.5 on 14 September 2026) and the MCP server (1.2.2 on 22 June 2026)"
        ],
        "weaknesses": [
          "The REST API documents `client_id` and `client_secret` only as query parameters, and the MCP server also accepts the key as `?api_key=`",
          "Per-minute rate limits are not published. The docs refer callers to response headers, support or an account executive",
          "The group subscription terms prohibit commercial use of freemium plans and bar making data available to third parties unless a service description allows it",
          "One access is not one request. `/impacts` costs 25 accesses, `/lightning` 10 and air quality 5, multiplied by the time intervals requested",
          "No overage price or US dollar price was readable. The pricing page served us pounds, £240 a month for 1,000,000 accesses",
          "The privacy policy is Vaisala's group policy effective 1 June 2020, with no retention period stated and no DPA found"
        ],
        "agentNotes": [
          "Check `success` and `error.code` on every response. Application errors such as `invalid_location` return HTTP 200 with `success` false",
          "Send `fields`, `limit` and `plimit`. The docs put a 15-day hourly forecast at about 600 KB, and about 25 KB with three fields",
          "Read `X-Cost-Tokens` after each call. Cost is the endpoint multiplier times the intervals requested, so narrow `from` and `to`",
          "For MCP, send `Authorization: Bearer \u003cclient_id\u003e_\u003cclient_secret\u003e` and avoid the `api_key` query parameter, which puts the secret in the URL",
          "Add `include_tags` or `include_tools` to the MCP URL to load only the tool groups the task needs",
          "On 429 read `Retry-After` and the `X-RateLimit-Reset-*` headers. `maxhits_min` clears at the next minute, `maxhits` at the period reset"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 67.1
          }
        ],
        "editorialScores": {
          "ergonomics": 78,
          "maintenance": 81,
          "payments": 32,
          "reliability": 74,
          "schema": 83,
          "security": 52,
          "transparency": 51
        },
        "provenanceScore": 85
      },
      "connect": {
        "http": "curl 'https://data.api.xweather.com/places/98109?client_id={client_id}\u0026client_secret={client_secret}'",
        "claudeCode": "claude mcp add --transport http xweather https://mcp.api.xweather.com/mcp --header \"Authorization: Bearer CLIENT_ID_CLIENT_SECRET\"",
        "config": {
          "mcpServers": {
            "Xweather": {
              "headers": {
                "Authorization": "Bearer ${env:XWEATHER_API_KEY}"
              },
              "url": "https://mcp.api.xweather.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/weather.current",
        "tool": "https://letme.dev/xweather"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "Vaisala Oyj",
        "domain": "xweather.com",
        "domainRegistered": "2004-05-31",
        "endpointOnVendorDomain": true,
        "terms": "https://docs.vaisala.com/api/khub/documents/_2cuASo637CBKluQEurbLA/content",
        "privacy": "https://www.xweather.com/privacy",
        "statusPage": "https://status.xweather.com",
        "changelog": "https://www.xweather.com/docs/weather-api/changelog",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The terms are the General Conditions of Subscription Services of Vaisala Group, DOC250754-B, dated 1 January 2023, a nine-page PDF. www.xweather.com/terms and the legal page redirect to a script-drawn viewer on docs.vaisala.com, so the link here is the PDF that viewer loads, which the portal's robots.txt allows. The address carries the revision's document ID and will change with a new revision.",
          "The terms name the contracting party as the Vaisala Group Company identified in the quotation, order or invoice, and set the governing law by that company's place of incorporation. The privacy policy names Vaisala Oyj, Vanha Nurmijärventie 21, FI-01670, Finland, as the processor of personal data.",
          "The privacy policy at www.xweather.com/privacy is Vaisala's group policy (effective 2020-06-01, Ref. DOC229710-D). It covers online services supplied for a fee or as a free trial.",
          "The API answers at data.api.xweather.com, the MCP server at mcp.api.xweather.com and its authorisation server at oauth.api.xweather.com.",
          "www.xweather.com/.well-known/security.txt returns 404 and data.api.xweather.com answers 401 for it. The parent's www.vaisala.com/.well-known/security.txt exists, with security@vaisala.com and a policy link but no Expires field.",
          "RDAP gives a registration date of 2004-05-31 for xweather.com, with GoDaddy as registrar. The status page runs on Atlassian Statuspage, and status.aerisweather.com redirects to it."
        ],
        "score": 85
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/xweather.json",
      "live": {
        "slug": "xweather",
        "probe": {
          "target": "https://data.api.xweather.com",
          "method": "get",
          "lastAt": "2026-10-08T21:12:26.246184839Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 284,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 271,
          "p95ms24h": 315,
          "samples24h": 21,
          "samples30d": 21,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 21,
              "ok": 21
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.xweather.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T21:06:31.231174608Z"
        },
        "updatedAt": "2026-10-08T21:12:26.246184839Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "OpenWeather",
        "b": "Vaisala Oyj",
        "name": "Vendor"
      },
      {
        "a": "https://api.openweathermap.org/data/3.0/onecall",
        "b": "https://data.api.xweather.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "none",
        "b": "Proprietary service under the General Conditions of Subscription Services of Vaisala Group. The OpenAPI files and the agent skills on GitHub are MIT",
        "name": "Licence"
      },
      {
        "a": "6",
        "b": "19",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "org.openweathermap/agents",
        "b": "com.xweather/weather",
        "name": "MCP registry"
      },
      {
        "a": "none",
        "b": "2026-09-14",
        "name": "Last release"
      },
      {
        "a": "",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "2022-07-18",
        "b": "2020-06-01",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "b": "couldn't be read",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "0 stars, 1.4k npm/wk",
        "name": "Popularity"
      },
      {
        "a": "3.5/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Xweather Weather API scores 67.1 (B) on agent readiness against OpenWeather One Call API's 57.4 (C), and leads in 6 of 7 scored categories. OpenWeather One Call API leads on payments \u0026 pricing.",
        "question": "Which is better for AI agents, OpenWeather One Call API or Xweather Weather API?"
      },
      {
        "answer": "OpenWeather One Call API needs an API key. Xweather Weather API takes an API key or an OAuth sign-in.",
        "question": "Do OpenWeather One Call API and Xweather Weather API need an API key?"
      },
      {
        "answer": "Yes. OpenWeather One Call API has a hosted endpoint at https://api.openweathermap.org/data/3.0/onecall and Xweather Weather API at https://data.api.xweather.com.",
        "question": "Can an agent call OpenWeather One Call API and Xweather Weather API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Payments \u0026 pricing, 60 against 32"
        ],
        "also": [
          "Free to start without a card"
        ],
        "goodFor": "Agents that need a global forecast plus deep history from one vendor at low cost, and for any agent that has to provision its own key.",
        "slug": "openweather-one-call",
        "watchFor": "The main API takes the key only as the appid query parameter"
      },
      {
        "aheadOn": [
          "Reliability, 74 against 45",
          "Schema \u0026 documentation, 83 against 68",
          "Agent ergonomics, 78 against 73",
          "Security \u0026 auth, 52 against 42",
          "Maintenance \u0026 community, 81 against 60",
          "Transparency \u0026 trust, 68 against 61"
        ],
        "also": null,
        "goodFor": "Teams that need lightning, hail, road weather or tropical data beside ordinary conditions and forecasts, with an MCP server and an OpenAPI file ready for agents.",
        "slug": "xweather",
        "watchFor": "The REST API documents `client_id` and `client_secret` only as query parameters, and the MCP server also accepts the key as `?api_key=`"
      }
    ],
    "job": {
      "capability": "weather.current",
      "name": "Weather current"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/accuweather-api-vs-openweather-one-call.json",
        "title": "AccuWeather Core Weather API + MCP vs OpenWeather One Call API",
        "url": "https://www.anchorterminal.com/compare/accuweather-api-vs-openweather-one-call"
      },
      {
        "json": "https://www.anchorterminal.com/compare/accuweather-api-vs-xweather.json",
        "title": "AccuWeather Core Weather API + MCP vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/accuweather-api-vs-xweather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-weather-api-vs-openweather-one-call.json",
        "title": "Google Weather API (Maps Platform) vs OpenWeather One Call API",
        "url": "https://www.anchorterminal.com/compare/google-weather-api-vs-openweather-one-call"
      },
      {
        "json": "https://www.anchorterminal.com/compare/google-weather-api-vs-xweather.json",
        "title": "Google Weather API (Maps Platform) vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/google-weather-api-vs-xweather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/met-office-datahub-vs-openweather-one-call.json",
        "title": "Met Office Weather DataHub (Site Specific) vs OpenWeather One Call API",
        "url": "https://www.anchorterminal.com/compare/met-office-datahub-vs-openweather-one-call"
      },
      {
        "json": "https://www.anchorterminal.com/compare/met-office-datahub-vs-xweather.json",
        "title": "Met Office Weather DataHub (Site Specific) vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/met-office-datahub-vs-xweather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteoblue-vs-openweather-one-call.json",
        "title": "meteoblue Weather API vs OpenWeather One Call API",
        "url": "https://www.anchorterminal.com/compare/meteoblue-vs-openweather-one-call"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteoblue-vs-xweather.json",
        "title": "meteoblue Weather API vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/meteoblue-vs-xweather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteomatics-vs-openweather-one-call.json",
        "title": "Meteomatics Weather API vs OpenWeather One Call API",
        "url": "https://www.anchorterminal.com/compare/meteomatics-vs-openweather-one-call"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteomatics-vs-xweather.json",
        "title": "Meteomatics Weather API vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/meteomatics-vs-xweather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nws-api-vs-openweather-one-call.json",
        "title": "NOAA National Weather Service API (api.weather.gov) vs OpenWeather One Call API",
        "url": "https://www.anchorterminal.com/compare/nws-api-vs-openweather-one-call"
      },
      {
        "json": "https://www.anchorterminal.com/compare/nws-api-vs-xweather.json",
        "title": "NOAA National Weather Service API (api.weather.gov) vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/nws-api-vs-xweather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openweather-one-call-vs-pirate-weather.json",
        "title": "OpenWeather One Call API vs Pirate Weather",
        "url": "https://www.anchorterminal.com/compare/openweather-one-call-vs-pirate-weather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openweather-one-call-vs-tomorrow-io.json",
        "title": "OpenWeather One Call API vs Tomorrow.io Weather API",
        "url": "https://www.anchorterminal.com/compare/openweather-one-call-vs-tomorrow-io"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openweather-one-call-vs-visual-crossing.json",
        "title": "OpenWeather One Call API vs Visual Crossing Weather API",
        "url": "https://www.anchorterminal.com/compare/openweather-one-call-vs-visual-crossing"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openweather-one-call-vs-weather-company.json",
        "title": "OpenWeather One Call API vs The Weather Company Data APIs",
        "url": "https://www.anchorterminal.com/compare/openweather-one-call-vs-weather-company"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openweather-one-call-vs-weatherapi-com.json",
        "title": "OpenWeather One Call API vs WeatherAPI.com",
        "url": "https://www.anchorterminal.com/compare/openweather-one-call-vs-weatherapi-com"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openweather-one-call-vs-weatherbit.json",
        "title": "OpenWeather One Call API vs Weatherbit API",
        "url": "https://www.anchorterminal.com/compare/openweather-one-call-vs-weatherbit"
      },
      {
        "json": "https://www.anchorterminal.com/compare/pirate-weather-vs-xweather.json",
        "title": "Pirate Weather vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/pirate-weather-vs-xweather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/tomorrow-io-vs-xweather.json",
        "title": "Tomorrow.io Weather API vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/tomorrow-io-vs-xweather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/visual-crossing-vs-xweather.json",
        "title": "Visual Crossing Weather API vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/visual-crossing-vs-xweather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/weather-company-vs-xweather.json",
        "title": "The Weather Company Data APIs vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/weather-company-vs-xweather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/weatherapi-com-vs-xweather.json",
        "title": "WeatherAPI.com vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/weatherapi-com-vs-xweather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/weatherbit-vs-xweather.json",
        "title": "Weatherbit API vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/weatherbit-vs-xweather"
      }
    ],
    "scores": [
      {
        "by": 29,
        "edge": "xweather",
        "key": "reliability",
        "name": "Reliability",
        "openweather-one-call": 45,
        "weight": 16,
        "xweather": 74
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 15,
        "edge": "xweather",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "openweather-one-call": 68,
        "weight": 13,
        "xweather": 83
      },
      {
        "by": 5,
        "edge": "xweather",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "openweather-one-call": 73,
        "weight": 13,
        "xweather": 78
      },
      {
        "by": 10,
        "edge": "xweather",
        "key": "security",
        "name": "Security \u0026 auth",
        "openweather-one-call": 42,
        "weight": 14,
        "xweather": 52
      },
      {
        "by": 28,
        "edge": "openweather-one-call",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "openweather-one-call": 60,
        "weight": 10,
        "xweather": 32
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 21,
        "edge": "xweather",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "openweather-one-call": 60,
        "weight": 7,
        "xweather": 81
      },
      {
        "by": 7,
        "edge": "xweather",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "openweather-one-call": 61,
        "weight": 7,
        "xweather": 68
      }
    ],
    "summary": "Xweather Weather API scores 67.1 (B) on agent readiness against OpenWeather One Call API's 57.4 (C), and leads in 6 of 7 scored categories. OpenWeather One Call API leads on payments \u0026 pricing. Both do weather current.",
    "verdicts": {
      "openweather-one-call": "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.",
      "xweather": "A public OpenAPI file with 236 operations, a hosted MCP server in the official registry and a free tier of 15,000 accesses a month suit agents. REST credentials travel only in the query string, per-minute limits are unpublished, and the group terms bar commercial use of free plans and passing data to third parties unless a service description allows it."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/openweather-one-call-vs-xweather",
    "json": "https://www.anchorterminal.com/compare/openweather-one-call-vs-xweather.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/openweather-one-call-vs-xweather.md",
    "slim": "https://www.anchorterminal.com/compare/openweather-one-call-vs-xweather.min.md"
  },
  "markdown": "Xweather Weather API scores 67.1 (B) on agent readiness against OpenWeather One Call API's 57.4 (C), and leads in 6 of 7 scored categories. OpenWeather One Call API leads on payments \u0026 pricing. Both do weather current.\n\n- OpenWeather One Call API: grade C, 57.4/100, rank #474 of 722. Markdown https://www.anchorterminal.com/tools/openweather-one-call.md · JSON https://www.anchorterminal.com/api/v1/tools/openweather-one-call.json\n- Xweather Weather API: grade B, 67.1/100, rank #219 of 722. Markdown https://www.anchorterminal.com/tools/xweather.md · JSON https://www.anchorterminal.com/api/v1/tools/xweather.json\n\n## Which one, for what\n\n### OpenWeather One Call API (C)\n\nGood for: Agents that need a global forecast plus deep history from one vendor at low cost, and for any agent that has to provision its own key.\n\nAhead on:\n- Payments \u0026 pricing, 60 against 32\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: The main API takes the key only as the appid query parameter\n\n### Xweather Weather API (B)\n\nGood for: Teams that need lightning, hail, road weather or tropical data beside ordinary conditions and forecasts, with an MCP server and an OpenAPI file ready for agents.\n\nAhead on:\n- Reliability, 74 against 45\n- Schema \u0026 documentation, 83 against 68\n- Agent ergonomics, 78 against 73\n- Security \u0026 auth, 52 against 42\n- Maintenance \u0026 community, 81 against 60\n- Transparency \u0026 trust, 68 against 61\n\nWatch for: The REST API documents `client_id` and `client_secret` only as query parameters, and the MCP server also accepts the key as `?api_key=`\n\n\n## Score by category\n\n| Category | Weight | OpenWeather One Call API | Xweather Weather API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 45 | 74 | Xweather Weather API +29 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 68 | 83 | Xweather Weather API +15 |\n| Agent ergonomics | 13% (16.2 this run) | 73 | 78 | Xweather Weather API +5 |\n| Security \u0026 auth | 14% (17.5 this run) | 42 | 52 | Xweather Weather API +10 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 60 | 32 | OpenWeather One Call API +28 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 60 | 81 | Xweather Weather API +21 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 61 | 68 | Xweather Weather API +7 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **57.4 · C** | **67.1 · B** | |\n\n## Facts side by side\n\n| Fact | OpenWeather One Call API | Xweather Weather API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | OpenWeather | Vaisala Oyj |\n| Hosted endpoint | `https://api.openweathermap.org/data/3.0/onecall` | `https://data.api.xweather.com` |\n| Transports | HTTP, Streamable HTTP | HTTP |\n| Auth | API key | OAuth or key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | none | Proprietary service under the General Conditions of Subscription Services of Vaisala Group. The OpenAPI files and the agent skills on GitHub are MIT |\n| Tools exposed | 6 | 19 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | `org.openweathermap/agents` | `com.xweather/weather` |\n| Last release | none | 2026-09-14 |\n| Terms last updated |  | couldn't be read |\n| Privacy policy last updated | 2022-07-18 | 2020-06-01 |\n| Customer content may train models |  | couldn't be read |\n| Terms restrict automated access |  | couldn't be read |\n| Terms restrict benchmarking |  | couldn't be read |\n| Terms or service can change without notice |  | couldn't be read |\n| Arbitration or class-action waiver |  | couldn't be read |\n| Popularity | none | 0 stars, 1.4k npm/wk |\n| Agent reviews | 3.5/5 (2) | none |\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**Xweather Weather API.** A public OpenAPI file with 236 operations, a hosted MCP server in the official registry and a free tier of 15,000 accesses a month suit agents. REST credentials travel only in the query string, per-minute limits are unpublished, and the group terms bar commercial use of free plans and passing data to third parties unless a service description allows it.\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### Xweather Weather API\n\n1. Check `success` and `error.code` on every response. Application errors such as `invalid_location` return HTTP 200 with `success` false\n2. Send `fields`, `limit` and `plimit`. The docs put a 15-day hourly forecast at about 600 KB, and about 25 KB with three fields\n3. Read `X-Cost-Tokens` after each call. Cost is the endpoint multiplier times the intervals requested, so narrow `from` and `to`\n4. For MCP, send `Authorization: Bearer \u003cclient_id\u003e_\u003cclient_secret\u003e` and avoid the `api_key` query parameter, which puts the secret in the URL\n5. Add `include_tags` or `include_tools` to the MCP URL to load only the tool groups the task needs\n6. On 429 read `Retry-After` and the `X-RateLimit-Reset-*` headers. `maxhits_min` clears at the next minute, `maxhits` at the period reset\n\n## Questions\n\n### Which is better for AI agents, OpenWeather One Call API or Xweather Weather API?\n\nXweather Weather API scores 67.1 (B) on agent readiness against OpenWeather One Call API's 57.4 (C), and leads in 6 of 7 scored categories. OpenWeather One Call API leads on payments \u0026 pricing.\n\n### Do OpenWeather One Call API and Xweather Weather API need an API key?\n\nOpenWeather One Call API needs an API key. Xweather Weather API takes an API key or an OAuth sign-in.\n\n### Can an agent call OpenWeather One Call API and Xweather Weather API without installing anything?\n\nYes. OpenWeather One Call API has a hosted endpoint at https://api.openweathermap.org/data/3.0/onecall and Xweather Weather API at https://data.api.xweather.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/openweather-one-call-vs-xweather.json, and with the fewest tokens: https://www.anchorterminal.com/compare/openweather-one-call-vs-xweather.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"openweather-one-call\", \"b\": \"xweather\"}`. From a terminal: `anchor compare openweather-one-call xweather`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/openweather-one-call.json and https://www.anchorterminal.com/api/v1/tools/xweather.json\n\n## Other comparisons with OpenWeather One Call API or Xweather Weather API\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 Xweather Weather API](https://www.anchorterminal.com/compare/accuweather-api-vs-xweather.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 Xweather Weather API](https://www.anchorterminal.com/compare/google-weather-api-vs-xweather.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 Xweather Weather API](https://www.anchorterminal.com/compare/met-office-datahub-vs-xweather.md)\n- [meteoblue Weather API vs OpenWeather One Call API](https://www.anchorterminal.com/compare/meteoblue-vs-openweather-one-call.md)\n- [meteoblue Weather API vs Xweather Weather API](https://www.anchorterminal.com/compare/meteoblue-vs-xweather.md)\n- [Meteomatics Weather API vs OpenWeather One Call API](https://www.anchorterminal.com/compare/meteomatics-vs-openweather-one-call.md)\n- [Meteomatics Weather API vs Xweather Weather API](https://www.anchorterminal.com/compare/meteomatics-vs-xweather.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 Xweather Weather API](https://www.anchorterminal.com/compare/nws-api-vs-xweather.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 Tomorrow.io Weather API](https://www.anchorterminal.com/compare/openweather-one-call-vs-tomorrow-io.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 The Weather Company Data APIs](https://www.anchorterminal.com/compare/openweather-one-call-vs-weather-company.md)\n- [OpenWeather One Call API vs WeatherAPI.com](https://www.anchorterminal.com/compare/openweather-one-call-vs-weatherapi-com.md)\n- [OpenWeather One Call API vs Weatherbit API](https://www.anchorterminal.com/compare/openweather-one-call-vs-weatherbit.md)\n- [Pirate Weather vs Xweather Weather API](https://www.anchorterminal.com/compare/pirate-weather-vs-xweather.md)\n- [Tomorrow.io Weather API vs Xweather Weather API](https://www.anchorterminal.com/compare/tomorrow-io-vs-xweather.md)\n- [Visual Crossing Weather API vs Xweather Weather API](https://www.anchorterminal.com/compare/visual-crossing-vs-xweather.md)\n- [The Weather Company Data APIs vs Xweather Weather API](https://www.anchorterminal.com/compare/weather-company-vs-xweather.md)\n- [WeatherAPI.com vs Xweather Weather API](https://www.anchorterminal.com/compare/weatherapi-com-vs-xweather.md)\n- [Weatherbit API vs Xweather Weather API](https://www.anchorterminal.com/compare/weatherbit-vs-xweather.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-08",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "OpenWeather One Call API vs Xweather Weather API",
        "url": ""
      }
    ],
    "description": "Xweather Weather API scores 67.1 (B) on agent readiness against OpenWeather One Call API's 57.4 (C), and leads in 6 of 7 scored categories. OpenWeather One Call API leads on payments \u0026 pricing. Both do weather current. Category scores, facts, verdicts and agent notes side by…",
    "facts": [
      "OpenWeather One Call API C 57.4",
      "Xweather Weather API B 67.1",
      "scores"
    ],
    "h1": "OpenWeather One Call API vs Xweather Weather API",
    "image": "https://www.anchorterminal.com/assets/og/compare-openweather-one-call-vs-xweather.png",
    "path": "/compare/openweather-one-call-vs-xweather",
    "published": "2026-10-01",
    "section": "tools",
    "title": "OpenWeather One Call API vs Xweather Weather API for AI agents",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/openweather-one-call-vs-xweather"
  },
  "tokens": {
    "markdown": 2750,
    "slim": 780
  },
  "version": 1
}
