{"openapi":"3.1.0","info":{"title":"Tides API","version":"1.0.0","description":"High and low tide predictions for thousands of US coastal stations, powered by NOAA CO-OPS. Search the station directory by state or name, pull full station metadata (coordinates and time zone), and get tide predictions as high/low events or an hourly height series for up to seven days, in feet or metres and against the datum of your choice (MLLW, MSL, MHHW and more). Delivered through a fast, reliable API with clear errors for invalid stations. Ideal for boating and sailing, fishing and surfing, ports and logistics, beach and tourism services and coastal planning.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/tides-api","description":"oanor gateway"}],"tags":[{"name":"Tides"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/predictions":{"get":{"operationId":"get_v1_predictions","tags":["Tides"],"summary":"Tide predictions","description":"","parameters":[{"name":"station","in":"query","required":true,"description":"NOAA station id","schema":{"type":"string"},"example":"9414290"},{"name":"days","in":"query","required":false,"description":"1-7 (default 2)","schema":{"type":"string"},"example":"2"},{"name":"interval","in":"query","required":false,"description":"hilo | hourly (default hilo)","schema":{"type":"string"},"example":"hilo"},{"name":"datum","in":"query","required":false,"description":"MLLW | MSL | MHHW | … (default MLLW)","schema":{"type":"string"},"example":"MLLW"},{"name":"units","in":"query","required":false,"description":"english | metric (default english)","schema":{"type":"string"},"example":"english"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":8,"datum":"MLLW","units":"feet","station":"9414290","interval":"high/low","predictions":[{"time":"2026-05-30 05:49","type":"low","value":-0.663},{"time":"2026-05-30 13:10","type":"high","value":4.355},{"time":"2026-05-30 17:17","type":"low","value":3.056},{"time":"2026-05-30 23:18","type":"high","value":5.931},{"time":"2026-05-31 06:23","type":"low","value":-0.738},{"time":"2026-05-31 13:53","type":"high","value":4.394},{"time":"2026-05-31 17:55","type":"low","value":3.225},{"time":"2026-05-31 23:51","type":"high","value":5.869}]},"meta":{"timestamp":"2026-05-30T18:17:02.250Z","request_id":"1732eb99-af40-4919-b220-0527037f3df2"},"status":"ok","message":"Predictions retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/station":{"get":{"operationId":"get_v1_station","tags":["Tides"],"summary":"Station metadata","description":"","parameters":[{"name":"id","in":"query","required":true,"description":"NOAA station id","schema":{"type":"string"},"example":"9414290"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"id":"9414290","name":"San Francisco","state":"CA","tidal":true,"latitude":37.806305,"timezone":"PST","longitude":-122.46589},"meta":{"timestamp":"2026-05-30T18:17:02.937Z","request_id":"6c4c3611-dce1-4a40-80c9-21b5f448b1dd"},"status":"ok","message":"Station retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/stations":{"get":{"operationId":"get_v1_stations","tags":["Tides"],"summary":"List / search tide stations","description":"","parameters":[{"name":"state","in":"query","required":false,"description":"US state code filter","schema":{"type":"string"},"example":"CA"},{"name":"search","in":"query","required":false,"description":"Filter by station name","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"1-200 (default 25)","schema":{"type":"string"},"example":"25"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"total":192,"returned":25,"stations":[{"id":"9410032","name":"Wilson Cove, San Clemente Island","type":"R","state":"CA","latitude":33.005001068115234,"longitude":-118.55699920654297},{"id":"9410068","name":"San Nicolas Island","type":"S","state":"CA","latitude":33.2667,"longitude":-119.497},{"id":"9410079","name":"Avalon, Santa Catalina Island","type":"R","state":"CA","latitude":33.345001220703125,"longitude":-118.32499694824219},{"id":"9410092","name":"Catalina Harbor, Santa Catalina Island","type":"S","state":"CA","latitude":33.4317,"longitude":-118.503},{"id":"9410120","name":"Imperial Beach","type":"S","state":"CA","latitude":32.5783,"longitude":-117.135},{"id":"9410135","name":"South San Diego Bay","type":"R","state":"CA","latitude":32.62910079956055,"longitude":-117.10780334472656},{"id":"9410152","name":"National City, San Diego Bay","type":"S","state":"CA","latitude":32.665,"longitude":-117.118},{"id":"9410166","name":"San Diego, Quarantine Station","type":"S","state":"CA","latitude":32.7033,"longitude":-117.235},{"id":"9410170","name":"SAN DIEGO (Broadway)","type":"R","state":"CA","latitude":32.71555555555555,"longitude":-117.1766666666667},{"id":"9410196","name":"Mission Bay, Campland","type":"R","state":"CA","latitude":32.793701171875,"longitude":-117.22380065917969},{"id":"9410230","name":"La Jolla (Scripps Institution Wharf)","type":"R","state":"CA","latitude":32.86688888888889,"longitude":-117.2571388888889},{"id":"9410580","name":"Newport Bay Entrance, Corona del Mar","type":"R","state":"CA","latitude":33.6033,"longitude":-117.883},{"id":"9410583","name":"Balboa Pier, Newport Beach","type":"S","state":"CA","latitude":33.6,"longitude":-117.9},{"id":"9410599","name":"Santa Ana River entrance (inside)","type":"S","state":"CA","latitude":33.63,"longitude":-117.958},{"id":"9410650","name":"Cabrillo Beach","type":"S","state":"CA","latitude":33.7067,"longitude":-118.273},{"id":"9410660","name":"LOS ANGELES (Outer Harbor)","type":"R","state":"CA","latitude":33.72,"longitude":-118.272},{"id":"9410680","name":"Long Beach, Terminal Island","type":"R","state":"CA","latitude":33.7517,"longitude":-118.227},{"id":"9410686","name":"Long Beach, Inner Harbor","type":"S","state":"CA","latitude":33.7717,"longitude":-118.21},{"id":"9410738","name":"King Harbor, Santa Monica Bay","type":"S","state":"CA","latitude":33.8467,"longitude":-118.398},{"id":"9410777","name":"El Segundo, Santa Monica Bay","type":"S","state":"CA","latitude":33.9083,"longitude":-118.433},{"id":"9410840","name":"Santa Monica, Municipal Pier","type":"R","state":"CA","latitude":34.0083,"longitude":-118.5},{"id":"9410962","name":"Bechers Bay, Santa Rosa Island","type":"S","state":"CA","latitude":34.0083,"longitude":-120.047},{"id":"9410971","name":"Prisoners Harbor, Santa Cruz Island","type":"S","state":"CA","latitude":34.02,"longitude":-119.683},{"id":"9410988","name":"Cuyler Harbor, San Miguel Island","type":"S","state":"CA","latitude":34.0567,"longitude":-120.355},{"id":"9411065","name":"Port Hueneme","type":"S","state":"CA","latitude":34.1483,"longitude":-119.203}]},"meta":{"timestamp":"2026-05-30T18:17:03.959Z","request_id":"ce36d8a1-7ec4-47ea-a5b3-663c3ccb6c4d"},"status":"ok","message":"Stations retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":1000,"rps_limit":2,"hard_limit":true},{"slug":"basic","name":"Basic","price_cents_month":400,"monthly_call_quota":30000,"rps_limit":5,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":1400,"monthly_call_quota":150000,"rps_limit":15,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":4400,"monthly_call_quota":1000000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/tides-api"}