Endpoint · searchGETapi.geoprimitives.dev /v1/marine/hazards ?lat=57.0405&lon=-135.3421&radiusMetres=250
Give it a latitude, a longitude and a radius in metres and it answers with every charted underwater rock, obstruction and wreck inside that circle, nearest first, each with its…
Read more
Give it a latitude, a longitude and a radius in metres and it answers with every charted underwater rock, obstruction and wreck inside that circle, nearest first, each with its charted depth, its water level effect, its name where the chart names it, and the geodesic distance from your position. Parameters go in the query string: this is a GET, there is no body. NOT FOR NAVIGATION, stated first because it is a condition of using the source. Derived from NOAA Electronic Navigational Charts and redistributed; not an official NOAA ENC, and it does not meet federal chart carriage regulations under 33 CFR 164 or SOLAS chapter V. Every response repeats this under `disclaimer`. NOAA and NOAA ENC are registered trademarks of NOAA, which does not endorse this service. COVERAGE is the same 65 cells as GET /v1/marine/depth: bands 3 to 5 over Sitka Sound; Kasaan Bay and Clarence Strait; Metlakatla, Ketchikan and Revillagigedo Channel; Juneau, Gastineau Channel and Lynn Canal; and Cordova with eastern Prince William Sound. Not statewide and not the whole coast. The check reads the coordinate, so it happens after payment; a position off the charts is refused with outside_coverage, which does not settle. Every response repeats the coverage under `coverage`. WHAT AN EMPTY ANSWER MEANS, because this is the one that can hurt: an empty list means the chart shows nothing there, not that the water is clear. Read the zone of confidence from GET /v1/marine/depth for the same position before you read anything into a clean result. Zones C, D and U mean the area was never fully searched and NOAA says so; in zone D large depth anomalies may be expected. Only three S-57 classes are searched -- UWTROC, OBSTRN and WRECKS -- so a charted danger that is a buoy, a cable, a fish haven area, a spoil ground or a restricted area is not in this store and will not appear. WHICH CHART ANSWERS, and why it is not just one: the largest-scale cell covering each part of the search wins, applied per location raOverview
Grade?
UNRATED
0 of 30 paid calls toward a letter
Price
$0.005 per call
Paid calls
none yet
delivery unknown until someone pays
More info
Seller?
URL
https://api.geoprimitives.dev/v1/marine/hazards?lat=57.0405&lon=-135.3421&radiusMetres=250
Seen
first 34 days ago · last 14 days ago
54 free handshakes
Payment
Pays through
x402
Offered on?
Base USDC
Listed on?
Base
Score, from free handshakes onlyweights 2026.09.6
UN
RATED
RATED
0.728 liveness verified, no letter
To a letter · 30 paid calls
0 of 30
Held down by latency p95 · gap to 1.000 is 0.272: 0.072 uncertain ? + 0.200 short ? · 0.072 to B
| Component | Weight | Measured | Lower bound ? | Adds | Short ? | Uncertain ? | |
|---|---|---|---|---|---|---|---|
| latency p95costs the most it answered as fast as its class |
0.20 | 0.00 | 0.000 | 0.000 | −0.200 | 0 | |
| liveness it answered at all |
0.60 | 1.00 | 0.879 | 0.528 | 0 | −0.072 | |
| price stability the price stayed where it was listed |
0.20 | 1.00 | 1.000 | 0.200 | 0 | 0 | |
| Composite | 1.00 | 0.728 | gap to 1.000 = 0.272 · 0.200 short · 0.072 uncertain | 0.728 | −0.200 | −0.072 |
Not measured: correctness · nobody paid; honesty · nobody paid; schema conformance · no answer had a published shape to check
The multiplication, written out
0.200 × 0.000 latency p95
+ 0.600 × 0.879 liveness
+ 0.200 × 1.000 price stability
= 0.728 → UNRATED: 51 of 30 paid calls weights 2026.09.6 · 51 samples · seed cap_01M1A59RVB4EDKZSZ4MDSA4BVS|2026-08-27T02:54:20.335Z|2026.09.6
Verify it yourself
npx teppi-check https://api.geoprimitives.dev/v1/marine/hazards?lat=57.0405&lon=-135.3421&radiusMetres=250curl -s https://api.teppi.xyz/v1/trust/cap_01M1A59RVB4EDKZSZ4MDSA4BVS