{
  "data": {
    "a": {
      "slug": "tomorrow-io",
      "name": "Tomorrow.io Weather API",
      "vendor": "The Tomorrow Companies Inc.",
      "vendorUrl": "https://www.tomorrow.io",
      "kind": "http-api",
      "category": "weather",
      "summary": "Tomorrow.io's Weather API returns current conditions, forecasts, recent and archived history, map tiles, route weather and alert webhooks for a coordinate, place name or GeoJSON shape. It is a REST API with a hosted MCP server.",
      "url": "https://www.anchorterminal.com/tools/tomorrow-io",
      "markdownUrl": "https://www.anchorterminal.com/tools/tomorrow-io.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/tomorrow-io.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/tomorrow-io.json",
      "license": "Proprietary service under Tomorrow.io's subscription terms",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.tomorrow.io/v4",
      "packages": [],
      "auth": "mixed",
      "authNotes": "A person signs up in a browser and copies the key from the dashboard. The key goes in an `apikey` header or query parameter on REST calls and in `X-Api-Key` for the MCP server. The docs say keys carry full privileges, and more keys are created by an account manager. The MCP endpoint also advertises OAuth with dynamic client registration, PKCE and one scope, `mcp:read`.",
      "pricing": "freemium",
      "pricingNotes": "Free plan with no published price for anything above it. Free covers core data layers, a 5-day forecast, 24 hours of history, one monitored location and one alert, and the terms bar commercial use on self-generated accounts. Enterprise is by quote and adds the 14-day forecast, premium layers, routes, maps and the historical archive, which is metered in tokens with no public token price (https://www.tomorrow.io/weather-api/, 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 plan table (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": 11,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.tomorrow.io/reference/welcome",
      "llmsTxt": "https://docs.tomorrow.io/llms.txt",
      "openapi": "https://docs.tomorrow.io/openapi/tomorrowio-api.json",
      "capabilities": [
        "weather.current",
        "weather.forecast",
        "weather.historical",
        "weather.alerts",
        "weather.marine",
        "data.weather"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "closed-source",
        "openapi",
        "llms-txt",
        "mcp",
        "webhooks",
        "status-page",
        "sales-led",
        "us"
      ],
      "lastRelease": "2026-07-14",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 51.4,
        "grade": "D",
        "agentReady": false,
        "rank": 578,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 10,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 73,
          "maintenance": 27,
          "payments": 20,
          "reliability": 55,
          "schema": 75,
          "security": 34,
          "transparency": 63
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "A public OpenAPI 3.1 file, Markdown docs with llms.txt and a hosted MCP server with 11 tools suit agents, and a free plan exists. Paid prices are by quote only, free keys are barred from commercial use, the docs give no numeric rate limits, and the status page lists 50 incidents in 85 days, mostly stale or degraded data.",
        "bestFor": "Teams that need minute-level and route or polygon forecasts, alert webhooks and a hosted MCP server, and will buy through sales.",
        "strengths": [
          "Public OpenAPI 3.1.0 file (version 4.0.1, 31 paths, 39 operations), plus llms.txt and a Markdown copy of every docs page",
          "Hosted MCP server at api.tomorrow.io/v4/tomorrow-weather/mcp with 11 documented tools, added in April 2026",
          "The `fields`, `timesteps`, `startTime` and `endTime` parameters size a Timelines response to what the task needs",
          "Six-digit error codes that the docs say stay fixed, and soft warnings returned beside partial data",
          "Alert webhooks signed with HMAC-SHA256 in an `X-Signature` header, retried up to two times"
        ],
        "weaknesses": [
          "No public price for paid use. The plan table lists Free and Enterprise, the second by quote",
          "The subscription terms bar commercial use on self-generated accounts and forbid storing unaltered data without an order",
          "No numeric rate limits in the reviewed docs, and remaining-limit headers are documented for Enterprise accounts only",
          "Keys carry full privileges and may be sent as an `apikey` query parameter. More keys come through an account manager",
          "50 incidents on the status page between 15 July and 2 October 2026, 25 naming the Timeline or Historical API",
          "No official SDK, no security.txt, and no certification or disclosure policy found on the pages read"
        ],
        "agentNotes": [
          "Send the key in the `apikey` header, not the query string, so it stays out of URLs and logs",
          "Request only the `fields` and `timesteps` needed on POST /timelines. Free plans cover 24 hours back and 5 days ahead at `1h` and `1d`",
          "Split archive requests. POST /historical takes at most 31 days per call and deducts tokens, 1 for a point and 10 for a polygon",
          "Treat 401 with code 401001 as a missing or bad key. The docs say 403, the live API answered 401 on 8 October 2026",
          "On 429 back off without a hint. `Retry-After` is documented only for 503",
          "Check the plan's terms before storing or reselling responses. Free accounts are limited to non-commercial use with a Powered by Tomorrow.io link"
        ],
        "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": 51.4
          }
        ],
        "editorialScores": {
          "ergonomics": 73,
          "maintenance": 27,
          "payments": 20,
          "reliability": 55,
          "schema": 75,
          "security": 34,
          "transparency": 42
        },
        "provenanceScore": 84
      },
      "connect": {
        "http": "curl --request GET --url 'https://api.tomorrow.io/v4/weather/realtime?location=42.3478,-71.0466' --header 'apikey: API_KEY'",
        "config": {
          "mcpServers": {
            "tomorrow-weather-mcp": {
              "headers": {
                "X-Api-Key": "${TOMORROW_API_KEY}"
              },
              "type": "http",
              "url": "https://api.tomorrow.io/v4/tomorrow-weather/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/weather.current",
        "tool": "https://letme.dev/tomorrow-io"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "The Tomorrow Companies Inc.",
        "domain": "tomorrow.io",
        "domainRegistered": "2012-02-15",
        "endpointOnVendorDomain": true,
        "terms": "https://www.tomorrow.io/legal/terms-of-service/",
        "privacy": "https://www.tomorrow.io/legal/product-privacy-policy/",
        "statusPage": "https://status.tomorrow.io",
        "changelog": "https://docs.tomorrow.io/reference/release-notes",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The subscription terms (last updated 19 October 2023) name The Tomorrow Companies Inc., a Delaware corporation with its principal place of business in Boston, Massachusetts, and cover the API, the dashboard and the data portal.",
          "The product privacy policy (last updated 17 December 2024) covers the API and platform and names Tomorrow.io Inc. as operator. The website has a separate privacy policy and terms of use, which we did not use here.",
          "The API and the MCP server answer at api.tomorrow.io.",
          "www.tomorrow.io, tomorrow.io and api.tomorrow.io each return 404 for /.well-known/security.txt.",
          "RDAP gives a registration date of 2012-02-15 for tomorrow.io. The status page runs on Atlassian Statuspage."
        ],
        "score": 84
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/tomorrow-io.json",
      "live": {
        "slug": "tomorrow-io",
        "probe": {
          "target": "https://api.tomorrow.io/v4",
          "method": "get",
          "lastAt": "2026-10-08T21:12:23.748190463Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 136,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 152,
          "p95ms24h": 185,
          "samples24h": 41,
          "samples30d": 41,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 41,
              "ok": 41
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.tomorrow.io",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T21:06:28.336264349Z"
        },
        "pages": [
          {
            "url": "https://docs.tomorrow.io/reference/release-notes",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:19:37.617241436Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "5c08804d147f"
          },
          {
            "url": "https://www.tomorrow.io/legal/product-privacy-policy/",
            "kind": "privacy",
            "status": 0,
            "checkedAt": "2026-10-08T18:31:01.004304542Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "blockedByRobots": true
          },
          {
            "url": "https://www.tomorrow.io/legal/terms-of-service/",
            "kind": "terms",
            "status": 0,
            "checkedAt": "2026-10-08T18:31:01.446636319Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "blockedByRobots": true
          }
        ],
        "updatedAt": "2026-10-08T21:12:23.748190463Z"
      }
    },
    "answer": "Xweather Weather API scores 67.1 (B) on agent readiness against Tomorrow.io Weather API's 51.4 (D), and leads in every scored category.",
    "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": "The Tomorrow Companies Inc.",
        "b": "Vaisala Oyj",
        "name": "Vendor"
      },
      {
        "a": "https://api.tomorrow.io/v4",
        "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": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Tomorrow.io's subscription terms",
        "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": "11",
        "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-07-14",
        "b": "2026-09-14",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "couldn't be read",
        "b": "2020-06-01",
        "name": "Privacy policy last updated"
      },
      {
        "a": "couldn't be read",
        "b": "couldn't be read",
        "name": "Customer content may train models"
      },
      {
        "a": "couldn't be read",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "couldn't be read",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "couldn't be read",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "couldn't be read",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "0 stars, 1.4k npm/wk",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Xweather Weather API scores 67.1 (B) on agent readiness against Tomorrow.io Weather API's 51.4 (D), and leads in every scored category.",
        "question": "Which is better for AI agents, Tomorrow.io Weather API or Xweather Weather API?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do Tomorrow.io Weather API and Xweather Weather API need an API key?"
      },
      {
        "answer": "Yes. Tomorrow.io Weather API has a hosted endpoint at https://api.tomorrow.io/v4 and Xweather Weather API at https://data.api.xweather.com.",
        "question": "Can an agent call Tomorrow.io Weather API and Xweather Weather API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "Teams that need minute-level and route or polygon forecasts, alert webhooks and a hosted MCP server, and will buy through sales.",
        "slug": "tomorrow-io",
        "watchFor": "No public price for paid use. The plan table lists Free and Enterprise, the second by quote"
      },
      {
        "aheadOn": [
          "Reliability, 74 against 55",
          "Schema \u0026 documentation, 83 against 75",
          "Agent ergonomics, 78 against 73",
          "Security \u0026 auth, 52 against 34",
          "Payments \u0026 pricing, 32 against 20",
          "Maintenance \u0026 community, 81 against 27",
          "Transparency \u0026 trust, 68 against 63"
        ],
        "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-tomorrow-io.json",
        "title": "AccuWeather Core Weather API + MCP vs Tomorrow.io Weather API",
        "url": "https://www.anchorterminal.com/compare/accuweather-api-vs-tomorrow-io"
      },
      {
        "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-tomorrow-io.json",
        "title": "Google Weather API (Maps Platform) vs Tomorrow.io Weather API",
        "url": "https://www.anchorterminal.com/compare/google-weather-api-vs-tomorrow-io"
      },
      {
        "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-tomorrow-io.json",
        "title": "Met Office Weather DataHub (Site Specific) vs Tomorrow.io Weather API",
        "url": "https://www.anchorterminal.com/compare/met-office-datahub-vs-tomorrow-io"
      },
      {
        "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-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-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-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-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-tomorrow-io.json",
        "title": "NOAA National Weather Service API (api.weather.gov) vs Tomorrow.io Weather API",
        "url": "https://www.anchorterminal.com/compare/nws-api-vs-tomorrow-io"
      },
      {
        "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-tomorrow-io.json",
        "title": "OpenWeather One Call API vs Tomorrow.io Weather API",
        "url": "https://www.anchorterminal.com/compare/openweather-one-call-vs-tomorrow-io"
      },
      {
        "json": "https://www.anchorterminal.com/compare/openweather-one-call-vs-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-tomorrow-io.json",
        "title": "Pirate Weather vs Tomorrow.io Weather API",
        "url": "https://www.anchorterminal.com/compare/pirate-weather-vs-tomorrow-io"
      },
      {
        "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-visual-crossing.json",
        "title": "Tomorrow.io Weather API vs Visual Crossing Weather API",
        "url": "https://www.anchorterminal.com/compare/tomorrow-io-vs-visual-crossing"
      },
      {
        "json": "https://www.anchorterminal.com/compare/tomorrow-io-vs-weather-company.json",
        "title": "Tomorrow.io Weather API vs The Weather Company Data APIs",
        "url": "https://www.anchorterminal.com/compare/tomorrow-io-vs-weather-company"
      },
      {
        "json": "https://www.anchorterminal.com/compare/tomorrow-io-vs-weatherapi-com.json",
        "title": "Tomorrow.io Weather API vs WeatherAPI.com",
        "url": "https://www.anchorterminal.com/compare/tomorrow-io-vs-weatherapi-com"
      },
      {
        "json": "https://www.anchorterminal.com/compare/tomorrow-io-vs-weatherbit.json",
        "title": "Tomorrow.io Weather API vs Weatherbit API",
        "url": "https://www.anchorterminal.com/compare/tomorrow-io-vs-weatherbit"
      },
      {
        "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": 19,
        "edge": "xweather",
        "key": "reliability",
        "name": "Reliability",
        "tomorrow-io": 55,
        "weight": 16,
        "xweather": 74
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 8,
        "edge": "xweather",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "tomorrow-io": 75,
        "weight": 13,
        "xweather": 83
      },
      {
        "by": 5,
        "edge": "xweather",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "tomorrow-io": 73,
        "weight": 13,
        "xweather": 78
      },
      {
        "by": 18,
        "edge": "xweather",
        "key": "security",
        "name": "Security \u0026 auth",
        "tomorrow-io": 34,
        "weight": 14,
        "xweather": 52
      },
      {
        "by": 12,
        "edge": "xweather",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "tomorrow-io": 20,
        "weight": 10,
        "xweather": 32
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 54,
        "edge": "xweather",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "tomorrow-io": 27,
        "weight": 7,
        "xweather": 81
      },
      {
        "by": 5,
        "edge": "xweather",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "tomorrow-io": 63,
        "weight": 7,
        "xweather": 68
      }
    ],
    "summary": "Xweather Weather API scores 67.1 (B) on agent readiness against Tomorrow.io Weather API's 51.4 (D), and leads in every scored category. Both do weather current.",
    "verdicts": {
      "tomorrow-io": "A public OpenAPI 3.1 file, Markdown docs with llms.txt and a hosted MCP server with 11 tools suit agents, and a free plan exists. Paid prices are by quote only, free keys are barred from commercial use, the docs give no numeric rate limits, and the status page lists 50 incidents in 85 days, mostly stale or degraded data.",
      "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/tomorrow-io-vs-xweather",
    "json": "https://www.anchorterminal.com/compare/tomorrow-io-vs-xweather.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/tomorrow-io-vs-xweather.md",
    "slim": "https://www.anchorterminal.com/compare/tomorrow-io-vs-xweather.min.md"
  },
  "markdown": "Xweather Weather API scores 67.1 (B) on agent readiness against Tomorrow.io Weather API's 51.4 (D), and leads in every scored category. Both do weather current.\n\n- Tomorrow.io Weather API: grade D, 51.4/100, rank #578 of 722. Markdown https://www.anchorterminal.com/tools/tomorrow-io.md · JSON https://www.anchorterminal.com/api/v1/tools/tomorrow-io.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### Tomorrow.io Weather API (D)\n\nGood for: Teams that need minute-level and route or polygon forecasts, alert webhooks and a hosted MCP server, and will buy through sales.\n\nWatch for: No public price for paid use. The plan table lists Free and Enterprise, the second by quote\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 55\n- Schema \u0026 documentation, 83 against 75\n- Agent ergonomics, 78 against 73\n- Security \u0026 auth, 52 against 34\n- Payments \u0026 pricing, 32 against 20\n- Maintenance \u0026 community, 81 against 27\n- Transparency \u0026 trust, 68 against 63\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 | Tomorrow.io Weather API | Xweather Weather API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 55 | 74 | Xweather Weather API +19 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 75 | 83 | Xweather Weather API +8 |\n| Agent ergonomics | 13% (16.2 this run) | 73 | 78 | Xweather Weather API +5 |\n| Security \u0026 auth | 14% (17.5 this run) | 34 | 52 | Xweather Weather API +18 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 32 | Xweather Weather API +12 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 27 | 81 | Xweather Weather API +54 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 63 | 68 | Xweather Weather API +5 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **51.4 · D** | **67.1 · B** | |\n\n## Facts side by side\n\n| Fact | Tomorrow.io Weather API | Xweather Weather API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | The Tomorrow Companies Inc. | Vaisala Oyj |\n| Hosted endpoint | `https://api.tomorrow.io/v4` | `https://data.api.xweather.com` |\n| Transports | HTTP | HTTP |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | Proprietary service under Tomorrow.io's subscription terms | 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 | 11 | 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-07-14 | 2026-09-14 |\n| Terms last updated | couldn't be read | couldn't be read |\n| Privacy policy last updated | couldn't be read | 2020-06-01 |\n| Customer content may train models | couldn't be read | couldn't be read |\n| Terms restrict automated access | couldn't be read | couldn't be read |\n| Terms restrict benchmarking | couldn't be read | couldn't be read |\n| Terms or service can change without notice | couldn't be read | couldn't be read |\n| Arbitration or class-action waiver | couldn't be read | couldn't be read |\n| Popularity | none | 0 stars, 1.4k npm/wk |\n\n## Verdicts\n\n**Tomorrow.io Weather API.** A public OpenAPI 3.1 file, Markdown docs with llms.txt and a hosted MCP server with 11 tools suit agents, and a free plan exists. Paid prices are by quote only, free keys are barred from commercial use, the docs give no numeric rate limits, and the status page lists 50 incidents in 85 days, mostly stale or degraded data.\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### Tomorrow.io Weather API\n\n1. Send the key in the `apikey` header, not the query string, so it stays out of URLs and logs\n2. Request only the `fields` and `timesteps` needed on POST /timelines. Free plans cover 24 hours back and 5 days ahead at `1h` and `1d`\n3. Split archive requests. POST /historical takes at most 31 days per call and deducts tokens, 1 for a point and 10 for a polygon\n4. Treat 401 with code 401001 as a missing or bad key. The docs say 403, the live API answered 401 on 8 October 2026\n5. On 429 back off without a hint. `Retry-After` is documented only for 503\n6. Check the plan's terms before storing or reselling responses. Free accounts are limited to non-commercial use with a Powered by Tomorrow.io link\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, Tomorrow.io Weather API or Xweather Weather API?\n\nXweather Weather API scores 67.1 (B) on agent readiness against Tomorrow.io Weather API's 51.4 (D), and leads in every scored category.\n\n### Do Tomorrow.io 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 Tomorrow.io Weather API and Xweather Weather API without installing anything?\n\nYes. Tomorrow.io Weather API has a hosted endpoint at https://api.tomorrow.io/v4 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/tomorrow-io-vs-xweather.json, and with the fewest tokens: https://www.anchorterminal.com/compare/tomorrow-io-vs-xweather.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"tomorrow-io\", \"b\": \"xweather\"}`. From a terminal: `anchor compare tomorrow-io xweather`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/tomorrow-io.json and https://www.anchorterminal.com/api/v1/tools/xweather.json\n\n## Other comparisons with Tomorrow.io Weather API or Xweather Weather API\n\n- [AccuWeather Core Weather API + MCP vs Tomorrow.io Weather API](https://www.anchorterminal.com/compare/accuweather-api-vs-tomorrow-io.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 Tomorrow.io Weather API](https://www.anchorterminal.com/compare/google-weather-api-vs-tomorrow-io.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 Tomorrow.io Weather API](https://www.anchorterminal.com/compare/met-office-datahub-vs-tomorrow-io.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 Tomorrow.io Weather API](https://www.anchorterminal.com/compare/meteoblue-vs-tomorrow-io.md)\n- [meteoblue Weather API vs Xweather Weather API](https://www.anchorterminal.com/compare/meteoblue-vs-xweather.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 Xweather Weather API](https://www.anchorterminal.com/compare/meteomatics-vs-xweather.md)\n- [NOAA National Weather Service API (api.weather.gov) vs Tomorrow.io Weather API](https://www.anchorterminal.com/compare/nws-api-vs-tomorrow-io.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 Tomorrow.io Weather API](https://www.anchorterminal.com/compare/openweather-one-call-vs-tomorrow-io.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 Tomorrow.io Weather API](https://www.anchorterminal.com/compare/pirate-weather-vs-tomorrow-io.md)\n- [Pirate Weather vs Xweather Weather API](https://www.anchorterminal.com/compare/pirate-weather-vs-xweather.md)\n- [Tomorrow.io Weather API vs Visual Crossing Weather API](https://www.anchorterminal.com/compare/tomorrow-io-vs-visual-crossing.md)\n- [Tomorrow.io Weather API vs The Weather Company Data APIs](https://www.anchorterminal.com/compare/tomorrow-io-vs-weather-company.md)\n- [Tomorrow.io Weather API vs WeatherAPI.com](https://www.anchorterminal.com/compare/tomorrow-io-vs-weatherapi-com.md)\n- [Tomorrow.io Weather API vs Weatherbit API](https://www.anchorterminal.com/compare/tomorrow-io-vs-weatherbit.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": "Tomorrow.io Weather API vs Xweather Weather API",
        "url": ""
      }
    ],
    "description": "Xweather Weather API scores 67.1 (B) on agent readiness against Tomorrow.io Weather API's 51.4 (D), and leads in every scored category. Both do weather current. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Tomorrow.io Weather API D 51.4",
      "Xweather Weather API B 67.1",
      "scores"
    ],
    "h1": "Tomorrow.io Weather API vs Xweather Weather API",
    "image": "https://www.anchorterminal.com/assets/og/compare-tomorrow-io-vs-xweather.png",
    "path": "/compare/tomorrow-io-vs-xweather",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Tomorrow.io Weather API vs Xweather Weather API for AI agents",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/tomorrow-io-vs-xweather"
  },
  "tokens": {
    "markdown": 2750,
    "slim": 630
  },
  "version": 1
}
