Command line interface for tide predictions. Search for stations, view high/low tides, and generate water level timelines from your terminal.
brew install openwatersio/tap/neapscurl -fsSL https://raw.githubusercontent.com/openwatersio/neaps/main/install.sh | shnpm install -g @neaps/cliPre-built binaries for macOS (Apple Silicon), Linux, and Windows are available on the GitHub Releases page.
Search for tide prediction stations by name, region, or country:
neaps stations "san francisco"Find stations near a location:
neaps stations --near 37.8,-122.5Combine search with proximity:
neaps stations "portland" --near 45.5,-122.7Options:
| Flag | Description |
|---|---|
-n, --near <lat,lon> |
Find stations near coordinates |
--ip |
Use IP geolocation to find nearby stations |
-l, --limit <n> |
Maximum results (default: 10) |
-a, --all |
Show all matching stations (no limit) |
-f, --format <format> |
Output format: text, json |
Get predicted high and low tides for a station:
neaps extremes --station noaa/9414290Use your current location:
neaps extremes --ipOptions:
| Flag | Description |
|---|---|
-s, --station <id> |
Station ID |
-n, --near <lat,lon> |
Find nearest station to coordinates |
--ip |
Use IP geolocation to find nearest station |
--start <date> |
Start date in ISO format (default: now) |
--end <date> |
End date (default: 72h from start) |
-u, --units <units> |
meters or feet (default: meters) |
-f, --format <format> |
Output format: text, json |
Get a water level timeline with an ASCII chart:
neaps timeline --station noaa/9414290Specify a date range and interval:
neaps timeline --station noaa/9414290 --start 2026-01-01 --end 2026-01-02 --interval 30Options:
| Flag | Description |
|---|---|
-s, --station <id> |
Station ID |
-n, --near <lat,lon> |
Find nearest station to coordinates |
--ip |
Use IP geolocation to find nearest station |
--start <date> |
Start date in ISO format (default: now) |
--end <date> |
End date (default: 24h from start) |
-u, --units <units> |
meters or feet (default: meters) |
--interval <minutes> |
Minutes between data points (default: 60) |
-f, --format <format> |
Output format: text, json |
Start the Neaps REST API server locally:
neaps serveSpecify a custom port:
neaps serve --port 8080Options:
| Flag | Description |
|---|---|
-p, --port <n> |
Port to listen on (default: 3000) |
All commands support --format json for machine-readable output:
neaps extremes --station noaa/9414290 --format json
neaps timeline --station noaa/9414290 --format json
neaps stations "seattle" --format jsonMIT