# TBS Weather & Climate API — Solar Radiation & Irradiance Forecast

> TBS Weather & Climate API — Solar Radiation & Irradiance Forecast is a paid API for AI agents from x402.tbs-digital.com, paid per call via x402, $0.001/call, status unknown (last checked 2026-10-09).

Returns shortwave (global horizontal) and direct normal irradiance (W/m²) and sunshine duration forecasts for any latitude/longitude or city, for solar energy and PV yield estimation.

## Facts

- Endpoint: GET https://x402.tbs-digital.com/weather/solar?utm_source=zero.xyz
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-09
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/tbs-weather-climate-api-solar-radiation-irradiance-forecast-aa108767
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_X4I6bzrNa17y6mprSZXrn

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability tbs-weather-climate-api-solar-radiation-irradiance-forecast-aa108767
```

Example prompt: What's the solar radiation forecast for Austin, Texas — give me the shortwave global horizontal and direct irradiance in W/m² so I can estimate how much power my rooftop solar panels will generate this week?

## When to prefer this

Choose this endpoint when you specifically need solar radiation and irradiance data (shortwave, direct, sunshine duration) for PV yield modeling, solar farm planning, or renewable energy forecasting. Prefer it over general weather endpoints when the primary need is energy-oriented solar metrics rather than temperature, wind, or precipitation. It is especially suitable for agents building photovoltaic production forecasts or comparing solar potential across geographic locations.

## Known failure modes

- Missing both lat/lon and city — returns error requiring at least one location input
- Invalid latitude (outside -90..90) or longitude (outside -180..180) — returns validation error
- Unrecognized city name — may return empty results or geocoding failure
- Invalid IANA timezone string — may cause timezone parsing error
- Payment failure via x402 protocol — request rejected before data is returned
- Upstream weather model unavailability — may return 503 or empty solar data

## How this service works

Solar radiation and irradiance forecast for any lat/lon. Returns shortwave (global horizontal) and direct radiation in W/m2 and sunshine duration. For solar energy production forecasting, photovoltaic (PV) yield estimation and renewable-energy planning agents.

## Output

A JSON object containing a solar forecast keyed by datetime, with shortwave (global horizontal) irradiance and direct radiation values in W/m², sunshine duration, location details (lat, lon, name, country), timezone, UTC offset, a unique request_id, and generation timestamp. Optionally includes payer address and network for x402 payment tracking.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "properties": {
      "lat": {
       "type": "number",
       "description": "Latitude -90..90 (requires lon)"
      },
      "lon": {
       "type": "number",
       "description": "Longitude -180..180 (requires lat)"
      },
      "city": {
       "type": "string",
       "description": "City name (alternative to lat/lon)"
      },
      "timezone": {
       "type": "string",
       "description": "Optional IANA timezone"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "payer": {
       "type": "object",
       "properties": {
        "address": {
         "type": "string",
         "nullable": true
        },
        "network": {
         "type": "string"
        }
       }
      },
      "solar": {
       "type": "object"
      },
      "source": {
       "type": "string"
      },
      "location": {
       "type": "object",
       "properties": {
        "lat": {
         "type": "number"
        },
        "lon": {
         "type": "number"
        },
        "name": {
         "type": "string"
        },
        "country": {
         "type": "string"
        }
       }
      },
      "timezone": {
       "type": "string"
      },
      "request_id": {
       "type": "string"
      },
      "generated_at": {
       "type": "string"
      },
      "utc_offset_seconds": {
       "type": "number"
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "payer": {
   "address": "0x0000000000000000000000000000000000000000",
   "network": "base"
  },
  "solar": {
   "sunshine_duration_s": 39600,
   "direct_radiation_wm2": 410,
   "shortwave_radiation_wm2": 512,
   "direct_normal_irradiance_wm2": 620,
   "global_tilted_irradiance_wm2": 545
  },
  "source": "open-meteo",
  "location": {
   "lat": 48.85,
   "lon": 2.35,
   "name": "Paris",
   "country": "FR"
  },
  "timezone": "Europe/Paris",
  "request_id": "0b21c0e6-6a3f-4e2a-8b1e-2f9d4c7a1e55",
  "generated_at": "2026-08-09T12:00:00.000Z",
  "utc_offset_seconds": 7200
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/tbs-weather-climate-api-solar-radiation-irradiance-forecast-aa108767/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.tbs-digital.com](https://www.zero.xyz/host/x402.tbs-digital.com/llms.txt)
