Getting Started
Install
npm (recommended)
npm install -g seaportal
Go
go install github.com/pinchtab/seaportal/cmd/seaportal@latest
Binary
Download from GitHub Releases.
Quick Usage
# Extract content from a URL seaportal https://example.com # JSON output seaportal --json https://example.com # Accessibility snapshot seaportal --snapshot https://example.com # Fast mode (bail early if browser needed) seaportal --fast https://example.com
Subcommands
seaportal sitemap https://example.com/sitemap.xml # flatten a sitemap seaportal feed https://example.com/feed.xml # parse RSS / Atom / JSON Feed seaportal mcp # run as an MCP server over stdio
See the CLI reference for all flags and the MCP reference for the server tools.
What to expect
SeaPortal is a fast first-pass triage that fails over, not a universal fetcher.
On reachable static/SSR pages, extraction is typically p50 ~1s / p95 ~2s; across the
raw open web the tail is far longer (p90 >10s) and only ~40% of the Tranco top-1000
hosts return HTML at all (~53% once dead CDN/DNS infra domains are excluded). Set
--timeout and route on the browser-recommendation signal rather than assuming every
URL extracts โ see Reliability.
As a Library
The public package is the module root, github.com/pinchtab/seaportal:
package main
import (
"fmt"
"github.com/pinchtab/seaportal"
)
func main() {
result := seaportal.FromURL("https://example.com")
fmt.Println(result.Content) // extracted Markdown
}
Next Steps
- Architecture โ how SeaPortal works
- Contributing โ how to contribute
- API Reference โ Go library API
- CLI Reference โ command-line flags and subcommands