{
  "data": {
    "a": {
      "slug": "meteomatics",
      "name": "Meteomatics Weather API",
      "vendor": "Meteomatics AG",
      "vendorUrl": "https://www.meteomatics.com",
      "kind": "http-api",
      "category": "weather",
      "summary": "Meteomatics Weather API returns forecasts, current observations, history back to 1940 and climate scenarios for points, routes, grids and polygons. It is a REST API with a hosted MCP server in beta, sold by contract to businesses.",
      "url": "https://www.anchorterminal.com/tools/meteomatics",
      "markdownUrl": "https://www.anchorterminal.com/tools/meteomatics.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/meteomatics.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/meteomatics.json",
      "repo": "https://github.com/meteomatics/python-connector-api",
      "license": "Proprietary service under Meteomatics' general terms and conditions. The Python connector on GitHub is MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.meteomatics.com",
      "packages": [
        {
          "registry": "pypi",
          "name": "meteomatics"
        }
      ],
      "auth": "mixed",
      "authNotes": "Access is granted by sales. A person talks to Meteomatics, signs an offer and receives a username and password by email. REST calls send them as HTTP Basic, or exchange them at https://login.meteomatics.com/api/v1/token for a token that lasts 2 hours and is documented as an `access_token` query parameter. The MCP server uses OAuth with dynamic client registration, the authorisation code grant with PKCE, refresh tokens and one scope, `weather:read`, and logs in with the same account.",
      "pricing": "paid",
      "pricingNotes": "No public price. The pricing page says prices are based on usage and package and leads to a sales form. No free tier, sandbox or self-serve trial is on the site, so an agent can't start without a contract. The general terms allow a trial through an individual offer, fees are non-refundable and may be adjusted yearly, and the term renews unless ended 3 months ahead (https://www.meteomatics.com/en/pricing/, checked 2026-10-08).",
      "priceSummary": "Paid",
      "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": 9,
      "popularity": {
        "githubStars": 56,
        "npmWeekly": null,
        "pypiWeekly": 15915,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://www.meteomatics.com/en/api/getting-started/",
      "llmsTxt": "https://www.meteomatics.com/llms.txt",
      "openapi": "https://swagger-ui.meteomatics.com/meteomatics_swagger_definition.yaml",
      "capabilities": [
        "weather.current",
        "weather.forecast",
        "weather.historical",
        "weather.alerts",
        "weather.marine"
      ],
      "tags": [
        "hosted",
        "enterprise",
        "sales-led",
        "closed-source",
        "openapi",
        "llms-txt",
        "mcp",
        "oauth",
        "python",
        "sla",
        "iso27001"
      ],
      "lastRelease": "2026-08-24",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 49.6,
        "grade": "D",
        "agentReady": false,
        "rank": 606,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 12,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 80,
          "maintenance": 42,
          "payments": 0,
          "reliability": 34,
          "schema": 71,
          "security": 54,
          "transparency": 59
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "A public OpenAPI file, a hosted MCP server whose nine tools are all marked read-only, a published SLA with compensation and ISO 27001 certification suit company use. Access needs a sales contract, with no public price, free tier or self-serve signup found, no status page, and REST calls that authenticate with a username and password.",
        "bestFor": "Companies in energy, aviation, insurance and logistics that need many models, long history, polygon and route queries and an SLA, and will buy by contract.",
        "strengths": [
          "Hosted MCP server at https://mcp.meteomatics.com/mcp with nine tools, each annotated `readOnlyHint` true and `destructiveHint` false",
          "Published SLA dated 7 May 2025 with 99.5 and 99.9 per cent uptime guarantees on the two paid support levels, compensated in free months",
          "Public OpenAPI 3.0.0 file with 31 operations, plus `llms.txt` and `llms-full.txt` indexes of the site and docs",
          "ISO 27001 certification announced 23 June 2026, Cyber Essentials, and a named security contact for vulnerability reports",
          "One URL pattern covers history from 1940, forecasts and climate scenarios, in JSON, CSV, XML, NetCDF or image formats"
        ],
        "weaknesses": [
          "No public price, free tier or self-serve signup found. Credentials arrive by email after a sales conversation",
          "No status page found. meteomatics.statuspage.io redirects to an inactive notice and the site links none",
          "REST calls use HTTP Basic with the account username and password, and the two-hour token may travel as an `access_token` query parameter",
          "No request rate is published. The query count is set by contract, and 429 carries no documented `Retry-After`",
          "No API changelog or deprecation policy found. Product update posts appear every two to three months",
          "The MCP server is described as beta in the vendor's 4 May 2026 guide and isn't in the official MCP registry"
        ],
        "agentNotes": [
          "Ask the account owner for credentials first. There is no signup, and both the REST API and the MCP server need a Meteomatics account with API access",
          "Build REST URLs as validdatetime/parameters/location/format, for example `2026-10-08T00:00:00Z/t_2m:C/52.52,13.40/json`. Parameter names carry their unit after a colon",
          "Keep each query to 10 locations and 10 parameters unless the contract says otherwise, and use POST when a GET URL passes 2,000 characters",
          "Send credentials or the token in the `Authorization` header. Avoid the documented `access_token` query parameter, which puts the token in URLs and logs",
          "Read `/user_stats_json` before a large job. It reports queries sent and the contract's limits, and 429 means a limit is spent",
          "Treat reserved values such as -888 and -999 as invalid or missing data, and shrink the request when a 408 arrives after the 300-second timeout"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 49.6
          }
        ],
        "editorialScores": {
          "ergonomics": 80,
          "maintenance": 42,
          "payments": 0,
          "reliability": 34,
          "schema": 71,
          "security": 54,
          "transparency": 50
        },
        "provenanceScore": 68
      },
      "connect": {
        "install": "pip install meteomatics",
        "http": "curl -u USERNAME:PASSWORD 'https://api.meteomatics.com/2026-10-08T00:00:00Z/t_2m:C/52.520551,13.461804/json'",
        "config": {
          "name": "meteomatics",
          "type": "url",
          "url": "https://mcp.meteomatics.com/mcp"
        }
      },
      "letme": {
        "capability": "https://letme.dev/weather.current",
        "tool": "https://letme.dev/meteomatics"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "Meteomatics AG",
        "domain": "meteomatics.com",
        "domainRegistered": "2011-09-21",
        "endpointOnVendorDomain": true,
        "terms": "https://www.meteomatics.com/en/gtc-meteomatics-ag/",
        "privacy": "https://www.meteomatics.com/en/privacy-policy/",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The imprint names Meteomatics AG, Unterstrasse 12, 9000 St. Gallen, Switzerland, company number CHE-375.414.829, with group companies in England, Norway, Germany and the United States.",
          "The terms are the General Terms and Conditions for Enterprise Customers of Meteomatics AG, dated August 2026. Separate versions exist for Meteomatics GmbH, Meteomatics Limited and Meteomatics Inc.",
          "The privacy notice (latest update 20 August 2026) covers the group, names the Weather API and names Meteomatics AG as controller. A Data Processing Agreement is published beside it.",
          "The REST API answers at api.meteomatics.com, tokens at login.meteomatics.com and the MCP server at mcp.meteomatics.com.",
          "No status page was found. meteomatics.statuspage.io redirects to an inactive notice, and status.meteomatics.com didn't connect for us.",
          "No API changelog was found. Product updates are posted as news articles at www.meteomatics.com/en/news/.",
          "www.meteomatics.com, mcp.meteomatics.com and login.meteomatics.com return 404 for /.well-known/security.txt. The information security page gives a contact address for vulnerability reports.",
          "RDAP gives a registration date of 2011-09-21 for meteomatics.com."
        ],
        "score": 68
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/meteomatics.json",
      "live": {
        "slug": "meteomatics",
        "probe": {
          "target": "https://api.meteomatics.com",
          "method": "get",
          "lastAt": "2026-10-08T21:12:15.506490015Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 222,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 241,
          "p95ms24h": 447,
          "samples24h": 21,
          "samples30d": 21,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 21,
              "ok": 21
            }
          ]
        },
        "updatedAt": "2026-10-08T21:12:15.506490015Z"
      }
    },
    "answer": "Xweather Weather API scores 67.1 (B) on agent readiness against Meteomatics Weather API's 49.6 (D), 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: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": "Meteomatics AG",
        "b": "Vaisala Oyj",
        "name": "Vendor"
      },
      {
        "a": "https://api.meteomatics.com",
        "b": "https://data.api.xweather.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Meteomatics' general terms and conditions. The Python connector on GitHub 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": "9",
        "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-24",
        "b": "2026-09-14",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "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": "56 stars, 16k PyPI/wk",
        "b": "0 stars, 1.4k npm/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Xweather Weather API scores 67.1 (B) on agent readiness against Meteomatics Weather API's 49.6 (D), and leads in 5 of 7 scored categories.",
        "question": "Which is better for AI agents, Meteomatics Weather API or Xweather Weather API?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do Meteomatics Weather API and Xweather Weather API need an API key?"
      },
      {
        "answer": "Yes. Meteomatics Weather API has a hosted endpoint at https://api.meteomatics.com and Xweather Weather API at https://data.api.xweather.com.",
        "question": "Can an agent call Meteomatics Weather API and Xweather Weather API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "Companies in energy, aviation, insurance and logistics that need many models, long history, polygon and route queries and an SLA, and will buy by contract.",
        "slug": "meteomatics",
        "watchFor": "No public price, free tier or self-serve signup found. Credentials arrive by email after a sales conversation"
      },
      {
        "aheadOn": [
          "Reliability, 74 against 34",
          "Schema \u0026 documentation, 83 against 71",
          "Payments \u0026 pricing, 32 against 0",
          "Maintenance \u0026 community, 81 against 42",
          "Transparency \u0026 trust, 68 against 59"
        ],
        "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-meteomatics.json",
        "title": "AccuWeather Core Weather API + MCP vs Meteomatics Weather API",
        "url": "https://www.anchorterminal.com/compare/accuweather-api-vs-meteomatics"
      },
      {
        "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-meteomatics.json",
        "title": "Google Weather API (Maps Platform) vs Meteomatics Weather API",
        "url": "https://www.anchorterminal.com/compare/google-weather-api-vs-meteomatics"
      },
      {
        "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-meteomatics.json",
        "title": "Met Office Weather DataHub (Site Specific) vs Meteomatics Weather API",
        "url": "https://www.anchorterminal.com/compare/met-office-datahub-vs-meteomatics"
      },
      {
        "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-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-nws-api.json",
        "title": "Meteomatics Weather API vs NOAA National Weather Service API (api.weather.gov)",
        "url": "https://www.anchorterminal.com/compare/meteomatics-vs-nws-api"
      },
      {
        "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-pirate-weather.json",
        "title": "Meteomatics Weather API vs Pirate Weather",
        "url": "https://www.anchorterminal.com/compare/meteomatics-vs-pirate-weather"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteomatics-vs-tomorrow-io.json",
        "title": "Meteomatics Weather API vs Tomorrow.io Weather API",
        "url": "https://www.anchorterminal.com/compare/meteomatics-vs-tomorrow-io"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteomatics-vs-visual-crossing.json",
        "title": "Meteomatics Weather API vs Visual Crossing Weather API",
        "url": "https://www.anchorterminal.com/compare/meteomatics-vs-visual-crossing"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteomatics-vs-weather-company.json",
        "title": "Meteomatics Weather API vs The Weather Company Data APIs",
        "url": "https://www.anchorterminal.com/compare/meteomatics-vs-weather-company"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteomatics-vs-weatherapi-com.json",
        "title": "Meteomatics Weather API vs WeatherAPI.com",
        "url": "https://www.anchorterminal.com/compare/meteomatics-vs-weatherapi-com"
      },
      {
        "json": "https://www.anchorterminal.com/compare/meteomatics-vs-weatherbit.json",
        "title": "Meteomatics Weather API vs Weatherbit API",
        "url": "https://www.anchorterminal.com/compare/meteomatics-vs-weatherbit"
      },
      {
        "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": 40,
        "edge": "xweather",
        "key": "reliability",
        "meteomatics": 34,
        "name": "Reliability",
        "weight": 16,
        "xweather": 74
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 12,
        "edge": "xweather",
        "key": "schema",
        "meteomatics": 71,
        "name": "Schema \u0026 documentation",
        "weight": 13,
        "xweather": 83
      },
      {
        "by": 2,
        "edge": "meteomatics",
        "key": "ergonomics",
        "meteomatics": 80,
        "name": "Agent ergonomics",
        "weight": 13,
        "xweather": 78
      },
      {
        "by": 2,
        "edge": "meteomatics",
        "key": "security",
        "meteomatics": 54,
        "name": "Security \u0026 auth",
        "weight": 14,
        "xweather": 52
      },
      {
        "by": 32,
        "edge": "xweather",
        "key": "payments",
        "meteomatics": 0,
        "name": "Payments \u0026 pricing",
        "weight": 10,
        "xweather": 32
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 39,
        "edge": "xweather",
        "key": "maintenance",
        "meteomatics": 42,
        "name": "Maintenance \u0026 community",
        "weight": 7,
        "xweather": 81
      },
      {
        "by": 9,
        "edge": "xweather",
        "key": "transparency",
        "meteomatics": 59,
        "name": "Transparency \u0026 trust",
        "weight": 7,
        "xweather": 68
      }
    ],
    "summary": "Xweather Weather API scores 67.1 (B) on agent readiness against Meteomatics Weather API's 49.6 (D), and leads in 5 of 7 scored categories. Both do weather current.",
    "verdicts": {
      "meteomatics": "A public OpenAPI file, a hosted MCP server whose nine tools are all marked read-only, a published SLA with compensation and ISO 27001 certification suit company use. Access needs a sales contract, with no public price, free tier or self-serve signup found, no status page, and REST calls that authenticate with a username and password.",
      "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/meteomatics-vs-xweather",
    "json": "https://www.anchorterminal.com/compare/meteomatics-vs-xweather.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/meteomatics-vs-xweather.md",
    "slim": "https://www.anchorterminal.com/compare/meteomatics-vs-xweather.min.md"
  },
  "markdown": "Xweather Weather API scores 67.1 (B) on agent readiness against Meteomatics Weather API's 49.6 (D), and leads in 5 of 7 scored categories. Both do weather current.\n\n- Meteomatics Weather API: grade D, 49.6/100, rank #606 of 722. Markdown https://www.anchorterminal.com/tools/meteomatics.md · JSON https://www.anchorterminal.com/api/v1/tools/meteomatics.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### Meteomatics Weather API (D)\n\nGood for: Companies in energy, aviation, insurance and logistics that need many models, long history, polygon and route queries and an SLA, and will buy by contract.\n\nWatch for: No public price, free tier or self-serve signup found. Credentials arrive by email after a sales conversation\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 34\n- Schema \u0026 documentation, 83 against 71\n- Payments \u0026 pricing, 32 against 0\n- Maintenance \u0026 community, 81 against 42\n- Transparency \u0026 trust, 68 against 59\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 | Meteomatics Weather API | Xweather Weather API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 34 | 74 | Xweather Weather API +40 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 71 | 83 | Xweather Weather API +12 |\n| Agent ergonomics | 13% (16.2 this run) | 80 | 78 | Meteomatics Weather API +2 |\n| Security \u0026 auth | 14% (17.5 this run) | 54 | 52 | Meteomatics Weather API +2 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 0 | 32 | Xweather Weather API +32 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 42 | 81 | Xweather Weather API +39 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 59 | 68 | Xweather Weather API +9 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **49.6 · D** | **67.1 · B** | |\n\n## Facts side by side\n\n| Fact | Meteomatics Weather API | Xweather Weather API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Meteomatics AG | Vaisala Oyj |\n| Hosted endpoint | `https://api.meteomatics.com` | `https://data.api.xweather.com` |\n| Transports | HTTP | HTTP |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Paid | Freemium |\n| x402 | no | no |\n| Licence | Proprietary service under Meteomatics' general terms and conditions. The Python connector on GitHub 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 | 9 | 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-24 | 2026-09-14 |\n| Terms last updated | no date given | couldn't be read |\n| Privacy policy last updated | no date given | 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 | 56 stars, 16k PyPI/wk | 0 stars, 1.4k npm/wk |\n\n## Verdicts\n\n**Meteomatics Weather API.** A public OpenAPI file, a hosted MCP server whose nine tools are all marked read-only, a published SLA with compensation and ISO 27001 certification suit company use. Access needs a sales contract, with no public price, free tier or self-serve signup found, no status page, and REST calls that authenticate with a username and password.\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### Meteomatics Weather API\n\n1. Ask the account owner for credentials first. There is no signup, and both the REST API and the MCP server need a Meteomatics account with API access\n2. Build REST URLs as validdatetime/parameters/location/format, for example `2026-10-08T00:00:00Z/t_2m:C/52.52,13.40/json`. Parameter names carry their unit after a colon\n3. Keep each query to 10 locations and 10 parameters unless the contract says otherwise, and use POST when a GET URL passes 2,000 characters\n4. Send credentials or the token in the `Authorization` header. Avoid the documented `access_token` query parameter, which puts the token in URLs and logs\n5. Read `/user_stats_json` before a large job. It reports queries sent and the contract's limits, and 429 means a limit is spent\n6. Treat reserved values such as -888 and -999 as invalid or missing data, and shrink the request when a 408 arrives after the 300-second timeout\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, Meteomatics Weather API or Xweather Weather API?\n\nXweather Weather API scores 67.1 (B) on agent readiness against Meteomatics Weather API's 49.6 (D), and leads in 5 of 7 scored categories.\n\n### Do Meteomatics Weather API and Xweather Weather API need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call Meteomatics Weather API and Xweather Weather API without installing anything?\n\nYes. Meteomatics Weather API has a hosted endpoint at https://api.meteomatics.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/meteomatics-vs-xweather.json, and with the fewest tokens: https://www.anchorterminal.com/compare/meteomatics-vs-xweather.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"meteomatics\", \"b\": \"xweather\"}`. From a terminal: `anchor compare meteomatics xweather`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/meteomatics.json and https://www.anchorterminal.com/api/v1/tools/xweather.json\n\n## Other comparisons with Meteomatics Weather API or Xweather Weather API\n\n- [AccuWeather Core Weather API + MCP vs Meteomatics Weather API](https://www.anchorterminal.com/compare/accuweather-api-vs-meteomatics.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 Meteomatics Weather API](https://www.anchorterminal.com/compare/google-weather-api-vs-meteomatics.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 Meteomatics Weather API](https://www.anchorterminal.com/compare/met-office-datahub-vs-meteomatics.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 Xweather Weather API](https://www.anchorterminal.com/compare/meteoblue-vs-xweather.md)\n- [Meteomatics Weather API vs NOAA National Weather Service API (api.weather.gov)](https://www.anchorterminal.com/compare/meteomatics-vs-nws-api.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 Pirate Weather](https://www.anchorterminal.com/compare/meteomatics-vs-pirate-weather.md)\n- [Meteomatics Weather API vs Tomorrow.io Weather API](https://www.anchorterminal.com/compare/meteomatics-vs-tomorrow-io.md)\n- [Meteomatics Weather API vs Visual Crossing Weather API](https://www.anchorterminal.com/compare/meteomatics-vs-visual-crossing.md)\n- [Meteomatics Weather API vs The Weather Company Data APIs](https://www.anchorterminal.com/compare/meteomatics-vs-weather-company.md)\n- [Meteomatics Weather API vs WeatherAPI.com](https://www.anchorterminal.com/compare/meteomatics-vs-weatherapi-com.md)\n- [Meteomatics Weather API vs Weatherbit API](https://www.anchorterminal.com/compare/meteomatics-vs-weatherbit.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": "Meteomatics Weather API vs Xweather Weather API",
        "url": ""
      }
    ],
    "description": "Xweather Weather API scores 67.1 (B) on agent readiness against Meteomatics Weather API's 49.6 (D), and leads in 5 of 7 scored categories. Both do weather current. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Meteomatics Weather API D 49.6",
      "Xweather Weather API B 67.1",
      "scores"
    ],
    "h1": "Meteomatics Weather API vs Xweather Weather API",
    "image": "https://www.anchorterminal.com/assets/og/compare-meteomatics-vs-xweather.png",
    "path": "/compare/meteomatics-vs-xweather",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Meteomatics Weather API vs Xweather Weather API for AI agents",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/meteomatics-vs-xweather"
  },
  "tokens": {
    "markdown": 2850,
    "slim": 780
  },
  "version": 1
}
