{
  "data": {
    "a": {
      "slug": "meteoblue",
      "name": "meteoblue Weather API",
      "vendor": "meteoblue AG",
      "vendorUrl": "https://www.meteoblue.com",
      "kind": "http-api",
      "category": "weather",
      "summary": "Weather data APIs from meteoblue AG of Basel, Switzerland. The Forecast API returns point forecasts in packages by coordinates, with History, Warnings, Dataset, Image and Maps APIs beside it, over HTTPS with an API key.",
      "url": "https://www.anchorterminal.com/tools/meteoblue",
      "markdownUrl": "https://www.anchorterminal.com/tools/meteoblue.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/meteoblue.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/meteoblue.json",
      "repo": "https://github.com/meteoblue/python-dataset-sdk",
      "license": "Proprietary service under meteoblue's general terms and conditions. The Python SDK for the Dataset API is MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://my.meteoblue.com",
      "packages": [
        {
          "registry": "pypi",
          "name": "meteoblue-dataset-sdk"
        }
      ],
      "auth": "api-key",
      "authNotes": "Self-serve key from a meteoblue account, created in a browser and managed in the Weather API Manager. The key goes in the `apikey` query parameter on every request, and no header option is documented. An account can hold several keys, each with a daily credit limit, an IP allow list, a referrer allow list and an optional shared secret for HMAC-SHA256 signed URLs. Paid plans start with an enquiry.",
      "pricing": "freemium",
      "pricingNotes": "Free Weather API with 10 million credits for one year from a free account, covering nine forecast packages, so an agent's owner can start without a contract. Calls cost 4,000 to 96,000 credits by package. The Premium Weather API is shown at EUR 2,400 a year for 40,000 calls a month, with larger tiers by enquiry. Prepaid credit prices are shown only after login (https://business.meteoblue.com/pricing, checked 2026-10-08).",
      "priceSummary": "Freemium",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API docs, the OpenAPI specs or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 8,
        "npmWeekly": null,
        "pypiWeekly": 512,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.meteoblue.com/en/weather-apis/introduction/overview",
      "llmsTxt": "https://business.meteoblue.com/llms.txt",
      "openapi": "https://my.meteoblue.com/packages/openapi.json",
      "capabilities": [
        "weather.current",
        "weather.forecast",
        "weather.historical",
        "weather.alerts",
        "weather.marine",
        "data.weather"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "closed-source",
        "openapi",
        "llms-txt",
        "python",
        "status-page",
        "europe"
      ],
      "lastRelease": "2026-08-22",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 61.7,
        "grade": "C",
        "agentReady": false,
        "rank": 360,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 5,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 66,
          "maintenance": 57,
          "payments": 34,
          "reliability": 75,
          "schema": 77,
          "security": 51,
          "transparency": 61
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "Eight of the APIs publish OpenAPI 3.1 specs, and the Forecast API spec lists the credit cost of every package. A public Pingdom page shows monthly uptime per API. The key travels only in the query string, the free trial covers nine forecast packages, and no security.txt, certification or DPA was found.",
        "bestFor": "Energy, agriculture and marine applications that need solar, wind, soil, sea or ensemble variables at a point, with history back to 1940 on a paid plan.",
        "strengths": [
          "OpenAPI 3.1 specs for the Forecast (54 paths), History, Dataset, Image, Warnings, Measurements, Accounting and Model-Run Archive APIs, each at `openapi.json` beside its ReDoc page",
          "The Forecast API spec lists credits per package, 4,000 for `basic-day` and `current`, 8,000 for `basic-1h`, and each response carries an `MB-Credits-Accounted` header",
          "Free Weather API with 10 million credits for one year from a self-serve account, with no purchase obligation stated",
          "Keys can be limited by daily credits, IP range and referrer, or tied to an HMAC-SHA256 signature with an expiry time",
          "Pingdom status page with 15 monitors and monthly history. The Forecast API monitor shows one 2-minute outage in the 90 days to 8 October 2026"
        ],
        "weaknesses": [
          "The key is accepted only as the `apikey` query parameter, so it appears in URLs and logs unless request signing is switched on",
          "The free trial covers nine forecast packages at hourly or coarser steps. Current conditions, sea, history, warnings and the Dataset API need a paid plan",
          "No security.txt, disclosure policy, SOC 2 or ISO 27001 was found. The only certificate published is ISO 9001:2015",
          "The general terms date from 24 May 2018, give no API-specific clauses and let meteoblue change or revoke them at any time",
          "The History API monitor shows an outage of 1 hour 26 minutes on 1 September 2026, and the status page is served over plain http only"
        ],
        "agentNotes": [
          "Pass `lat`, `lon` and `apikey` to `https://my.meteoblue.com/packages/\u003cpackage\u003e`. Join packages with commas, such as `basic-1h,basic-day`, to get several in one call",
          "Budget credits before calling. One call costs 4,000 to 96,000 credits by package, and the free trial holds 10 million for a year. Read `MB-Credits-Accounted` on each response",
          "Set `forecastDays` and pick the coarsest resolution that does the job. Without it the API returns every forecast day it has",
          "Call with a 30-second timeout, wait 30 seconds after an error and stop after 10 retries, as the availability page advises. The default limit is 500 calls a minute",
          "Keep the key out of logs, since it is part of every URL. Ask for a shared secret and send `expire` and `sig` if URLs may be seen by others"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 61.7
          }
        ],
        "editorialScores": {
          "ergonomics": 66,
          "maintenance": 57,
          "payments": 34,
          "reliability": 75,
          "schema": 77,
          "security": 51,
          "transparency": 35
        },
        "provenanceScore": 87
      },
      "connect": {
        "install": "pip install meteoblue-dataset-sdk",
        "http": "curl \"https://my.meteoblue.com/packages/basic-1h?lat=47.5596\u0026lon=7.5886\u0026tz=utc\u0026apikey=YOUR_APIKEY\""
      },
      "letme": {
        "capability": "https://letme.dev/weather.current",
        "tool": "https://letme.dev/meteoblue"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "meteoblue AG",
        "domain": "meteoblue.com",
        "domainRegistered": "2005-11-15",
        "endpointOnVendorDomain": true,
        "terms": "https://business.meteoblue.com/terms-conditions",
        "privacy": "https://business.meteoblue.com/privacy-policy",
        "statusPage": "http://status.meteoblue.com/",
        "changelog": "https://business.meteoblue.com/changelog",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The terms and conditions (last revised 24 May 2018) are meteoblue's general terms for all services, products and data, the API included. They name meteoblue AG, Basel, under Swiss law with Basel as forum. No separate API agreement is published, and commercial terms are agreed in writing.",
          "The privacy policy (last revised 15 May 2024) states that it applies to all meteoblue services however they are used, and names the website, apps and API. The same two texts are also served at content.meteoblue.com/en/about-us/legal/.",
          "The imprint gives meteoblue AG, Greifengasse 38, CH-4058 Basel, commercial register number CHE-113.182.626.",
          "The APIs answer at my.meteoblue.com, warnings-api.meteoblue.com and measurements-api.meteoblue.com, behind Cloudflare.",
          "/.well-known/security.txt returns 404 on www.meteoblue.com, my.meteoblue.com, business.meteoblue.com and docs.meteoblue.com, and 403 on content.meteoblue.com.",
          "status.meteoblue.com is a Pingdom public report with 15 monitors. It answers over http. Over https the certificate does not match the host name.",
          "The changelog is on the business site, 19 dated entries from 11 August 2025 to 22 August 2026, mostly data and model additions.",
          "RDAP for meteoblue.com gives a registration date of 2005-11-15."
        ],
        "score": 87
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/meteoblue.json",
      "live": {
        "slug": "meteoblue",
        "probe": {
          "target": "https://my.meteoblue.com",
          "method": "get",
          "lastAt": "2026-10-08T21:53:27.508043832Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 53,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 67,
          "p95ms24h": 164,
          "samples24h": 28,
          "samples30d": 28,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 28,
              "ok": 28
            }
          ]
        },
        "vendorStatus": {
          "page": "http://status.meteoblue.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-08T19:38:46.956747067Z"
        },
        "updatedAt": "2026-10-08T21:53:27.508043832Z"
      }
    },
    "answer": "Xweather Weather API scores 67.1 (B) on agent readiness against meteoblue Weather API's 61.7 (C), and leads in 5 of 7 scored categories.",
    "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:53:39.062886877Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 279,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 273,
          "p95ms24h": 315,
          "samples24h": 28,
          "samples30d": 28,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 28,
              "ok": 28
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.xweather.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T21:58:19.507303806Z"
        },
        "updatedAt": "2026-10-08T21:58:19.507303806Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "meteoblue AG",
        "b": "Vaisala Oyj",
        "name": "Vendor"
      },
      {
        "a": "https://my.meteoblue.com",
        "b": "https://data.api.xweather.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "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": "Proprietary service under meteoblue's general terms and conditions. The Python SDK for the Dataset API is MIT",
        "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": "none",
        "b": "19",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "not listed",
        "b": "com.xweather/weather",
        "name": "MCP registry"
      },
      {
        "a": "2026-08-22",
        "b": "2026-09-14",
        "name": "Last release"
      },
      {
        "a": "2018-05-24",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "2024-05-15",
        "b": "2020-06-01",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "8 stars, 512 PyPI/wk",
        "b": "0 stars, 1.4k npm/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Xweather Weather API scores 67.1 (B) on agent readiness against meteoblue Weather API's 61.7 (C), and leads in 5 of 7 scored categories.",
        "question": "Which is better for AI agents, meteoblue Weather API or Xweather Weather API?"
      },
      {
        "answer": "meteoblue Weather API needs an API key. Xweather Weather API takes an API key or an OAuth sign-in.",
        "question": "Do meteoblue Weather API and Xweather Weather API need an API key?"
      },
      {
        "answer": "Yes. meteoblue Weather API has a hosted endpoint at https://my.meteoblue.com and Xweather Weather API at https://data.api.xweather.com.",
        "question": "Can an agent call meteoblue Weather API and Xweather Weather API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "Energy, agriculture and marine applications that need solar, wind, soil, sea or ensemble variables at a point, with history back to 1940 on a paid plan.",
        "slug": "meteoblue",
        "watchFor": "The key is accepted only as the `apikey` query parameter, so it appears in URLs and logs unless request signing is switched on"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 83 against 77",
          "Agent ergonomics, 78 against 66",
          "Maintenance \u0026 community, 81 against 57",
          "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-meteoblue.json",
        "title": "AccuWeather Core Weather API + MCP vs meteoblue Weather API",
        "url": "https://www.anchorterminal.com/compare/accuweather-api-vs-meteoblue"
      },
      {
        "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-meteoblue.json",
        "title": "Google Weather API (Maps Platform) vs meteoblue Weather API",
        "url": "https://www.anchorterminal.com/compare/google-weather-api-vs-meteoblue"
      },
      {
        "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-meteoblue.json",
        "title": "Met Office Weather DataHub (Site Specific) vs meteoblue Weather API",
        "url": "https://www.anchorterminal.com/compare/met-office-datahub-vs-meteoblue"
      },
      {
        "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-meteomatics.json",
        "title": "meteoblue Weather API vs Meteomatics Weather API",
        "url": "https://www.anchorterminal.com/compare/meteoblue-vs-meteomatics"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteoblue-vs-nws-api.json",
        "title": "meteoblue Weather API vs NOAA National Weather Service API (api.weather.gov)",
        "url": "https://www.anchorterminal.com/compare/meteoblue-vs-nws-api"
      },
      {
        "json": "https://www.anchorterminal.com/compare/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-pirate-weather.json",
        "title": "meteoblue Weather API vs Pirate Weather",
        "url": "https://www.anchorterminal.com/compare/meteoblue-vs-pirate-weather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteoblue-vs-tomorrow-io.json",
        "title": "meteoblue Weather API vs Tomorrow.io Weather API",
        "url": "https://www.anchorterminal.com/compare/meteoblue-vs-tomorrow-io"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteoblue-vs-visual-crossing.json",
        "title": "meteoblue Weather API vs Visual Crossing Weather API",
        "url": "https://www.anchorterminal.com/compare/meteoblue-vs-visual-crossing"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteoblue-vs-weather-company.json",
        "title": "meteoblue Weather API vs The Weather Company Data APIs",
        "url": "https://www.anchorterminal.com/compare/meteoblue-vs-weather-company"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteoblue-vs-weatherapi-com.json",
        "title": "meteoblue Weather API vs WeatherAPI.com",
        "url": "https://www.anchorterminal.com/compare/meteoblue-vs-weatherapi-com"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteoblue-vs-weatherbit.json",
        "title": "meteoblue Weather API vs Weatherbit API",
        "url": "https://www.anchorterminal.com/compare/meteoblue-vs-weatherbit"
      },
      {
        "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-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-xweather.json",
        "title": "OpenWeather One Call API vs Xweather Weather API",
        "url": "https://www.anchorterminal.com/compare/openweather-one-call-vs-xweather"
      },
      {
        "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": 1,
        "edge": "meteoblue",
        "key": "reliability",
        "meteoblue": 75,
        "name": "Reliability",
        "weight": 16,
        "xweather": 74
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 6,
        "edge": "xweather",
        "key": "schema",
        "meteoblue": 77,
        "name": "Schema \u0026 documentation",
        "weight": 13,
        "xweather": 83
      },
      {
        "by": 12,
        "edge": "xweather",
        "key": "ergonomics",
        "meteoblue": 66,
        "name": "Agent ergonomics",
        "weight": 13,
        "xweather": 78
      },
      {
        "by": 1,
        "edge": "xweather",
        "key": "security",
        "meteoblue": 51,
        "name": "Security \u0026 auth",
        "weight": 14,
        "xweather": 52
      },
      {
        "by": 2,
        "edge": "meteoblue",
        "key": "payments",
        "meteoblue": 34,
        "name": "Payments \u0026 pricing",
        "weight": 10,
        "xweather": 32
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 24,
        "edge": "xweather",
        "key": "maintenance",
        "meteoblue": 57,
        "name": "Maintenance \u0026 community",
        "weight": 7,
        "xweather": 81
      },
      {
        "by": 7,
        "edge": "xweather",
        "key": "transparency",
        "meteoblue": 61,
        "name": "Transparency \u0026 trust",
        "weight": 7,
        "xweather": 68
      }
    ],
    "summary": "Xweather Weather API scores 67.1 (B) on agent readiness against meteoblue Weather API's 61.7 (C), and leads in 5 of 7 scored categories. Both do weather current.",
    "verdicts": {
      "meteoblue": "Eight of the APIs publish OpenAPI 3.1 specs, and the Forecast API spec lists the credit cost of every package. A public Pingdom page shows monthly uptime per API. The key travels only in the query string, the free trial covers nine forecast packages, and no security.txt, certification or DPA was found.",
      "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/meteoblue-vs-xweather",
    "json": "https://www.anchorterminal.com/compare/meteoblue-vs-xweather.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/meteoblue-vs-xweather.md",
    "slim": "https://www.anchorterminal.com/compare/meteoblue-vs-xweather.min.md"
  },
  "markdown": "Xweather Weather API scores 67.1 (B) on agent readiness against meteoblue Weather API's 61.7 (C), and leads in 5 of 7 scored categories. Both do weather current.\n\n- meteoblue Weather API: grade C, 61.7/100, rank #360 of 722. Markdown https://www.anchorterminal.com/tools/meteoblue.md · JSON https://www.anchorterminal.com/api/v1/tools/meteoblue.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### meteoblue Weather API (C)\n\nGood for: Energy, agriculture and marine applications that need solar, wind, soil, sea or ensemble variables at a point, with history back to 1940 on a paid plan.\n\nWatch for: The key is accepted only as the `apikey` query parameter, so it appears in URLs and logs unless request signing is switched on\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- Schema \u0026 documentation, 83 against 77\n- Agent ergonomics, 78 against 66\n- Maintenance \u0026 community, 81 against 57\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 | meteoblue Weather API | Xweather Weather API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 75 | 74 | meteoblue Weather API +1 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 77 | 83 | Xweather Weather API +6 |\n| Agent ergonomics | 13% (16.2 this run) | 66 | 78 | Xweather Weather API +12 |\n| Security \u0026 auth | 14% (17.5 this run) | 51 | 52 | Xweather Weather API +1 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 34 | 32 | meteoblue Weather API +2 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 57 | 81 | Xweather Weather API +24 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 61 | 68 | Xweather Weather API +7 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **61.7 · C** | **67.1 · B** | |\n\n## Facts side by side\n\n| Fact | meteoblue Weather API | Xweather Weather API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | meteoblue AG | Vaisala Oyj |\n| Hosted endpoint | `https://my.meteoblue.com` | `https://data.api.xweather.com` |\n| Transports | HTTP | HTTP |\n| Auth | API key | OAuth or key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | Proprietary service under meteoblue's general terms and conditions. The Python SDK for the Dataset API is MIT | 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 | none | 19 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | not listed | `com.xweather/weather` |\n| Last release | 2026-08-22 | 2026-09-14 |\n| Terms last updated | 2018-05-24 | couldn't be read |\n| Privacy policy last updated | 2024-05-15 | 2020-06-01 |\n| Customer content may train models | not found in the text | couldn't be read |\n| Terms restrict automated access | not found in the text | couldn't be read |\n| Terms restrict benchmarking | not found in the text | couldn't be read |\n| Terms or service can change without notice | not found in the text | couldn't be read |\n| Arbitration or class-action waiver | not found in the text | couldn't be read |\n| Popularity | 8 stars, 512 PyPI/wk | 0 stars, 1.4k npm/wk |\n\n## Verdicts\n\n**meteoblue Weather API.** Eight of the APIs publish OpenAPI 3.1 specs, and the Forecast API spec lists the credit cost of every package. A public Pingdom page shows monthly uptime per API. The key travels only in the query string, the free trial covers nine forecast packages, and no security.txt, certification or DPA was found.\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### meteoblue Weather API\n\n1. Pass `lat`, `lon` and `apikey` to `https://my.meteoblue.com/packages/\u003cpackage\u003e`. Join packages with commas, such as `basic-1h,basic-day`, to get several in one call\n2. Budget credits before calling. One call costs 4,000 to 96,000 credits by package, and the free trial holds 10 million for a year. Read `MB-Credits-Accounted` on each response\n3. Set `forecastDays` and pick the coarsest resolution that does the job. Without it the API returns every forecast day it has\n4. Call with a 30-second timeout, wait 30 seconds after an error and stop after 10 retries, as the availability page advises. The default limit is 500 calls a minute\n5. Keep the key out of logs, since it is part of every URL. Ask for a shared secret and send `expire` and `sig` if URLs may be seen by others\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, meteoblue Weather API or Xweather Weather API?\n\nXweather Weather API scores 67.1 (B) on agent readiness against meteoblue Weather API's 61.7 (C), and leads in 5 of 7 scored categories.\n\n### Do meteoblue Weather API and Xweather Weather API need an API key?\n\nmeteoblue Weather API needs an API key. Xweather Weather API takes an API key or an OAuth sign-in.\n\n### Can an agent call meteoblue Weather API and Xweather Weather API without installing anything?\n\nYes. meteoblue Weather API has a hosted endpoint at https://my.meteoblue.com 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/meteoblue-vs-xweather.json, and with the fewest tokens: https://www.anchorterminal.com/compare/meteoblue-vs-xweather.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"meteoblue\", \"b\": \"xweather\"}`. From a terminal: `anchor compare meteoblue xweather`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/meteoblue.json and https://www.anchorterminal.com/api/v1/tools/xweather.json\n\n## Other comparisons with meteoblue Weather API or Xweather Weather API\n\n- [AccuWeather Core Weather API + MCP vs meteoblue Weather API](https://www.anchorterminal.com/compare/accuweather-api-vs-meteoblue.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 meteoblue Weather API](https://www.anchorterminal.com/compare/google-weather-api-vs-meteoblue.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 meteoblue Weather API](https://www.anchorterminal.com/compare/met-office-datahub-vs-meteoblue.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 Meteomatics Weather API](https://www.anchorterminal.com/compare/meteoblue-vs-meteomatics.md)\n- [meteoblue Weather API vs NOAA National Weather Service API (api.weather.gov)](https://www.anchorterminal.com/compare/meteoblue-vs-nws-api.md)\n- [meteoblue Weather API vs OpenWeather One Call API](https://www.anchorterminal.com/compare/meteoblue-vs-openweather-one-call.md)\n- [meteoblue Weather API vs Pirate Weather](https://www.anchorterminal.com/compare/meteoblue-vs-pirate-weather.md)\n- [meteoblue Weather API vs Tomorrow.io Weather API](https://www.anchorterminal.com/compare/meteoblue-vs-tomorrow-io.md)\n- [meteoblue Weather API vs Visual Crossing Weather API](https://www.anchorterminal.com/compare/meteoblue-vs-visual-crossing.md)\n- [meteoblue Weather API vs The Weather Company Data APIs](https://www.anchorterminal.com/compare/meteoblue-vs-weather-company.md)\n- [meteoblue Weather API vs WeatherAPI.com](https://www.anchorterminal.com/compare/meteoblue-vs-weatherapi-com.md)\n- [meteoblue Weather API vs Weatherbit API](https://www.anchorterminal.com/compare/meteoblue-vs-weatherbit.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 Xweather Weather API](https://www.anchorterminal.com/compare/nws-api-vs-xweather.md)\n- [OpenWeather One Call API vs Xweather Weather API](https://www.anchorterminal.com/compare/openweather-one-call-vs-xweather.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": "meteoblue Weather API vs Xweather Weather API",
        "url": ""
      }
    ],
    "description": "Xweather Weather API scores 67.1 (B) on agent readiness against meteoblue Weather API's 61.7 (C), and leads in 5 of 7 scored categories. Both do weather current. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "meteoblue Weather API C 61.7",
      "Xweather Weather API B 67.1",
      "scores"
    ],
    "h1": "meteoblue Weather API vs Xweather Weather API",
    "image": "https://www.anchorterminal.com/assets/og/compare-meteoblue-vs-xweather.png",
    "path": "/compare/meteoblue-vs-xweather",
    "published": "2026-10-01",
    "section": "tools",
    "title": "meteoblue Weather API vs Xweather Weather API for AI agents",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/meteoblue-vs-xweather"
  },
  "tokens": {
    "markdown": 2800,
    "slim": 730
  },
  "version": 1
}
