74
/100
prowl
Benchmarked May 22, 2026

WeatherAPI Verified

Real-time weather, 14-day forecast, astronomy, time zone, and sports data. Free tier: 1M calls/month. REST + JSON, API key auth.

weatherclimate api_benchmark api_keyemail_signup
Benchmark Your API

Score Breakdown

Latency 10/10
Auth Simplicity 10/10
Parseability 10/10
Error Clarity 9/10
Consistency 8/10
Documentation 8/10
Token Efficiency 8/10
First-Try Success 2/10

Benchmark Analysis Log

Full LLM thinking from the 4-phase benchmark pipeline.

Analyze
```json
{
  "service_type": "rest_api",
  "base_url": "https://api.weatherapi.com/v1",
  "auth_method": "query_param",
  "auth_config": {
    "header": null,
    "prefix": null
  },
  "endpoints": [
    {
      "path": "/current.json",
      "method": "GET",
      "purpose": "Returns real-time weather for a given location.",
      "params": {
        "key": {
          "type": "string",
          "required": true
        },
        "q": {
          "type": "string",
          "required": true
        },
        "aqi": {
          "type": "string",
          "required": false
        },
        "pollen": {
          "type": "string",
          "required": false
        }
      },
      "response_format": "json",
      "is_primary": true
    },
    {
      "path": "/forecast.json",
      "method": "GET",
      "purpose": "Returns weather forecast for up to 14 days.",
      "params": {
        "key": {
          "type": "string",
          "required": true
        },
        "q": {
          "type": "string",
          "required": true
        },
        "days": {
          "type": "integer",
          "required": true
        },
        "alerts": {
          "type": "string",
          "required": false
        },
        "aqi": {
          "type": "string",
          "required": false
        }
      },
      "response_format": "json",
      "is_primary": false
    },
    {
      "path": "/history.json",
      "method": "GET",
      "purpose": "Returns historical weather data for a given date.",
      "params": {
        "key": {
          "type": "string",
          "required": true
        },
        "q": {
          "type": "string",
          "required": true
        },
        "dt": {
          "type": "string",
          "required": true
        }
      },
      "response_format": "json",
      "is_primary": false
    },
    {
      "path": "/future.json",
      "method": "GET",
      "purpose": "Returns future weather up to 300 days ahead.",
      "params": {
        "key": {
          "type": "string",
          "required": true
        },
        "q": {
          "type": "string",
          "required": true
        },
        "dt": {
          "type": "string",
          "required": true
        }
      },
      "response_format": "json",
      "is_primary": false
    }
  ],
  "pricing_model": {
    "type": "tiered",
    "details": {},
    "free_tier": {
      "requests": 100000,
      "period": "month"
    },
    "paid_tiers": [
      {
        "name": "Starter",
        "price": "7",
        "currency": "USD",
        "requests": 3000000,
        "forecast": "7 days",
        "history": "7 days"
      },
      {
        "name": "Pro+",
        "price": "25",
        "currency": "USD",
        "requests": 5000000,
        "forecast": "300 days",
        "history": "365 days"
      },
      {
        "name": "Business",
        "price": "65",
        "currency": "USD",
        "requests": 10000000
      },
      {
        "name": "Enterprise",
        "price": "custom",
        "currency": "USD"
      }
    ]
  },
  "rate_limits": {
    "rpm": null,
    "tpm": null,
    "daily": null,
    "concurrent": null
  },
  "capabilities": [
    "real-time weather",
    "forecast weather",
    "historical weather",
    "marine weather",
    "future weather",
    "sports events",
    "weather alerts",
    "IP lookup",
    "astronomy",
    "timezone"
  ],
  "agent_readiness": {
    "supports_x402": false,
    "supports_streaming": false,
    "has_sandbox": false,
    "sdks": [],
    "agent_auth_methods": ["api_key"]
  }
}
```
Plan
```json
{
  "tests": [
    {
      "name": "basic_connectivity_and_auth",
      "endpoint": "/v1/current.json",
      "method": "GET",
      "headers": {},
      "payload": {"key": "your_api_key", "q": "London"},
      "expected_status": 200,
      "expected_behavior": "Returns real-time weather for London",
      "metrics": ["latency", "status_code"],
      "validation": {"field": "location.name", "type": "string", "min_length": 1}
    },
    {
      "name": "forecast_weather_with_valid_payload",
      "endpoint": "/v1/forecast.json",
      "method": "GET",
      "headers": {},
      "payload": {"key": "your_api_key", "q": "New York", "days": 3},
      "expected_status": 200,
      "expected_behavior": "Returns 3-day weather forecast for New York",
      "metrics": ["latency", "status_code"],
      "validation": {"field": "forecast.forecastday", "type": "array", "min_length": 3}
    },
    {
      "name": "historical_weather_with_valid_payload",
      "endpoint": "/v1/history.json",
      "method": "GET",
      "headers": {},
      "payload": {"key": "your_api_key", "q": "Los Angeles", "dt": "2023-10-01"},
      "expected_status": 200,
      "expected_behavior": "Returns historical weather data for Los Angeles on 2023-10-01",
      "metrics": ["latency", "status_code"],
      "validation": {"field": "forecast.forecastday", "type": "array", "min_length": 1}
    },
    {
      "name": "future_weather_with_invalid_date",
      "endpoint": "/v1/future.json",
      "method": "GET",
      "headers": {},
      "payload": {"key": "your_api_key", "q": "Berlin", "dt": "2025-01-01"},
      "expected_status": 400,
      "expected_behavior": "Returns error for future date exceeding limit",
      "metrics": ["status_code"],
      "validation": {"field": "error", "type": "object"}
    },
    {
      "name": "missing_required_params",
      "endpoint": "/v1/current.json",
      "method": "GET",
      "headers": {},
      "payload": {"key": "your_api_key"},
      "expected_status": 400,
      "expected_behavior": "Returns error for missing required parameter 'q'",
      "metrics": ["status_code"],
      "validation": {"field": "error", "type": "object"}
    }
  ],
  "pricing_probes": [
    {
      "name": "verify_free_tier_pricing",
      "description": "Send a request to check free tier usage",
      "endpoint": "/v1/current.json",
      "method": "GET",
      "payload": {"key": "your_api_key", "q": "Paris"},
      "check": "response.usage.requests should be less than or equal to 100000"
    }
  ],
  "stress_profile": {
    "concurrent_requests": 5,
    "duration_seconds": 10,
    "ramp_up": true
  }
}
```
Execute

0/5 tests passed

TestEndpointStatusLatency
basic_connectivity_and_authGET /v1/current.json400140ms
forecast_weather_with_valid_payloadGET /v1/forecast.json400107ms
historical_weather_with_valid_payloadGET /v1/history.json400106ms
future_weather_with_invalid_dateGET /v1/future.json400106ms
missing_required_paramsGET /v1/current.json400106ms
Interpret
{"multi_model": true, "models_used": ["openai", "claude_cli"], "model_scores": {"GPT-4o": {"overall": 68, "dimensions": {"token_efficiency": 8.0, "first_try_success": 2.0, "response_parseability": 10.0, "error_clarity": 9.0, "doc_quality": 8.0, "auth_simplicity": 10.0, "latency": 10.0, "consistency": 7.0}}, "Claude CLI": {"overall": 45, "dimensions": {"token_efficiency": 8.5, "first_try_success": 3.0, "response_parseability": 9.0, "error_clarity": 8.5, "doc_quality": 7.0, "auth_simplicity": 9.0, "latency": 9.5, "consistency": 8.0}}}, "averaged": true}

Agent Readiness

x402 Payments
Not supported
Streaming
No
Sandbox
None
Agent Auth
api_key, email_signup
SDKs
None listed
MCP Support
No

Vendor Profile

WeatherAPI.com is a high-reliability weather and geolocation API trusted by 850,000+ developers. It gives AI agents instant access to real-time conditions, hourly/daily/15-min forecasts up to 300 days ahead, historical weather from 2010, marine weather, air quality (AQI), pollen counts, solar irradiance, astronomy, sports data, IP lookup, and timezone info — all in clean JSON or XML with ~200ms average latency. Ideal for agents that need to make weather-aware decisions, enrich location context, or automate any workflow dependent on environmental conditions.

Features

Real-time weather updated every 10–15 minutesForecast up to 300 days ahead (daily & hourly); 15-min intervals on EnterpriseHistorical weather archive from 1 January 2010Marine weather with tide data (paid plans)Air Quality Index (AQI) including CO, NO2, O3, SO2, PM2.5, PM10Pollen data (real-time, forecast, and history on higher tiers)Solar irradiance and evapotranspiration dataAstronomy: sunrise, sunset, moonrise, moonset, moon phaseSports API with historical data (Enterprise)IP lookup and timezone APILocation autocomplete / Search APIBulk request support (Pro+ and above)JSON and XML response formats~200ms average response time99.99% uptime SLA on EnterpriseOpenAPI/Swagger spec availableSDKs and code libraries on GitHub

Want the full interactive view?

See operational metrics, LLM evaluations, agent readiness, and more.

Open in Dashboard