SuperAPI AI Directory

nab

Fetch any URL as clean Markdown, with HTTP/3, JS rendering, anti-fingerprinting, browser cookie auth and 1Password integration.

Open website

About this tool

Purpose

nab is a "token-thrifty" web micro-scraping tool for LLM agents, with built-in local multilingual ASR and URL monitoring. It is designed as a single Rust binary rather than a browser, with the goal of turning web pages, audio/video, and web page changes into clean content suitable for LLM context windows.

Main Capabilities

Web scraping to Markdown: Scrape any URL and output clean Markdown, with support for BM25-lite query-focused extraction and structure-aware token budgeting, reducing the token cost of web research instead of stuffing raw HTML directly into the context.

Authenticated access: Supports real browser cookies, 1Password automatic login (including TOTP/MFA), WebAuthn passkeys, fingerprint spoofing, and WAF evasion, enabling access to internal dashboards, SaaS applications, and paywalled research content.

Local multimodal analysis: Transcribe and diarize any audio/video locally on-device. On macOS arm64, FluidAudio is used by default, running Parakeet TDT v3 on the Apple Neural Engine, which is officially said to reach 131x real time for 2-hour segments, supports 25 EU languages, word-level timestamps, and optionally Qwen3-ASR for Chinese/Japanese/Korean/Vietnamese; image OCR is done via Apple Vision, supports 15 languages, and takes about 10-50 milliseconds. No cloud, no API keys required.

URL monitoring: Subscribe to any URL via MCP resources, using conditional GET, semantic diffs, and adaptive backoff, and push notifications when content changes.

Prompt injection defense (enabled by default): Treats crawled pages as hostile input and runs two local, offline guards before content reaches the agent. The Secure Ingestion guard detects and strips machine-facing, human-invisible markup (AI-targeted annotations, display:none / aria-hidden hidden text, agent-only data-* payloads, WebMCP ads), and reports at Info / Warn / Block levels. The YARA-X signature guard scans returned body text for prompt injection, data exfiltration, secret leakage, and obfuscation features, and by default redacts matching passages; NAB_YARA_ACTION=re can be setfuse directly blocks scraping, or NAB_YARA_BYPASS=1 as an audited emergency exit.

Site-specific providers: Recognizes 12 platforms, preferring APIs or stable structured page data over broad HTML scraping; falls back to standard HTML scraping plus Markdown conversion when there is no match.

Usage

Installation: Homebrew is recommended on macOS; you can also download precompiled binaries (no Rust toolchain required), or use cargo-binstall to automatically fetch the precompiled binary for your platform; installing from crates.io compiles locally and requires Rust 1.95 or newer. If installed through multiple channels, PATH order determines which version takes effect, and a built-in diagnostic command can show all nab binaries on PATH and their versions.

MCP configuration: Can be added to MCP client configurations (Claude Desktop, Cursor, Windsurf, etc.), or use the automatic installer; gemini, amazon-q, and lm-studio are also supported. The MCP server nab-mcp is a native Rust implementation, uses stdio by default, also supports Streamable HTTP, binds to localhost by default, and performs origin checks and MCP-Protocol-Version header validation.

Claude Code plugin: The repository includes a local plugin that bundles automatic nab MCP registration with Claude Elite's research, url-insight, wayback, ia, and oreilly skills, exposing the /nab workflow, covering scraping, authenticated Brave Cookie scraping, archive retrieval, and multi-source research.

Common commands: nab fetch supports --cookies brave to use an existing browser session, and --1password to handle the 1Password/TOTP flow; MCP fetch additionally supports focus, readability, max_tokens, and session parameters. nab analyze locally transcribes audio and video; nab watch turns a URL into a subscribable resource.

Use cases

  • Let LLM agents read at low token costweb content
  • Access sites requiring login or with anti-scraping measures, internal dashboards, and SaaS applications
  • Local transcription and speaker-separated audio/video processing
  • Monitor web page changes and push notifications
  • Defend against prompt injection and data exfiltration in scraping workflows

Limitations

  • By default nab fetch remains local-first and HTTP-only; pages requiring DOM execution need an external CDP endpoint configured (NAB_BROWSER_CDP_WS or --browser-cdp-url), then run nab browser or nab fetch --render. Remote browser providers may receive the URL and rendered page content, and local browser cookies are not automatically available to remote browsers.
  • The MCP server is not fully compliant with the 2026-07-28 specification: non-waiting calls are offered on that revision, including fetch, fetch_batch, submit, auth_lookup, fingerprint, validate, benchmark, watch_create, watch_list, watch_remove; login, analyze, and task are only offered when the call will not trigger elicitation or sampling; 2026-07-28 calls that trigger elicitation or sampling return a JSON-RPC error and do not wait. Sessions, elicitation, sampling, and tasks remain at 2025-11-25. crates.io builds do not have the SDK patch, so that nab-mcp does not offer 2026-07-28.
  • Two security protections (Secure Ingestion and YARA-X) are enterprise modules: free for personal and non-commercial use under PolyForm Noncommercial 1.0.0; commercial/business use requires a commercial license. All versions before v0.9.0 remain fully MIT.
  • Building from source requires Rust 1.95+; the analyze and stream commands require ffmpeg; the 1Password integration requires the optional 1Password CLI.
  • On macOS, Cookie extraction may require granting Full Disk Access to the terminal; ASR models must be downloaded separatelyLoad (approximately 542 MB).
  • The tool includes browser cookie extraction and fingerprint spoofing capabilities, and the official statement says it is intended only for legitimate scenarios, such as accessing your own authenticated content, automated testing, and authorized sites.

Companion Tools

nab is one half of the "sovereign multimodal stack," and the other half is hebb, a neuroscience-inspired memory MCP server. Combination examples include: nab analyze --diarize --include-embeddings with hebb voice_match to label speakers with names; nab fetch URL with hebb kv_set to form a personal web memory; nab watch add URL with hebb kv_set (on updates) to form a time series of changes to any web page.

Configuration and State

nab requires no configuration file and uses smart defaults: automatic browser cookie detection, randomized fingerprints, and Markdown output. Persistent state is located in ~/.nab/, and optional plugin configuration is located in ~/.config/nab/plugins.toml.