Open Source Radar
ax is a TypeScript-based tool that fetches a page, discovers its structure, and extracts data in a single command. It provides fetch, outline discovery, and multi-field extraction features, with a Bun-based single-file binary build and optional Nix support.
418stars
7forks
1issues
MITlicense
2026since
Star historydaily snapshots by VibeCrowd
Collecting history — the radar snapshots this repo daily. The trend line appears after 3 days of data (1 so far).
Reviewgenerated from repository data · Jul 18, 2026
What it is
The ax project provides a single-command utility to fetch, discover, and extract data from web pages. It aims to replace curl pipelines with a deterministic, local workflow that outputs structured data suitable for context windows.
ax https://api.example.com/users # curl parity — but never silent
ax https://example.com --outline # discover the page's structure
ax https://example.com '.item' --row 'title=a, href=a@href'
How it works
- Fetch: returns a full report (status, headers, ms, final URL after redirects) for each request, with JSON bodies parsed and live requests that do not cache.
- Discover: uses flags like --outline and --locate to reveal repeating structures and selector mappings without dumping raw HTML; parse requests cache for ~2 minutes and can be refreshed with --fresh or bypassed with --no-cache.
- Extract: supports --row to pull multi-field rows, --table to convert tables to keyed rows, and --where to filter with an expression language.
- Output: token-limited results with options like --budget to cap output and default rows as header-once TSV, with --json for JSON output.
Getting started
Install:
curl -fsSL https://ax.yusuke.run/install | sh
Nix (optional):
# Run without installing
nix run github:yusukebe/ax
# Install into your profile
nix profile install github:yusukebe/ax
Usage examples are shown in the README:
ax https://api.example.com/users
Recent releases
- v0.1.17 (2026-07-17): fix: escape generated CSS selectors by @yearth in https://github.com/yusukebe/ax/pull/37
- v0.1.16 (2026-07-17): fix(security): avoid caching compound credential query params by @yearth in https://github.com/yusukebe/ax/pull/36
- v0.1.15 (2026-07-16): fix(fetch): use curl default Content-Type for data flags by @yearth in https://github.com/yusukebe/ax/pull/35
- v0.1.14 (2026-07-15): fetch: expose final URL after redirects by @yearth in https://github.com/yusukebe/ax/pull/34
- v0.1.13 (2026-07-15): ci: validate the flake with real nix after each release bump by @yusukebe in https://github.com/yusukebe/ax/pull/32
Full changelog: https://github.com/yusukebe/ax/compare/v0.1.16...v0.1.17
Traction
- Stars: 418
- Forks: 7
- Open issues: 1
Behind the repo
- The project is authored by yusukebe and uses a Bun-based single-file binary approach with linkedom for DOM parsing.
Caveats
- License: MIT
- Created: 2026-07-06
- Last push: 2026-07-12
- Language: TypeScript
