82trust / 100

Weather Current

by TBS Weather & Climate API in Weather & location

x402 APIPassing, checked 56 min ago

Complete weather bundle in one call: current conditions (temperature, feels-like, humidity, wind speed/direction/gusts, pressure, cloud cover, precipitation, UV, day/night) plus 24-hour hourly and 7-day daily forecast, air quality (AQI, PM2.5, PM10, ozone), solar radiation, and severe-weather alerts. Query by city name or lat/lon. Times in the location local timezone. Most complete weather data per call.

GET https://x402.tbs-digital.com/weather/current

Last 30 days

All checks passedSome failedAll failedNot checked
Uptime
100%
Response time
179 ms typical, 179 ms slowest 5%
Last check
56 min ago
Next check
any minute now

How to call it

# See the payment challenge (nothing is charged)
curl -i -X GET "https://x402.tbs-digital.com/weather/current?city=Paris"
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client().register(
  "eip155:8453",
  new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);

// Not sure it's safe to pay? Preflight it first for $0.005:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Fx402.tbs-digital.com%2Fweather%2Fcurrent
const res = await pay("https://x402.tbs-digital.com/weather/current?city=Paris");
console.log(await res.json());

Example input

{
  "city": "Paris"
}

Example output

{
  "air_quality": {
    "aqi_european": 20,
    "ozone": 68,
    "pm2_5": 5.1
  },
  "alerts": [
    {
      "code": "uv_high",
      "message": "High UV index around midday",
      "severity": "moderate"
    }
  ],
  "astronomy": {
    "moon_illumination_pct": 99.1,
    "moon_phase": 0.52,
    "moon_phase_name": "Full moon",
    "sunrise": "2026-08-09T04:12:00Z",
    "sunset": "2026-08-09T19:34:00Z"
  },
  "current": {
    "condition": "Clear sky",
    "condition_code": "0",
    "feels_like_c": 20.1,
    "humidity_pct": 55,
    "is_day": true,
    "observed_at": "2026-08-09T11:00:00Z",
    "pressure_hpa": 1015,
    "temp_c": 21.3,
    "uv_index": 3,
    "wind_kmh": 12
  },
  "forecast": {
    "daily": [
      {
        "date": "2026-08-09",
        "temp_max_c": 25,
        "temp_min_c": 15
      }
    ],
    "hourly": [
      {
        "precip_prob_pct": 5,
        "temp_c": 22.1,
        "time": "2026-08-09T12:00:00Z"
      }
    ]
  },
  "generated_at": "2026-08-09T12:00:00.000Z",
  "location": {
    "country": "FR",
    "lat": 48.85,
    "lon": 2.35,
    "name": "Paris"
  },
  "payer": {
    "address": "0x0000000000000000000000000000000000000000",
    "network": "base"
  },
  "request_id": "0b21c0e6-6a3f-4e2a-8b1e-2f9d4c7a1e55",
  "solar": {
    "direct_radiation_wm2": 410,
    "shortwave_radiation_wm2": 512
  },
  "source": "open-meteo",
  "timezone": "Europe/Paris",
  "utc_offset_seconds": 7200
}

Security scan

  • No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.

Recent checks

WhenResultHTTPTimePrice
56 min agoPassed402179 ms$0.001
6 h agoPassed402253 ms$0.001