{
  "name": "Open-Meteo",
  "slug": "open-meteo",
  "website_url": "https://open-meteo.com",
  "vendor_description": "\"An open-source weather API that offers free access for non-commercial use - no API key required, 30+ weather models, historical data from 1940.\"",
  "categories": [
    "weather"
  ],
  "summary": "Open-Meteo is an open-source weather API providing forecasts, historical data back to 1940, air quality, marine conditions, flood forecasts, and climate change projections to 2050, drawing on 30+ models from national meteorological agencies worldwide. It is free for non-commercial use with no API key required, supporting up to 300,000 calls per month, while commercial plans start at $29 per month with unlimited rate limits and a 99.9% uptime target on reserved servers. SDKs are available in eight languages including Python, TypeScript, Go, and Rust, and Home Assistant is a documented integration partner.",
  "capabilities": {
    "supported_actions": [
      "forecast",
      "historical_weather",
      "historical_forecast",
      "previous_runs",
      "single_runs",
      "ensemble_forecast",
      "seasonal_forecast",
      "climate_change_projections",
      "marine_forecast",
      "air_quality",
      "flood_forecast",
      "satellite_radiation",
      "geocoding",
      "elevation"
    ],
    "supported_regions": [
      "global",
      "Central Europe (15-minutely resolution)",
      "North America (15-minutely resolution)",
      "Germany (DWD ICON)",
      "USA (NOAA GFS/HRRR)",
      "France (Météo-France)",
      "EU (ECMWF)",
      "UK (Met Office)",
      "Korea (KMA)",
      "Japan (JMA)",
      "Switzerland (MeteoSwiss)",
      "Norway (MET)",
      "Canada (GEM)",
      "Australia (BOM)",
      "China (CMA)",
      "Netherlands (KNMI)",
      "Denmark (DMI)",
      "Italy (ItaliaMeteo)",
      "Austria (GeoSphere)"
    ],
    "supported_languages": [
      "English"
    ],
    "input_types": [
      "latitude/longitude (WGS84)",
      "location name (string)",
      "postal code",
      "ISO 8601 date range",
      "forecast days parameter",
      "past days parameter"
    ],
    "output_types": [
      "JSON",
      "CSV",
      "XLSX",
      "Protobuf (geocoding API only)"
    ],
    "webhooks_supported": false,
    "sandbox_available": false,
    "sdk_languages": [
      "Python",
      "TypeScript",
      "Kotlin",
      "C#/.NET",
      "Go",
      "Rust",
      "Dart/Flutter",
      "R"
    ],
    "mcp_server_available": false
  },
  "integration": {
    "api_style": "rest",
    "base_url": "https://api.open-meteo.com/v1",
    "api_version": "v1",
    "versioning_scheme": "url",
    "stability": "ga",
    "deprecation_policy_url": null,
    "auth_methods": [
      "api_key"
    ],
    "auth_docs_url": "https://open-meteo.com/en/docs",
    "idempotency_supported": null,
    "error_format": "vendor-specific JSON: {\"error\": true, \"reason\": \"<description>\"} with HTTP 400",
    "webhook_signing": null,
    "webhook_events_url": null,
    "rate_limit_requests": 600,
    "rate_limit_window": "minute",
    "sdk_packages": [
      {
        "package": "openmeteo-requests",
        "language": "Python",
        "official": true,
        "repo_url": "https://github.com/open-meteo/python-requests"
      },
      {
        "package": "openmeteo",
        "language": "TypeScript",
        "official": true,
        "repo_url": "https://github.com/open-meteo/typescript"
      },
      {
        "package": "open-meteo-api-kotlin",
        "language": "Kotlin",
        "official": true,
        "repo_url": "https://github.com/open-meteo/open-meteo-api-kotlin"
      },
      {
        "package": "open-meteo-dotnet-client-sdk",
        "language": "C#/.NET",
        "official": false,
        "repo_url": "https://github.com/colinnuk/open-meteo-dotnet-client-sdk"
      },
      {
        "package": "omgo",
        "language": "Go",
        "official": false,
        "repo_url": "https://github.com/HectorMalot/omgo"
      },
      {
        "package": "open-meteo-rs",
        "language": "Rust",
        "official": false,
        "repo_url": "https://github.com/angelodlfrtr/open-meteo-rs"
      },
      {
        "package": "open-meteo-dart",
        "language": "Dart/Flutter",
        "official": false,
        "repo_url": "https://github.com/neursh/open-meteo-dart"
      },
      {
        "package": "openmeteo",
        "language": "R",
        "official": false,
        "repo_url": "https://github.com/tpisel/openmeteo"
      }
    ],
    "mcp_url": null,
    "quickstart_url": "https://open-meteo.com/en/docs"
  },
  "pricing": {
    "pricing_model": "subscription",
    "has_published_pricing": true,
    "starting_price_usd": "29.0000",
    "price_basis": "month",
    "free_tier_available": true,
    "free_tier_limit": "600 calls/min, 10,000 calls/day, 300,000 calls/month; non-commercial use only",
    "free_tier_details": "Non-commercial use is free with no API key required. Rate limits: 600 calls/minute, 5,000 calls/hour, 10,000 calls/day, 300,000 calls/month. Free tier includes all APIs: Weather Forecast, Air Quality, Elevation, Flood, Geocoding, Marine, Satellite Radiation, Historical Weather, Climate Change, Ensemble, and Seasonal Forecast APIs. No uptime guarantee on free tier.",
    "minimum_commitment": null,
    "self_serve_signup": true,
    "requires_sales_call": false,
    "requires_verification": false,
    "enterprise_plan_available": true,
    "price_points": [
      {
        "plan": "Free",
        "item": "300,000 calls/month (600/min, 5,000/hr, 10,000/day) — non-commercial use only, all APIs included",
        "amount_usd": "0.0000",
        "amount_percent": null,
        "per": "month",
        "currency": "USD",
        "source_url": "https://open-meteo.com/en/pricing"
      },
      {
        "plan": "Standard",
        "item": "1,000,000 calls/month, unlimited rate limits, commercial use permitted (Weather Forecast, Marine, Air Quality, Geocoding, Elevation, Flood APIs; excludes Historical, Climate, Ensemble)",
        "amount_usd": "29.0000",
        "amount_percent": null,
        "per": "month",
        "currency": "USD",
        "source_url": "https://openmeteo.substack.com/p/api-subscriptions-for-commercial"
      },
      {
        "plan": "Professional",
        "item": "5,000,000 calls/month, unlimited rate limits, commercial use permitted, all APIs including Historical Weather, Ensemble Forecast, Climate Change",
        "amount_usd": "99.0000",
        "amount_percent": null,
        "per": "month",
        "currency": "USD",
        "source_url": "https://openmeteo.substack.com/p/api-subscriptions-for-commercial"
      },
      {
        "plan": "Enterprise",
        "item": "50M+ calls/month, unlimited rate limits, all APIs, reserved servers, custom solutions, priority support",
        "amount_usd": null,
        "amount_percent": null,
        "per": "month",
        "currency": "USD",
        "source_url": "https://open-meteo.com/en/pricing"
      }
    ]
  },
  "compliance": {
    "soc2": null,
    "hipaa": null,
    "gdpr": null,
    "iso_27001": null,
    "pci_dss": null,
    "sla_published": false,
    "sla_url": null,
    "data_retention_policy_url": "https://open-meteo.com/en/terms",
    "documented_rate_limits": "Free tier: 600 calls/minute, 5,000 calls/hour, 10,000 calls/day, 300,000 calls/month. Paid plans (Standard and Professional): unlimited rate limits. Terms disclaim uptime guarantees; pricing page notes a 99.9% uptime target for paid reserved servers only.",
    "known_restrictions": [
      "Free tier is non-commercial use only - prohibited uses include subscriptions, advertising, commercial products",
      "Data licensed under CC BY 4.0 - attribution required",
      "Enterprise plan requires contacting info@open-meteo.com for custom pricing",
      "15-minutely resolution data only available in Central Europe and North America",
      "Free tier has no uptime guarantee"
    ]
  },
  "developer": {
    "docs_url": null,
    "api_reference_url": "https://open-meteo.com/en/docs",
    "openapi_spec_url": null,
    "postman_collection_url": null,
    "changelog_url": null,
    "status_page_url": "https://status.open-meteo.com",
    "llms_txt_url": null,
    "markdown_docs_url": null,
    "rendering": "static"
  },
  "adoption": {
    "launched_at": "2022-01-01",
    "ga_date": "2024-01-11",
    "github_stars": null,
    "github_stars_at": null,
    "notable_customers": [
      "Home Assistant"
    ]
  },
  "scores": {
    "agent_friendliness": 20,
    "pricing_transparency": 100,
    "setup_speed": 85,
    "docs_quality": 20,
    "procurement_friction": 100,
    "trust_readiness": 0,
    "best_for": [
      "Prototypes and side projects - free to start, no sales call",
      "Teams needing broad API coverage out of the box",
      "Cost-sensitive teams - low, transparent entry price"
    ],
    "avoid_if": [
      "You have strict compliance requirements"
    ]
  },
  "sources": [
    {
      "field": "vendor_description",
      "url": "https://open-meteo.com/en/about",
      "excerpt": "Open-Meteo is an open-source weather API and offers free access for non-commercial use.",
      "confidence": "high"
    },
    {
      "field": "primary_use_cases",
      "url": "https://open-meteo.com/en/features",
      "excerpt": "Global weather data from forecast to archive — free, no sign-up, one JSON API.",
      "confidence": "high"
    },
    {
      "field": "supported_actions",
      "url": "https://open-meteo.com/en/docs",
      "excerpt": "The API endpoint /v1/forecast accepts a geographical coordinate, a list of weather variables and responds with a JSON hourly weather forecast for 16 days.",
      "confidence": "high"
    },
    {
      "field": "supported_actions",
      "url": "https://open-meteo.com/en/docs/flood-api",
      "excerpt": "The API endpoint /v1/flood accepts a geographical coordinate and returns river discharge data from the largest river in a 5 km area for the given coordinates.",
      "confidence": "high"
    },
    {
      "field": "supported_regions",
      "url": "https://open-meteo.com/en/features",
      "excerpt": "15-minutely data is available for Central Europe and North America, interpolated from hourly model output elsewhere.",
      "confidence": "high"
    },
    {
      "field": "input_types",
      "url": "https://open-meteo.com/en/docs/historical-weather-api",
      "excerpt": "A day must be specified as an ISO8601 date (e.g. 2022-12-31).",
      "confidence": "high"
    },
    {
      "field": "output_types",
      "url": "https://open-meteo.com/en/docs/geocoding-api",
      "excerpt": "By default, results are returned as JSON. Alternatively, protobuf is supported for more efficient encoding and transfer.",
      "confidence": "high"
    },
    {
      "field": "vendor_description",
      "url": "https://open-meteo.com/",
      "excerpt": "Free weather forecast and historical weather API — 30+ models, historical weather from 1940, no API key required.",
      "confidence": "high"
    },
    {
      "field": "primary_use_cases",
      "url": "https://open-meteo.com/en/docs",
      "excerpt": "Related API suites documented: Historical Weather API, Ensemble API, Seasonal Forecast API, Marine Forecast API, Air Quality API, Geocoding API, Elevation API, Flood API",
      "confidence": "high"
    },
    {
      "field": "supported_actions",
      "url": "https://open-meteo.com/en/docs/air-quality-api",
      "excerpt": "The API endpoint /v1/air-quality accepts a geographical coordinate, a list of weather variables and responds with a JSON hourly air quality forecast for 5 days.",
      "confidence": "high"
    },
    {
      "field": "supported_regions",
      "url": "https://open-meteo.com/en/features",
      "excerpt": "30+ Weather Models integrated from over 15 national weather services, including ECMWF, DWD, NOAA, Météo-France, JMA, KMA, KNMI, DMI, MeteoSwiss, UK Met Office, BOM, CMA, and GeoSphere Austria.",
      "confidence": "high"
    },
    {
      "field": "input_types",
      "url": "https://open-meteo.com/en/docs",
      "excerpt": "Simple JSON API — HTTP GET, no authentication, CC BY 4.0 data licence",
      "confidence": "high"
    },
    {
      "field": "output_types",
      "url": "https://open-meteo.com/en/docs",
      "excerpt": "CSV and XLSX formats add a column location_id when multiple locations are queried.",
      "confidence": "high"
    },
    {
      "field": "sdk_languages",
      "url": "https://github.com/open-meteo/open-meteo",
      "excerpt": "SDKs available in: .Net/C#, Dart/Flutter, Go, Kotlin, PHP, Python, R, Rust, and TypeScript.",
      "confidence": "high"
    },
    {
      "field": "pricing_model",
      "url": "https://open-meteo.com/en/pricing",
      "excerpt": "Fixed monthly price — no per-call overages or surprise charges",
      "confidence": "high"
    },
    {
      "field": "has_published_pricing",
      "url": "https://open-meteo.com/en/pricing",
      "excerpt": "600 calls / min, 5.000 calls / hour, 10.000 calls / day, 300.000 calls / month",
      "confidence": "high"
    },
    {
      "field": "free_tier_available",
      "url": "https://open-meteo.com/en/terms",
      "excerpt": "You may only use the free API services for non-commercial purposes.",
      "confidence": "high"
    },
    {
      "field": "free_tier_available",
      "url": "https://open-meteo.com/en/pricing",
      "excerpt": "600 calls / min, 5.000 calls / hour, 10.000 calls / day, 300.000 calls / month",
      "confidence": "high"
    },
    {
      "field": "sdk_languages",
      "url": "https://github.com/open-meteo/python-requests",
      "excerpt": "This library provides access to weather data from the Open-Meteo Weather API. It uses FlatBuffers instead of JSON for efficient data transfer and supports Zero-Copy data handling with numpy, pandas, and polars.",
      "confidence": "high"
    },
    {
      "field": "pricing_model",
      "url": "https://openmeteo.substack.com/p/api-subscriptions-for-commercial",
      "excerpt": "$29 per month and provides 1 million API calls per month.",
      "confidence": "high"
    },
    {
      "field": "has_published_pricing",
      "url": "https://openmeteo.substack.com/p/api-subscriptions-for-commercial",
      "excerpt": "$99 per month. This plan includes 5 million API calls per month and encompasses all the APIs available in the Standard Plan. Additionally, the Professional Plan provides exclusive access to the Historical Weather, Ensemble Forecast, and Climate Change APIs.",
      "confidence": "high"
    },
    {
      "field": "free_tier_available",
      "url": "https://open-meteo.com/en/docs",
      "excerpt": "Only required to commercial use to access reserved API resources for customers.",
      "confidence": "high"
    },
    {
      "field": "free_tier_details",
      "url": "https://open-meteo.com/en/pricing",
      "excerpt": "600 calls / min, 5.000 calls / hour, 10.000 calls / day, 300.000 calls / month",
      "confidence": "high"
    },
    {
      "field": "self_serve_signup",
      "url": "https://open-meteo.com/en/about",
      "excerpt": "Open-Meteo is an open-source weather API and offers free access for non-commercial use.",
      "confidence": "high"
    },
    {
      "field": "requires_sales_call",
      "url": "https://open-meteo.com/en/pricing",
      "excerpt": "Payments via Stripe; manage subscriptions in customer portal.",
      "confidence": "high"
    },
    {
      "field": "enterprise_plan_available",
      "url": "https://openmeteo.substack.com/p/api-subscriptions-for-commercial",
      "excerpt": "Contact info@open-meteo.com for custom volume or enterprise contracts.",
      "confidence": "high"
    },
    {
      "field": "sla_published",
      "url": "https://open-meteo.com/en/terms",
      "excerpt": "No explicit GDPR compliance statements, uptime guarantees, or compliance certifications.",
      "confidence": "high"
    },
    {
      "field": "documented_rate_limits",
      "url": "https://open-meteo.com/en/terms",
      "excerpt": "Less than 10'000 API calls per day, 5'000 per hour and 600 per minute.",
      "confidence": "high"
    },
    {
      "field": "known_restrictions",
      "url": "https://open-meteo.com/en/terms",
      "excerpt": "The data obtained through the API is provided under the terms of the CC-BY 4.0 licence.",
      "confidence": "high"
    },
    {
      "field": "auth_methods",
      "url": "https://open-meteo.com/en/docs",
      "excerpt": "Only required to commercial use to access reserved API resources for customers. The server URL requires the prefix customer-.",
      "confidence": "high"
    },
    {
      "field": "api_style",
      "url": "https://open-meteo.com/en/docs",
      "excerpt": "Simple JSON API — HTTP GET, no authentication, CC BY 4.0 data licence",
      "confidence": "high"
    },
    {
      "field": "base_url",
      "url": "https://open-meteo.com/en/docs/geocoding-api",
      "excerpt": "https://geocoding-api.open-meteo.com/v1/search",
      "confidence": "high"
    },
    {
      "field": "api_version",
      "url": "https://open-meteo.com/en/docs/historical-weather-api",
      "excerpt": "The documentation references /v1/archive as the endpoint for retrieving historical weather data, accessible via the base URL shown in examples: archive-api.open-meteo.com",
      "confidence": "high"
    },
    {
      "field": "error_format",
      "url": "https://open-meteo.com/en/docs/geocoding-api",
      "excerpt": "On error, the API returns a JSON object with HTTP 400 status and includes: \"error\": true plus a \"reason\" field explaining the issue.",
      "confidence": "high"
    },
    {
      "field": "rate_limit_requests",
      "url": "https://open-meteo.com/en/terms",
      "excerpt": "Less than 10'000 API calls per day, 5'000 per hour and 600 per minute.",
      "confidence": "high"
    },
    {
      "field": "starting_price_usd",
      "url": "https://open-meteo.com/en/pricing",
      "excerpt": "Fixed monthly price — no per-call overages or surprise charges",
      "confidence": "high"
    },
    {
      "field": "launched_at",
      "url": "https://www.home-assistant.io/integrations/open_meteo/",
      "excerpt": "The Open-Meteo service was introduced in Home Assistant 2022.2, and it's used by 2.7% of the active installations.",
      "confidence": "medium"
    },
    {
      "field": "notable_customers",
      "url": "https://www.home-assistant.io/integrations/open_meteo/",
      "excerpt": "The Open-Meteo integration integrates the free weather forecast from Open-Meteo with Home Assistant.",
      "confidence": "high"
    },
    {
      "field": "webhooks_supported",
      "url": "https://open-meteo.com/en/docs",
      "excerpt": "Simple JSON API — HTTP GET, no authentication, CC BY 4.0 data licence",
      "confidence": "medium"
    },
    {
      "field": "mcp_server_available",
      "url": "https://github.com/open-meteo/open-meteo",
      "excerpt": "Free Weather Forecast API for non-commercial use",
      "confidence": "medium"
    },
    {
      "field": "free_tier_details",
      "url": "https://open-meteo.com/en/terms",
      "excerpt": "You may only use the free API services for non-commercial purposes.",
      "confidence": "high"
    },
    {
      "field": "self_serve_signup",
      "url": "https://open-meteo.com/en/pricing",
      "excerpt": "Payments via Stripe; manage subscriptions in customer portal.",
      "confidence": "high"
    },
    {
      "field": "enterprise_plan_available",
      "url": "https://open-meteo.com/en/pricing",
      "excerpt": "Commercial use: ✅, Monthly budget: >50M calls / month, All features included, Custom Solutions and Priority Support available",
      "confidence": "high"
    },
    {
      "field": "sla_published",
      "url": "https://open-meteo.com/en/pricing",
      "excerpt": "99.9% uptime target for paid plans on reserved servers",
      "confidence": "high"
    },
    {
      "field": "documented_rate_limits",
      "url": "https://open-meteo.com/en/pricing",
      "excerpt": "600 calls / min, 5.000 calls / hour, 10.000 calls / day, 300.000 calls / month",
      "confidence": "high"
    },
    {
      "field": "known_restrictions",
      "url": "https://open-meteo.com/en/terms",
      "excerpt": "Operating websites or apps that have subscriptions or display advertisements and Integrating our service into commercial products or promotional activities.",
      "confidence": "high"
    },
    {
      "field": "known_restrictions",
      "url": "https://open-meteo.com/en/features",
      "excerpt": "15-minutely data is available for Central Europe and North America, interpolated from hourly model output elsewhere.",
      "confidence": "high"
    },
    {
      "field": "auth_methods",
      "url": "https://open-meteo.com/en/docs/geocoding-api",
      "excerpt": "Only required to commercial use to access reserved API resources for customers. The server URL requires the prefix customer-.",
      "confidence": "high"
    },
    {
      "field": "base_url",
      "url": "https://open-meteo.com/en/docs",
      "excerpt": "Primary endpoint: /v1/forecast",
      "confidence": "high"
    },
    {
      "field": "api_version",
      "url": "https://open-meteo.com/en/docs",
      "excerpt": "Base URL: https://api.open-meteo.com/v1/forecast",
      "confidence": "high"
    },
    {
      "field": "error_format",
      "url": "https://open-meteo.com/en/docs",
      "excerpt": "In case an error occurs, for example a URL parameter is not correctly specified, a JSON error object is returned with a HTTP 400 status code.",
      "confidence": "high"
    },
    {
      "field": "rate_limit_requests",
      "url": "https://open-meteo.com/en/pricing",
      "excerpt": "600 calls / min",
      "confidence": "high"
    },
    {
      "field": "starting_price_usd",
      "url": "https://openmeteo.substack.com/p/api-subscriptions-for-commercial",
      "excerpt": "$29 per month and provides 1 million API calls per month. It includes access to the Weather Forecast, Marine, Air Quality, Geocoding, Elevation, and Flood APIs",
      "confidence": "high"
    },
    {
      "field": "launched_at",
      "url": "https://open-meteo.com/en/about",
      "excerpt": "© 2022-2026 Copyright: Open-Meteo.com",
      "confidence": "medium"
    },
    {
      "field": "notable_customers",
      "url": "https://github.com/open-meteo/open-meteo",
      "excerpt": "Home Assistant - A popular open source smart home platform",
      "confidence": "high"
    },
    {
      "field": "gdpr",
      "url": "https://open-meteo.com/en/terms",
      "excerpt": "All log files will be deleted after a period of 90 days.",
      "confidence": "low"
    },
    {
      "field": "sandbox_available",
      "url": "https://open-meteo.com/en/docs",
      "excerpt": "Only required to commercial use to access reserved API resources for customers.",
      "confidence": "medium"
    }
  ],
  "fields_not_found": [
    "soc2",
    "hipaa",
    "gdpr",
    "iso_27001",
    "pci_dss",
    "exact Enterprise plan monthly price (contact sales only)",
    "deprecation_policy_url",
    "sla_url",
    "mcp_url",
    "idempotency_supported",
    "webhook_signing",
    "webhook_events_url"
  ],
  "source_confidence": "high",
  "last_verified_at": "2026-06-14T00:00:00.000Z",
  "contribute": {
    "note": "This data is crowd-editable. Suggest corrections or leave a review via these endpoints - no auth required, requests are rate-limited, and every submission is reviewed before it goes live. For a field edit, {field} is any key in this response and a citation is required.",
    "endpoints": [
      {
        "action": "review",
        "label": "Leave a review or comment",
        "method": "POST",
        "url": "https://apio.sh/api/feedback/open-meteo",
        "example_body": {
          "kind": "review",
          "rating": 5,
          "body": "Your experience with this API…"
        }
      },
      {
        "action": "field_edit",
        "label": "Suggest a correction to a field (cite a source)",
        "method": "POST",
        "url": "https://apio.sh/api/suggest/open-meteo/{field}",
        "example_body": {
          "value": "corrected value",
          "citations": [
            {
              "url": "https://source.example/page",
              "excerpt": "supporting quote"
            }
          ],
          "note": "what changed and why"
        }
      },
      {
        "action": "new_api",
        "label": "Suggest a new API to add",
        "method": "POST",
        "url": "https://apio.sh/api/suggest/api",
        "example_body": {
          "value": {
            "name": "Acme API",
            "website_url": "https://acme.example"
          },
          "citations": [
            {
              "url": "https://acme.example"
            }
          ]
        }
      },
      {
        "action": "token",
        "label": "Optional - raise your rate limit",
        "method": "GET",
        "url": "https://apio.sh/api/feedback/token"
      }
    ]
  }
}