Developers

The verdict, as JSON

Every spot page on this site computes one answer from live NOAA, National Weather Service and Open-Meteo data. This API returns that same computation for any of the 98 curated spots: the instant verdict for all seven activity lenses, the hero sentence, and the seven-day outlook with the best window per day. No key, no signup. Same engine, same words as the page, so the two can never disagree.

The endpoint

GET https://oceanverdict.com/api/verdict/{slug}

Slugs are the same ones in every spot URL here, listed on the spot index. An unknown slug returns 404 with a pointer back to that list. Responses are cached at the CDN for 15 minutes, which is also the polite request rate: the ocean does not change faster than that.

The MCP server

The same computation is exposed as a Model Context Protocol server, streamable HTTP, no key and no session. Point an assistant at it and it gets two tools: get_verdict for one spot's full read and list_spots for the registry.

{ "ocean-verdict": { "url": "https://oceanverdict.com/api/mcp" } }

A trimmed example

{
  "spot": {
    "slug": "blue-heron-bridge-fl",
    "name": "Blue Heron Bridge",
    "state": "FL",
    "lat": 26.7845,
    "lng": -80.0448,
    "activities": ["diving", "scuba", "fishing"]
  },
  "generatedAt": "2026-08-25T14:05:12.000Z",
  "hero": {
    "voice": "wet",
    "headline": "Wait for the tide.",
    "subline": "This site works around high slack. Next window opens near 4:05 PM.",
    "activeLens": "diving"
  },
  "verdicts": {
    "diving": {
      "rating": "poor",
      "summary": "clear viz, warm 84 F water, 1-2 ft waves, 6 mph SE wind. Outside this site's high slack window right now.",
      "confidenceLabel": "full",
      "factors": [
        { "name": "Visibility", "value": "Clear", "rating": "favorable", "available": true }
      ]
    }
  },
  "week": {
    "timezone": "America/New_York",
    "byActivity": {
      "diving": {
        "bestDayIndex": 2,
        "summary": "Best day this week: Thursday, 3–5 PM. Windows here follow high slack."
      }
    }
  },
  "attribution": {
    "required": "Name Ocean Verdict and link the spot page when you publish these numbers.",
    "url": "https://oceanverdict.com",
    "license": "Free for personal and non-commercial use."
  }
}

The real response carries all seven lenses in verdicts and week.byActivity, each verdict with its full factor table, plus the in-water best window and the source list. Fields the upstream feeds cannot answer right now come back null rather than invented; when the marine model has no grid for a point, the payload says so.

Attribution and use

The API is free for personal and non-commercial use. If you publish or display these numbers, name Ocean Verdict and link the spot page you drew from. Underneath this API sit NOAA CO-OPS, the National Weather Service, Open-Meteo (CC BY 4.0, non-commercial tier) and iNaturalist; their terms travel with the data. For commercial use, get in touch first.

What it will not do

It answers for curated spots only. Arbitrary coordinates would make this a geocoding proxy, and the verified facts that make the answer trustworthy exist per spot. It also stops at seven days, because the marine models stop being honest past that.