Data Lookup API
GET x402-seller.onrender.com/ocean/tides
Why an agent can trust this route.
Sonar evidence is advisory. Paid delivery is shown as verified only when paid probes are available; otherwise route estimates use the unpaid handshake as a clearly labeled proxy.
Observed outcomes
U.S. coastal tide data from NOAA — when's the next high or low tide, or what's the water level right now: high/low tide predictions for the next 48 hours (product=predictions, default), or the latest observed water level (product=water_level). Identify the location by NOAA CO-OPS station ID, or just pass lat+lng and the nearest station is used automatically (distanceKm in the response says how far it is). Heights in feet above MLLW datum, times in GMT.
Resource: x402-seller.onrender.com/ocean/tides
Network: eip155:8453 · Asset: 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 · Pay to: 0xbd61dfb01f81c91f02b0ccd51b0220e0c8918639
Payment methods: — · Last validation: 2026-09-14 16:42:07.533+00
{
"input": {
"type": "object",
"required": [
"type",
"method"
],
"properties": {
"type": {
"type": "string",
"const": "http"
},
"method": {
"enum": [
"GET"
],
"type": "string"
},
"queryParams": {
"type": "object",
"required": [],
"properties": {
"lat": {
"type": "string",
"description": "Latitude — used with lng to find the nearest NOAA station when no station ID is given"
},
"lng": {
"type": "string",
"description": "Longitude — used with lat to find the nearest NOAA station when no station ID is given"
},
"product": {
"enum": [
"predictions",
"water_level"
],
"type": "string",
"description": "predictions = next 48h high/low tides (default); water_level = latest observed reading"
},
"station": {
"type": "string",
"description": "NOAA CO-OPS station ID (e.g. 9414290 for San Francisco); omit to resolve by lat/lng instead"
}
}
}
},
"additionalProperties": false
},
"output": {
"type": "object",
"required": [
"type"
],
"properties": {
"type": {
"type": "string"
},
"example": {
"type": "object",
"properties": {
"lat": {
"type": [
"number",
"null"
]
},
"lng": {
"type": [
"number",
"null"
]
},
"time": {
"type": "string",
"description": "Observation time (GMT); present only when product=water_level"
},
"datum": {
"type": "string"
},
"tides": {
"type": "array",
"description": "High/low tide predictions for the next 48 hours; present only when product=predictions"
},
"units": {
"type": "string"
},
"source": {
"type": "string"
},
"product": {
"type": "string"
},
"station": {
"type": "string"
},
"heightFt": {
"type": "number",
"description": "Observed water level in feet above MLLW; present only when product=water_level"
},
"timeZone": {
"type": "string"
},
"distanceKm": {
"type": "number",
"description": "Distance from the requested lat/lng to the station used; only present when resolved by lat/lng"
},
"preliminary": {
"type": "boolean",
"description": "True if the reading is preliminary/unverified; present only when product=water_level"
},
"stationName": {
"type": [
"string",
"null"
]
}
}
}
}
},
"paymentRequirements": [
{
"raw": {
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"extra": {
"name": "USD Coin",
"version": "2"
},
"payTo": "0xbd61dfb01f81c91f02b0ccd51b0220e0c8918639",
"amount": "1000",
"scheme": "exact",
"network": "eip155:8453",
"maxTimeoutSeconds": 300
},
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"payTo": "0xbd61dfb01f81c91f02b0ccd51b0220e0c8918639",
"scheme": "exact",
"network": "eip155:8453",
"amountAtomic": "1000"
}
]
}Source catalog records are retained separately from live endpoint observations. Sonar score, uptime, and latency are advisory metrics. CDP indexing is not inferred from validation.