# TBS Weather & Climate API – Marine Forecast

> TBS Weather & Climate API – Marine 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-10).

Returns marine weather and sea-state forecasts for any coastal coordinate, including wave height/direction/period, swell, wind waves, and ocean current data.

## Facts

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

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-marine-forecast-c0e65d33
```

Example prompt: What are the current wave and swell conditions at coordinates 36.15°N, -122.03°W? I need significant wave height, wave direction, swell height and period, and ocean current speed.

## When to prefer this

Choose this endpoint when you need detailed marine and oceanographic forecasts — wave height, swell, and ocean currents — for coastal or offshore coordinates. It is the right choice for maritime safety, shipping routing, surf forecasting, fishing, and any ocean-facing operational context. Prefer it over generic weather endpoints when wave and sea-state data are essential rather than atmospheric conditions alone.

## Known failure modes

- Missing or invalid lat/lon coordinates returns an error — both lat and lon are required together
- City name not recognized returns a location resolution error
- Coordinates too far inland (non-coastal) may return empty or unavailable marine data
- Rate limiting or payment failure returns a 402 Payment Required response
- Invalid timezone string returns a parameter error

## How this service works

Marine weather and sea-state forecast for any coastal coordinate. Returns significant wave height, wave direction and period, wind waves, swell (height, direction, period) and ocean current velocity and direction. Oceanographic conditions for shipping, offshore, maritime safety, fishing, surfing and coastal operations.

## Output

A JSON object containing the queried location (lat, lon, name, country), a marine weather forecast object with significant wave height, wave direction and period, wind wave metrics, swell height/direction/period, and ocean current velocity and direction, plus a generated_at timestamp, source identifier, request_id, and payer info.

## 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"
        }
       }
      },
      "marine": {
       "type": "object"
      },
      "source": {
       "type": "string"
      },
      "location": {
       "type": "object",
       "properties": {
        "lat": {
         "type": "number"
        },
        "lon": {
         "type": "number"
        },
        "name": {
         "type": "string"
        },
        "country": {
         "type": "string"
        }
       }
      },
      "request_id": {
       "type": "string"
      },
      "generated_at": {
       "type": "string"
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "payer": {
   "address": "0x0000000000000000000000000000000000000000",
   "network": "base"
  },
  "marine": {
   "wave_height_m": 0.38,
   "wave_period_s": 4.7,
   "wave_direction_deg": 229,
   "swell_wave_height_m": 0.2,
   "swell_wave_period_s": 5.7,
   "swell_wave_direction_deg": 256,
   "ocean_current_velocity_kmh": 0.4,
   "ocean_current_direction_deg": 63
  },
  "source": "open-meteo",
  "location": {
   "lat": 48.65,
   "lon": -2.01,
   "name": "Saint-Malo",
   "country": "FR"
  },
  "request_id": "0b21c0e6-6a3f-4e2a-8b1e-2f9d4c7a1e55",
  "generated_at": "2026-08-09T12:00:00.000Z"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/tbs-weather-climate-api-marine-forecast-c0e65d33/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)
