{
  "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"
  },
  "tool": {
    "slug": "meteoblue",
    "name": "meteoblue Weather API",
    "vendor": "meteoblue AG",
    "vendorUrl": "https://www.meteoblue.com",
    "kind": "http-api",
    "category": "weather",
    "summary": "Weather data APIs from meteoblue AG of Basel, Switzerland. The Forecast API returns point forecasts in packages by coordinates, with History, Warnings, Dataset, Image and Maps APIs beside it, over HTTPS with an API key.",
    "url": "https://www.anchorterminal.com/tools/meteoblue",
    "markdownUrl": "https://www.anchorterminal.com/tools/meteoblue.md",
    "slimMarkdownUrl": "https://www.anchorterminal.com/tools/meteoblue.min.md",
    "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/meteoblue.json",
    "repo": "https://github.com/meteoblue/python-dataset-sdk",
    "license": "Proprietary service under meteoblue's general terms and conditions. The Python SDK for the Dataset API is MIT",
    "transports": [
      "http"
    ],
    "remoteUrl": "https://my.meteoblue.com",
    "packages": [
      {
        "registry": "pypi",
        "name": "meteoblue-dataset-sdk"
      }
    ],
    "auth": "api-key",
    "authNotes": "Self-serve key from a meteoblue account, created in a browser and managed in the Weather API Manager. The key goes in the `apikey` query parameter on every request, and no header option is documented. An account can hold several keys, each with a daily credit limit, an IP allow list, a referrer allow list and an optional shared secret for HMAC-SHA256 signed URLs. Paid plans start with an enquiry.",
    "pricing": "freemium",
    "pricingNotes": "Free Weather API with 10 million credits for one year from a free account, covering nine forecast packages, so an agent's owner can start without a contract. Calls cost 4,000 to 96,000 credits by package. The Premium Weather API is shown at EUR 2,400 a year for 40,000 calls a month, with larger tiers by enquiry. Prepaid credit prices are shown only after login (https://business.meteoblue.com/pricing, checked 2026-10-08).",
    "priceSummary": "Freemium",
    "where": "hosted",
    "x402": {
      "level": "no",
      "evidence": "No x402, MPP or L402 in the API docs, the OpenAPI specs or the pricing page (checked 2026-10-08).",
      "endpoints": []
    },
    "toolCount": null,
    "popularity": {
      "githubStars": 8,
      "npmWeekly": null,
      "pypiWeekly": 512,
      "asOf": "2026-10-08"
    },
    "docsUrl": "https://docs.meteoblue.com/en/weather-apis/introduction/overview",
    "llmsTxt": "https://business.meteoblue.com/llms.txt",
    "openapi": "https://my.meteoblue.com/packages/openapi.json",
    "capabilities": [
      "weather.current",
      "weather.forecast",
      "weather.historical",
      "weather.alerts",
      "weather.marine",
      "data.weather"
    ],
    "tags": [
      "hosted",
      "freemium",
      "free-tier",
      "closed-source",
      "openapi",
      "llms-txt",
      "python",
      "status-page",
      "europe"
    ],
    "lastRelease": "2026-08-22",
    "graded": true,
    "anchor": {
      "graded": true,
      "score": 61.7,
      "grade": "C",
      "agentReady": false,
      "rank": 360,
      "ranked": true,
      "rankOf": 722,
      "categoryRank": 5,
      "methodology": "0.4",
      "run": "2026-10-01",
      "scores": {
        "ergonomics": 66,
        "maintenance": 57,
        "payments": 34,
        "reliability": 75,
        "schema": 77,
        "security": 51,
        "transparency": 61
      },
      "pending": [
        "performance",
        "tasks"
      ],
      "breakdown": [
        {
          "key": "reliability",
          "name": "Reliability",
          "weight": 16,
          "effectiveWeight": 20,
          "score": 75,
          "points": 15,
          "reason": "Graded as a hosted service. Status page at status.meteoblue.com, a Pingdom public report with 15 monitors, one-minute checks and monthly history back to July 2024 for the Forecast API. It is served over http only (20). In the 90 days to 8 October 2026 the Forecast API monitor shows one outage of 2 minutes on 15 September. The History API monitor shows 1 hour 26 minutes on 1 September, and the Warnings, Dataset, Image and Location Search monitors show outages of 1 to 17 minutes. We scored between minor only and one major, because the long outage was on the History API and not the forecast endpoint (15 of 30). 500 calls a minute and daily credit limits per account and key are documented (15). 429 is in every spec, and the availability page advises a 30-second timeout, a 30-second wait and at most 10 retries. No Retry-After header is documented. Every call is a GET (12 of 15). Custom SLAs are listed for enterprise plans with no published figure or credits. The vendor publishes its own yearly availability, 99.95 per cent for 2025, as a record and not a commitment (3 of 10). The Forecast API is generally available as version 2.0.0 (10)."
        },
        {
          "key": "performance",
          "name": "Performance",
          "weight": 10,
          "effectiveWeight": 0,
          "pending": true,
          "points": 0,
          "reason": "Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes."
        },
        {
          "key": "schema",
          "name": "Schema \u0026 documentation",
          "weight": 13,
          "effectiveWeight": 16.25,
          "score": 77,
          "points": 12.51,
          "reason": "OpenAPI 3.1 specs at `openapi.json` beside each ReDoc page, for the Forecast (54 paths), History, Accounting, Model-Run Archive, Dataset, Image, Warnings and Measurements APIs (25). business.meteoblue.com/llms.txt is a product index that links the docs. docs.meteoblue.com/llms.txt returns 404 and no Markdown docs were found (4 of 10). Package descriptions run long and say what each holds, which packages cannot be combined and when `raw` should not be set. They say less on choosing between similar packages (16 of 20). Coordinates carry minimum and maximum, units, formats, time formats and model domains are enums with defaults, and the History API marks five parameters required. The package path parameter is a comma-joined array (13 of 15). Samples in JavaScript, Python, shell and Java, and typed response fields with example values. Every error status shares one schema with a free-text `error_message` (10 of 15). Specs carry a version number, 2.0.0 for forecasts, with none in the path. The public changelog has 19 dated entries, mostly data additions (9 of 15)."
        },
        {
          "key": "ergonomics",
          "name": "Agent ergonomics",
          "weight": 13,
          "effectiveWeight": 16.25,
          "score": 66,
          "points": 10.73,
          "reason": "This is an API with no MCP server from the vendor. A caller sizes the response by choosing packages and a resolution and by setting `forecastDays` and `historyDays`. There is no field selection, and `basic-1h` returns 15 fields for each of 168 hours (16 of 25). The History API takes a time range, resolution and one of 14 aggregations, the Accounting API pages with `page` and `per`, and forecasts need no pagination (14 of 20). Errors are JSON with `error` and `error_message` under 400, 401, 403, 404 and 429, with no machine-readable code. A call with no key returned 400 with a message naming the missing parameter (12 of 20). Every endpoint is a read-only GET, and retry guidance is published. Whether a failed call is charged credits is not stated (16 of 20). Only `lat`, `lon` and `apikey` are required, and elevation and time zone are detected. One official SDK, `meteoblue-dataset-sdk` for Python, covers the Dataset API only and dates from January 2025 (8 of 15)."
        },
        {
          "key": "security",
          "name": "Security \u0026 auth",
          "weight": 14,
          "effectiveWeight": 17.5,
          "score": 51,
          "points": 8.93,
          "reason": "An account can hold several named keys, each deletable, each with a daily credit limit, an optional IP allow list, a referrer and origin allow list, and an optional shared secret that makes every URL carry an HMAC-SHA256 signature and an expiry. There are no scopes. The key is accepted only as the `apikey` query parameter (25 less 10, 15 of 30). All data is read-only, and package access follows the plan (16 of 20). Warning text is relayed from national authorities and place names from GeoNames. The rest is numeric (10 of 15). `/account/usage` returns request counts and credits per day and type, the key manager charts each key, and each response carries `MB-Credits-Accounted`. No per-call log was found (8 of 15). security.txt returns 404 on four hosts, and no disclosure policy, bounty, SOC 2 or ISO 27001 was found. The ISO 9001:2015 certificate covers quality management (2 of 20)."
        },
        {
          "key": "payments",
          "name": "Payments \u0026 pricing",
          "weight": 10,
          "effectiveWeight": 12.5,
          "score": 34,
          "points": 4.25,
          "reason": "No x402, MPP or L402 in the docs, the specs or the pricing page (0). Credits per package are published in the spec without a login, and the pricing page shows EUR 2,400 a year for 40,000 calls a month on the Premium Weather API. The price of a prepaid credit top-up is shown only inside the account, and larger tiers go through an enquiry form (14 of 20). The Free Weather API gives 10 million credits for one year from a free account with no purchase obligation stated. We did not sign up to confirm that no card is asked for (20). A person registers in a browser to get a key (0)."
        },
        {
          "key": "tasks",
          "name": "Task success",
          "weight": 10,
          "effectiveWeight": 0,
          "pending": true,
          "points": 0,
          "reason": "Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored."
        },
        {
          "key": "maintenance",
          "name": "Maintenance \u0026 community",
          "weight": 7,
          "effectiveWeight": 8.75,
          "score": 57,
          "points": 4.99,
          "reason": "The latest dated changelog entry is 22 August 2026, 47 days before this check. Docs pages were edited after that, the Model-Run Archive API page on 2 October and the History and Accounting pages on 9 September (20 of 30). Three changelog entries fall in the last 90 days, two on 29 July and one on 22 August (20). A public changelog, a community forum that the status page monitors, and email support for self-serve users, none of which we tested (9 of 15). The only official SDK, `meteoblue-dataset-sdk` 1.3.5, was last released on 10 January 2025 and covers one API (4 of 15). Its repository has test and publish workflows and a last commit on 19 February 2025 (4 of 10)."
        },
        {
          "key": "transparency",
          "name": "Transparency \u0026 trust",
          "weight": 7,
          "effectiveWeight": 8.75,
          "score": 61,
          "points": 5.34,
          "note": "editorial 35, provenance 87",
          "reason": "Closed service under general terms last revised on 24 May 2018. They grant a non-commercial licence for open and registered access and leave commercial terms to a written agreement, while the Free Weather API table marks commercial use as allowed. The Python SDK is MIT (12 of 30). The privacy policy, last revised 15 May 2024, covers the API by name. It gives no retention period beyond as long as necessary, and no DPA was found (12 of 30). No deprecation policy was found. The terms let meteoblue change or revoke them at any time, and the changelog records removals after the fact, such as two COSMO models on 11 August 2025 (4 of 20). The policy names Google and Microsoft Clarity for the website and lists other contractors by category. The docs name Datatrans for payments, and the API answers through Cloudflare. No subprocessor list or stated data location for API logs was found (7 of 20)."
        }
      ],
      "assessment": {
        "date": "2026-10-08",
        "basis": "public evidence",
        "confidence": "medium",
        "notes": {
          "ergonomics": "This is an API with no MCP server from the vendor. A caller sizes the response by choosing packages and a resolution and by setting `forecastDays` and `historyDays`. There is no field selection, and `basic-1h` returns 15 fields for each of 168 hours (16 of 25). The History API takes a time range, resolution and one of 14 aggregations, the Accounting API pages with `page` and `per`, and forecasts need no pagination (14 of 20). Errors are JSON with `error` and `error_message` under 400, 401, 403, 404 and 429, with no machine-readable code. A call with no key returned 400 with a message naming the missing parameter (12 of 20). Every endpoint is a read-only GET, and retry guidance is published. Whether a failed call is charged credits is not stated (16 of 20). Only `lat`, `lon` and `apikey` are required, and elevation and time zone are detected. One official SDK, `meteoblue-dataset-sdk` for Python, covers the Dataset API only and dates from January 2025 (8 of 15).",
          "maintenance": "The latest dated changelog entry is 22 August 2026, 47 days before this check. Docs pages were edited after that, the Model-Run Archive API page on 2 October and the History and Accounting pages on 9 September (20 of 30). Three changelog entries fall in the last 90 days, two on 29 July and one on 22 August (20). A public changelog, a community forum that the status page monitors, and email support for self-serve users, none of which we tested (9 of 15). The only official SDK, `meteoblue-dataset-sdk` 1.3.5, was last released on 10 January 2025 and covers one API (4 of 15). Its repository has test and publish workflows and a last commit on 19 February 2025 (4 of 10).",
          "payments": "No x402, MPP or L402 in the docs, the specs or the pricing page (0). Credits per package are published in the spec without a login, and the pricing page shows EUR 2,400 a year for 40,000 calls a month on the Premium Weather API. The price of a prepaid credit top-up is shown only inside the account, and larger tiers go through an enquiry form (14 of 20). The Free Weather API gives 10 million credits for one year from a free account with no purchase obligation stated. We did not sign up to confirm that no card is asked for (20). A person registers in a browser to get a key (0).",
          "reliability": "Graded as a hosted service. Status page at status.meteoblue.com, a Pingdom public report with 15 monitors, one-minute checks and monthly history back to July 2024 for the Forecast API. It is served over http only (20). In the 90 days to 8 October 2026 the Forecast API monitor shows one outage of 2 minutes on 15 September. The History API monitor shows 1 hour 26 minutes on 1 September, and the Warnings, Dataset, Image and Location Search monitors show outages of 1 to 17 minutes. We scored between minor only and one major, because the long outage was on the History API and not the forecast endpoint (15 of 30). 500 calls a minute and daily credit limits per account and key are documented (15). 429 is in every spec, and the availability page advises a 30-second timeout, a 30-second wait and at most 10 retries. No Retry-After header is documented. Every call is a GET (12 of 15). Custom SLAs are listed for enterprise plans with no published figure or credits. The vendor publishes its own yearly availability, 99.95 per cent for 2025, as a record and not a commitment (3 of 10). The Forecast API is generally available as version 2.0.0 (10).",
          "schema": "OpenAPI 3.1 specs at `openapi.json` beside each ReDoc page, for the Forecast (54 paths), History, Accounting, Model-Run Archive, Dataset, Image, Warnings and Measurements APIs (25). business.meteoblue.com/llms.txt is a product index that links the docs. docs.meteoblue.com/llms.txt returns 404 and no Markdown docs were found (4 of 10). Package descriptions run long and say what each holds, which packages cannot be combined and when `raw` should not be set. They say less on choosing between similar packages (16 of 20). Coordinates carry minimum and maximum, units, formats, time formats and model domains are enums with defaults, and the History API marks five parameters required. The package path parameter is a comma-joined array (13 of 15). Samples in JavaScript, Python, shell and Java, and typed response fields with example values. Every error status shares one schema with a free-text `error_message` (10 of 15). Specs carry a version number, 2.0.0 for forecasts, with none in the path. The public changelog has 19 dated entries, mostly data additions (9 of 15).",
          "security": "An account can hold several named keys, each deletable, each with a daily credit limit, an optional IP allow list, a referrer and origin allow list, and an optional shared secret that makes every URL carry an HMAC-SHA256 signature and an expiry. There are no scopes. The key is accepted only as the `apikey` query parameter (25 less 10, 15 of 30). All data is read-only, and package access follows the plan (16 of 20). Warning text is relayed from national authorities and place names from GeoNames. The rest is numeric (10 of 15). `/account/usage` returns request counts and credits per day and type, the key manager charts each key, and each response carries `MB-Credits-Accounted`. No per-call log was found (8 of 15). security.txt returns 404 on four hosts, and no disclosure policy, bounty, SOC 2 or ISO 27001 was found. The ISO 9001:2015 certificate covers quality management (2 of 20).",
          "transparency": "Closed service under general terms last revised on 24 May 2018. They grant a non-commercial licence for open and registered access and leave commercial terms to a written agreement, while the Free Weather API table marks commercial use as allowed. The Python SDK is MIT (12 of 30). The privacy policy, last revised 15 May 2024, covers the API by name. It gives no retention period beyond as long as necessary, and no DPA was found (12 of 30). No deprecation policy was found. The terms let meteoblue change or revoke them at any time, and the changelog records removals after the fact, such as two COSMO models on 11 August 2025 (4 of 20). The policy names Google and Microsoft Clarity for the website and lists other contractors by category. The docs name Datatrans for payments, and the API answers through Cloudflare. No subprocessor list or stated data location for API logs was found (7 of 20)."
        },
        "sources": [
          {
            "what": "API docs overview, access and key protection",
            "url": "https://docs.meteoblue.com/en/weather-apis/introduction/overview",
            "seen": "2026-10-08"
          },
          {
            "what": "Forecast API reference",
            "url": "https://my.meteoblue.com/packages/redoc",
            "seen": "2026-10-08"
          },
          {
            "what": "Forecast API OpenAPI spec",
            "url": "https://my.meteoblue.com/packages/openapi.json",
            "seen": "2026-10-08"
          },
          {
            "what": "History API OpenAPI spec",
            "url": "https://my.meteoblue.com/history/openapi.json",
            "seen": "2026-10-08"
          },
          {
            "what": "Accounting API OpenAPI spec",
            "url": "https://my.meteoblue.com/account/openapi.json",
            "seen": "2026-10-08"
          },
          {
            "what": "Warnings API OpenAPI spec",
            "url": "https://warnings-api.meteoblue.com/warnings/openapi.json",
            "seen": "2026-10-08"
          },
          {
            "what": "Measurements API OpenAPI spec",
            "url": "https://measurements-api.meteoblue.com/v2/provider/openapi.json",
            "seen": "2026-10-08"
          },
          {
            "what": "Dataset API OpenAPI spec",
            "url": "https://my.meteoblue.com/dataset/openapi.json",
            "seen": "2026-10-08"
          },
          {
            "what": "Free Weather API docs",
            "url": "https://docs.meteoblue.com/en/weather-apis/free-weather-api/overview",
            "seen": "2026-10-08"
          },
          {
            "what": "packages in the Free Weather API",
            "url": "https://docs.meteoblue.com/en/weather-apis/forecast-api/forecast-api-configurator",
            "seen": "2026-10-08"
          },
          {
            "what": "Weather API Manager, key management",
            "url": "https://docs.meteoblue.com/en/weather-apis/accounting-api/weather-api-manager",
            "seen": "2026-10-08"
          },
          {
            "what": "availability and retry guidance",
            "url": "https://docs.meteoblue.com/en/weather-apis/introduction/availability",
            "seen": "2026-10-08"
          },
          {
            "what": "Forecast API FAQ",
            "url": "https://docs.meteoblue.com/en/weather-apis/forecast-api/overview",
            "seen": "2026-10-08"
          },
          {
            "what": "Location Search API docs",
            "url": "https://docs.meteoblue.com/en/weather-apis/further-apis/location-search-api",
            "seen": "2026-10-08"
          },
          {
            "what": "pricing page",
            "url": "https://business.meteoblue.com/pricing",
            "seen": "2026-10-08"
          },
          {
            "what": "Free Weather API product page and plan comparison",
            "url": "https://business.meteoblue.com/products/weather-apis/free-weather-api",
            "seen": "2026-10-08"
          },
          {
            "what": "terms and conditions",
            "url": "https://business.meteoblue.com/terms-conditions",
            "seen": "2026-10-08"
          },
          {
            "what": "privacy policy",
            "url": "https://business.meteoblue.com/privacy-policy",
            "seen": "2026-10-08"
          },
          {
            "what": "commercial and non-commercial use",
            "url": "https://content.meteoblue.com/en/about-us/legal/commercial-non-commercial-use",
            "seen": "2026-10-08"
          },
          {
            "what": "imprint",
            "url": "https://content.meteoblue.com/en/about-us/legal/imprint",
            "seen": "2026-10-08"
          },
          {
            "what": "changelog",
            "url": "https://business.meteoblue.com/changelog",
            "seen": "2026-10-08"
          },
          {
            "what": "llms.txt on the business site",
            "url": "https://business.meteoblue.com/llms.txt",
            "seen": "2026-10-08"
          },
          {
            "what": "status page overview",
            "url": "http://status.meteoblue.com/",
            "seen": "2026-10-08"
          },
          {
            "what": "Forecast API monitor, September 2026",
            "url": "http://status.meteoblue.com/13492717/2026/09",
            "seen": "2026-10-08"
          },
          {
            "what": "History API monitor, September 2026",
            "url": "http://status.meteoblue.com/14225657/2026/09",
            "seen": "2026-10-08"
          },
          {
            "what": "unauthenticated call, 400 with error body",
            "url": "https://my.meteoblue.com/packages/basic-1h?lat=47.1\u0026lon=8.6",
            "seen": "2026-10-08"
          },
          {
            "what": "security.txt, 404",
            "url": "https://www.meteoblue.com/.well-known/security.txt",
            "seen": "2026-10-08"
          },
          {
            "what": "Python SDK on PyPI",
            "url": "https://pypi.org/project/meteoblue-dataset-sdk/",
            "seen": "2026-10-08"
          },
          {
            "what": "Python SDK repository",
            "url": "https://github.com/meteoblue/python-dataset-sdk",
            "seen": "2026-10-08"
          },
          {
            "what": "npm search for meteoblue packages",
            "url": "https://registry.npmjs.org/-/v1/search?text=meteoblue\u0026size=10",
            "seen": "2026-10-08"
          },
          {
            "what": "domain registration",
            "url": "https://rdap.verisign.com/com/v1/domain/meteoblue.com",
            "seen": "2026-10-08"
          }
        ],
        "openQuestions": [
          "unchecked: the price of prepaid credits. It is shown inside the account after login, so `unitPrices` is empty. Public plan prices are in euros only",
          "unchecked: whether the Free Weather API signup asks for a card. The docs say the account is free with no purchase obligation, and we did not register",
          "The lead said keys come by request. A self-serve account now issues a Free Weather API key, though the docs overview still says to email support for a trial key and the pricing FAQ says trials are arranged by sales",
          "The pricing page draws tier prices by script. We read 200, 400 and 800 from the markup as euros a month for the three Premium Weather API tiers, and only EUR 2,400 a year was displayed",
          "The terms grant registered users a non-commercial licence, while the Free Weather API comparison table marks commercial use as allowed. Which applies to a free key is not settled by the documents",
          "Whether the API accepts the key in a header, and whether failed or rate-limited calls are charged credits. Neither is documented",
          "The spec names the parameters `forecastDays` and `historyDays`, and the docs FAQ writes `history_days`. We did not test which the API accepts",
          "The spec lists 401 for a missing key, and our call without a key returned 400",
          "Whether the History API outage of 1 September 2026 affected customers or only the Pingdom check. The status page has no incident notes",
          "No vendor MCP server was found. `mcp-meteoblue` on npm is published by a third party"
        ]
      },
      "negative": 0,
      "verdict": "Eight of the APIs publish OpenAPI 3.1 specs, and the Forecast API spec lists the credit cost of every package. A public Pingdom page shows monthly uptime per API. The key travels only in the query string, the free trial covers nine forecast packages, and no security.txt, certification or DPA was found.",
      "bestFor": "Energy, agriculture and marine applications that need solar, wind, soil, sea or ensemble variables at a point, with history back to 1940 on a paid plan.",
      "strengths": [
        "OpenAPI 3.1 specs for the Forecast (54 paths), History, Dataset, Image, Warnings, Measurements, Accounting and Model-Run Archive APIs, each at `openapi.json` beside its ReDoc page",
        "The Forecast API spec lists credits per package, 4,000 for `basic-day` and `current`, 8,000 for `basic-1h`, and each response carries an `MB-Credits-Accounted` header",
        "Free Weather API with 10 million credits for one year from a self-serve account, with no purchase obligation stated",
        "Keys can be limited by daily credits, IP range and referrer, or tied to an HMAC-SHA256 signature with an expiry time",
        "Pingdom status page with 15 monitors and monthly history. The Forecast API monitor shows one 2-minute outage in the 90 days to 8 October 2026"
      ],
      "weaknesses": [
        "The key is accepted only as the `apikey` query parameter, so it appears in URLs and logs unless request signing is switched on",
        "The free trial covers nine forecast packages at hourly or coarser steps. Current conditions, sea, history, warnings and the Dataset API need a paid plan",
        "No security.txt, disclosure policy, SOC 2 or ISO 27001 was found. The only certificate published is ISO 9001:2015",
        "The general terms date from 24 May 2018, give no API-specific clauses and let meteoblue change or revoke them at any time",
        "The History API monitor shows an outage of 1 hour 26 minutes on 1 September 2026, and the status page is served over plain http only"
      ],
      "agentNotes": [
        "Pass `lat`, `lon` and `apikey` to `https://my.meteoblue.com/packages/\u003cpackage\u003e`. Join packages with commas, such as `basic-1h,basic-day`, to get several in one call",
        "Budget credits before calling. One call costs 4,000 to 96,000 credits by package, and the free trial holds 10 million for a year. Read `MB-Credits-Accounted` on each response",
        "Set `forecastDays` and pick the coarsest resolution that does the job. Without it the API returns every forecast day it has",
        "Call with a 30-second timeout, wait 30 seconds after an error and stop after 10 retries, as the availability page advises. The default limit is 500 calls a minute",
        "Keep the key out of logs, since it is part of every URL. Ask for a shared secret and send `expire` and `sig` if URLs may be seen by others"
      ],
      "metrics": {
        "kind": "remote",
        "measured": false
      },
      "reviewCount": 0,
      "avgRating": 0,
      "history": [
        {
          "basis": "public evidence",
          "confidence": "medium",
          "grade": "C",
          "methodology": "0.4",
          "pending": [
            "performance",
            "tasks"
          ],
          "run": "2026-10-01",
          "runLabel": "October 2026 research run",
          "score": 61.7
        }
      ],
      "editorialScores": {
        "ergonomics": 66,
        "maintenance": 57,
        "payments": 34,
        "reliability": 75,
        "schema": 77,
        "security": 51,
        "transparency": 35
      },
      "provenanceScore": 87
    },
    "connect": {
      "install": "pip install meteoblue-dataset-sdk",
      "http": "curl \"https://my.meteoblue.com/packages/basic-1h?lat=47.5596\u0026lon=7.5886\u0026tz=utc\u0026apikey=YOUR_APIKEY\""
    },
    "letme": {
      "capability": "https://letme.dev/weather.current",
      "tool": "https://letme.dev/meteoblue"
    },
    "notable": [
      "The Forecast API groups variables into packages named by resolution, from `basic-5min` to `basic-day`, and several packages can share one request (https://my.meteoblue.com/packages/redoc)",
      "Usage is counted in credits per package, not per call. Asking for the same package at two resolutions is charged once at the dearer rate (https://my.meteoblue.com/packages/openapi.json)",
      "Forecasts come from the meteoblue Learning MultiModel, which the vendor says weighs each weather model by its record at that location over the previous 60 days (https://docs.meteoblue.com/en/weather-apis/forecast-api/overview)",
      "The History API returns one variable per call for up to 30 years, from 1940 onwards, based on ERA5T reanalysis with a delay of about 8 days (https://my.meteoblue.com/history/redoc)",
      "The Warnings API relays official warnings in CAP 1.2 form from national authorities, refreshed every 15 minutes per its spec (https://warnings-api.meteoblue.com/warnings/redoc)",
      "The vendor publishes its own yearly API availability since 2012, giving 99.95 per cent and 4 hours 11 minutes of downtime for 2025 (https://docs.meteoblue.com/en/weather-apis/introduction/availability)",
      "A Model-Run Archive API with past IFS HRES runs for training machine learning models has a docs page dated 2 October 2026 (https://docs.meteoblue.com/en/weather-apis/further-apis/model-run-archive-api)"
    ],
    "area": "domain-data",
    "details": [
      {
        "label": "APIs",
        "value": "Forecast (`/packages/...`), History (`/history/point`), Accounting (`/account/usage`) and Model-Run Archive (`/archive/run/point`) at https://my.meteoblue.com, Warnings at warnings-api.meteoblue.com, Measurements at measurements-api.meteoblue.com, plus Dataset, Image, Maps, Climate Data and Location Search APIs"
      },
      {
        "label": "Forecast packages",
        "value": "54 paths in the spec. Basic, current, clouds, sun and moon, agro, solar, PV, wind, sea, air, air quality, trend (14 days), ensemble, multimodel, seasonal anomaly, nowcast (6 hours at 5-minute steps), risk and raw model packages"
      },
      {
        "label": "Free Weather API",
        "value": "10 million credits valid for one year. Agro, air, air quality, basic, clouds, PVPro, solar, trend and wind packages at hourly, 3-hourly, 6-hourly or daily steps, plus meteogram images. The comparison table puts this at about 1,000 to 5,000 calls and marks commercial use as allowed"
      },
      {
        "label": "Forecast range",
        "value": "7 days in the basic package, 14 days in the trend packages, 6 months of monthly anomalies in the seasonal package, and up to 4 past days with `historyDays`"
      },
      {
        "label": "History",
        "value": "From 1940, one variable per call, at most 30 years per call, hourly, daily or monthly, 27 variables. Charged at 100 credits per hour of data, 50 per day when aggregated daily and 25 when monthly. Not in the free trial"
      },
      {
        "label": "Credits per call",
        "value": "`current`, `basic-day` and `sunmoon` 4,000. `basic-1h`, `sea-1h` and `airquality-1h` 8,000. `wind-1h`, `solar-1h`, `trend-1h` and `multimodel-1h` 16,000. `trendpro-1h` and `seasonalanomaly-monthly` 32,000. Raw model packages 96,000"
      },
      {
        "label": "Rate limits",
        "value": "500 calls a minute unless agreed otherwise, plus daily credit limits per account and per key. A request over the daily limit returns an error"
      },
      {
        "label": "Errors",
        "value": "400, 401, 403, 404 and 429 with a JSON body of `error: true` and an `error_message` string. A call with no key returned 400 in our check"
      },
      {
        "label": "Formats",
        "value": "JSON by default, CSV, XLSX and Highcharts for forecasts. JSON or CSV for history. Units for temperature, wind and precipitation are query parameters"
      },
      {
        "label": "Premium Weather API price",
        "value": "EUR 2,400 a year for 40,000 calls a month at about 8,000 credits a call, as shown on the pricing page. Tiers of 150,000 and 500,000 calls a month carry 400 and 800 in the page markup against 200 for the first tier, which we read as euros a month. Larger volumes by request"
      },
      {
        "label": "Key controls",
        "value": "Several named keys per account, each with a daily limit, deletable in the Weather API Manager. Optional shared secret for HMAC-SHA256 signed URLs with `expire`, a referrer and origin allow list, and an IP allow list"
      },
      {
        "label": "SDK",
        "value": "`meteoblue-dataset-sdk` 1.3.5 on PyPI for the Dataset API only, MIT, last released 10 January 2025. Code samples for JavaScript, Python, shell and Java in the specs"
      },
      {
        "label": "Uptime published",
        "value": "Pingdom checks at one-minute resolution. Forecast API 99.99 per cent in July 2026 and 100 per cent in August, September and October to date. History API 99.80 per cent in September 2026"
      }
    ],
    "provenance": {
      "legalEntity": "meteoblue AG",
      "domain": "meteoblue.com",
      "domainRegistered": "2005-11-15",
      "endpointOnVendorDomain": true,
      "terms": "https://business.meteoblue.com/terms-conditions",
      "privacy": "https://business.meteoblue.com/privacy-policy",
      "statusPage": "http://status.meteoblue.com/",
      "changelog": "https://business.meteoblue.com/changelog",
      "securityTxt": "none",
      "checked": "2026-10-08",
      "notes": [
        "The terms and conditions (last revised 24 May 2018) are meteoblue's general terms for all services, products and data, the API included. They name meteoblue AG, Basel, under Swiss law with Basel as forum. No separate API agreement is published, and commercial terms are agreed in writing.",
        "The privacy policy (last revised 15 May 2024) states that it applies to all meteoblue services however they are used, and names the website, apps and API. The same two texts are also served at content.meteoblue.com/en/about-us/legal/.",
        "The imprint gives meteoblue AG, Greifengasse 38, CH-4058 Basel, commercial register number CHE-113.182.626.",
        "The APIs answer at my.meteoblue.com, warnings-api.meteoblue.com and measurements-api.meteoblue.com, behind Cloudflare.",
        "/.well-known/security.txt returns 404 on www.meteoblue.com, my.meteoblue.com, business.meteoblue.com and docs.meteoblue.com, and 403 on content.meteoblue.com.",
        "status.meteoblue.com is a Pingdom public report with 15 monitors. It answers over http. Over https the certificate does not match the host name.",
        "The changelog is on the business site, 19 dated entries from 11 August 2025 to 22 August 2026, mostly data and model additions.",
        "RDAP for meteoblue.com gives a registration date of 2005-11-15."
      ],
      "score": 87,
      "checks": [
        {
          "check": "Legal entity named",
          "value": "meteoblue AG",
          "points": 20,
          "max": 20,
          "state": "ok"
        },
        {
          "check": "Domain age",
          "value": "meteoblue.com, registered 2005-11-15 (20 years)",
          "points": 15,
          "max": 15,
          "state": "ok"
        },
        {
          "check": "Endpoint on the vendor's domain",
          "value": "my.meteoblue.com",
          "points": 15,
          "max": 15,
          "state": "ok"
        },
        {
          "check": "Terms of service",
          "value": "read, states 4 of the 7 things a reader expects",
          "points": 7.4,
          "max": 10,
          "state": "part"
        },
        {
          "check": "Privacy policy",
          "value": "read, states 8 of the 8 things a reader expects",
          "points": 10,
          "max": 10,
          "state": "ok"
        },
        {
          "check": "Status page",
          "value": "status.meteoblue.com",
          "points": 10,
          "max": 10,
          "state": "ok"
        },
        {
          "check": "Changelog",
          "value": "published",
          "points": 10,
          "max": 10,
          "state": "ok"
        },
        {
          "check": "security.txt",
          "value": "not found",
          "points": 0,
          "max": 10,
          "state": "no"
        }
      ],
      "policies": [
        {
          "kind": "terms",
          "url": "https://business.meteoblue.com/terms-conditions",
          "state": "read",
          "readAt": "2026-10-08",
          "statedDate": "2018-05-24",
          "words": 4532,
          "points": 7.4,
          "max": 10,
          "expected": [
            {
              "key": "terms.date",
              "label": "Gives the date it was last updated",
              "found": true,
              "quote": "17.04. This Terms and Conditions were last revised on Thursday, 24 May 2018. The changes remain highlighted in bold text for at least 30 days after this change.",
              "says": "Last updated 2018-05-24"
            },
            {
              "key": "terms.law",
              "label": "Names the governing law or courts",
              "found": true,
              "quote": "These terms and conditions are governed by the laws of Switzerland.",
              "says": "The law of Switzerland"
            },
            {
              "key": "terms.liability",
              "label": "States a limit on its liability",
              "found": false
            },
            {
              "key": "terms.termination",
              "label": "Says how the agreement or account can be ended",
              "found": true,
              "quote": "TERMINATION: Termination notice can be provided by either PARTY under the specific TERMS of the AGREEMENT."
            },
            {
              "key": "terms.changes",
              "label": "Says how changes to the terms are announced",
              "found": false
            },
            {
              "key": "terms.use",
              "label": "Lists what users may not do",
              "found": false
            },
            {
              "key": "terms.sla",
              "label": "Refers to a service level or uptime commitment",
              "found": true,
              "quote": "Maximise uptime across all renewable assets."
            }
          ],
          "toKnow": [
            {
              "key": "old",
              "label": "Has not been updated for three years or more",
              "found": true,
              "quote": "17.04. This Terms and Conditions were last revised on Thursday, 24 May 2018. The changes remain highlighted in bold text for at least 30 days after this change."
            }
          ],
          "notes": [
            {
              "date": "2026-10-08",
              "text": "Data, products and services may not be stored, reproduced, printed or sent without meteoblue's prior consent, except for non-commercial use.",
              "quote": "10.03. REPRODUCTION: METEOBLUE DATA, PRODUCTS or SERVICES may not be stored, reproduced, printed or sent without prior consent of METEOBLUE, except for NON-COMMERCIAL UTILISATION."
            },
            {
              "date": "2026-10-08",
              "text": "Users and customers grant meteoblue a lifetime, irrevocable licence over their public contributions such as comments and photos.",
              "quote": "For public contributions (e.g. comments, photos. etc.), USERS and CUSTOMERS grant METEOBLUE a lifetime, irrevocable license right to use their copyrights on these contributions, which will terminate only upon the termination of the copyright"
            },
            {
              "date": "2026-10-08",
              "text": "Any website that shows meteoblue services must display a clearly visible reference to meteoblue close to the data.",
              "quote": "9.05. CREDENTIALS: If METEOBLUE SERVICES are referenced on any WEBSITE a clearly visible reference to METEOBLUE has to be displayed close to the METEOBLUE DATA."
            }
          ]
        },
        {
          "kind": "privacy",
          "url": "https://business.meteoblue.com/privacy-policy",
          "state": "read",
          "readAt": "2026-10-08",
          "statedDate": "2024-05-15",
          "words": 4176,
          "points": 10,
          "max": 10,
          "expected": [
            {
              "key": "privacy.date",
              "label": "Gives the date it was last updated",
              "found": true,
              "quote": "This privacy policy statement was last revised on Thursday, 15 May 2024.",
              "says": "Last updated 2024-05-15"
            },
            {
              "key": "privacy.collected",
              "label": "Says what personal data is collected",
              "found": true,
              "quote": "You have the right to demand from the meteoblue the correction of incorrect personal data that we collect and process."
            },
            {
              "key": "privacy.retention",
              "label": "Says how long data is kept",
              "found": true,
              "quote": "meteoblue will only retain personal data for as long as necessary to fulfil the purpose for which it was collected or in accordance with legal, regulatory or internal regulations.",
              "says": "For as long as needed, with no period named"
            },
            {
              "key": "privacy.processors",
              "label": "Says who else receives the data",
              "found": true,
              "quote": "to pass on individual data to third parties (see \"Disclosure of personal data to third parties\", § 10) where they are needed in order to offer you the desired service."
            },
            {
              "key": "privacy.sale",
              "label": "Says whether personal data is sold or shared for advertising",
              "found": true,
              "quote": "in a business merger, acquisition, or sale of assets where meteoblue participates, meteoblue will ensure the confidentiality of any personal data and notify the affected users before any personal data is transmitted or becomes subject to any other privacy policy."
            },
            {
              "key": "privacy.rights",
              "label": "Says what rights people have over their data",
              "found": true,
              "quote": "Therefore, if you are unfamiliar with terms such as cookies, IP addresses and browsers, local storage, session storage, you should first read about these techniques and key terms (see EU-GDPR, terms, description of technical IT terms)."
            },
            {
              "key": "privacy.contact",
              "label": "Gives a privacy contact",
              "found": true,
              "quote": "A copy of these actions is available from the meteoblue Data Protection Officer.",
              "says": "Names a data protection officer"
            },
            {
              "key": "privacy.transfers",
              "label": "Says where data is transferred or stored",
              "found": true,
              "quote": "The third parties referred to in paragraph 10 above may also be established outside the European Union."
            }
          ],
          "notes": [
            {
              "date": "2026-10-08",
              "text": "meteoblue may update or change the privacy policy at any time without notice.",
              "quote": "meteoblue reserves the right to update or change this PPS at any time without notice."
            },
            {
              "date": "2026-10-08",
              "text": "Where the privacy policy and the terms and conditions contradict each other, the privacy policy takes precedence.",
              "quote": "If there are any contradictions between this declaration and the terms and conditions, the provisions of this statement take precedence."
            }
          ]
        }
      ]
    },
    "pageJsonUrl": "https://www.anchorterminal.com/tools/meteoblue.json",
    "live": {
      "slug": "meteoblue",
      "probe": {
        "target": "https://my.meteoblue.com",
        "method": "get",
        "lastAt": "2026-10-08T21:12:15.476668876Z",
        "lastOk": true,
        "lastStatus": 404,
        "lastMs": 68,
        "authRequired": false,
        "uptime24h": 100,
        "uptime30d": 100,
        "p50ms24h": 68,
        "p95ms24h": 164,
        "samples24h": 21,
        "samples30d": 21,
        "days": [
          {
            "date": "2026-10-08",
            "probes": 21,
            "ok": 21
          }
        ]
      },
      "vendorStatus": {
        "page": "http://status.meteoblue.com",
        "indicator": "unknown",
        "summary": "no machine-readable status found",
        "checkedAt": "2026-10-08T19:38:46.956747067Z"
      },
      "updatedAt": "2026-10-08T21:12:15.476668876Z"
    }
  }
}
