Documentation

MotoHunt CLI

motohunt-pp-cli

Install

npx -y @mvanhorn/printing-press-library install motohunt

Installs the CLI binary and the agent skill for Claude Code, Codex, Cursor, Gemini CLI, Copilot, and more. Add --cli-only or --skill-only for one half. Requires Node.

Documentation

Search motorcycle and ATV listings from the terminal — with MotoHunt's MSRP/average-price/deal-rating data exposed as structured fields no other tool gives you.

MotoHunt has no public API; this CLI scrapes its server-rendered HTML with one HTTP GET per page and returns clean JSON. It surfaces the price-research data (base MSRP, average listing price, deal rating) that makes 'is this a good deal?' answerable, ranks synced inventory by under-market gap with deal, watches saved searches for new listings and price drops, and covers the ATV sister site via --site atv.

Quick Start

# health check + selector-health probe, no network needed
motohunt-pp-cli doctor --dry-run

# best-deal Harleys near a ZIP, parsed cards as JSON
motohunt-pp-cli search --make Harley-Davidson --location 33705 --sort c --limit 30 --agent

# one listing's price-research at a glance
motohunt-pp-cli get 13256655 --agent --select title,price,base_msrp,alp,deal_rating

# same search against the ATV marketplace
motohunt-pp-cli search --site atv --style Sport --location 33705 --agent

Unique Features

These capabilities aren't available in any other tool for this API.

Price intelligence

  • get — See a listing's MSRP, average listing price, and deal rating as typed fields, not buried prose.

    Reach for this to answer 'is this listing actually a good price?' without reading the page.

    motohunt-pp-cli get 13256655 --agent --select base_msrp,alp,deal_rating
    
  • deal — Rank synced listings by how far the asking price sits below the average listing price.

    Reach for this to surface the biggest under-market deals across a whole search.

    motohunt-pp-cli deal --make Harley-Davidson --location 33705 --limit 20 --agent
    

Local state that compounds

  • watch run — Re-run saved searches and report new listings and price drops since the last run.

    Reach for this to monitor a hunt over time instead of re-searching by hand.

    motohunt-pp-cli watch run --agent
    

Coverage

  • search — Search motorcycles (motohunt.com) or ATV/UTV/SxS (atvhunt.com) from one binary via --site.

    Reach for --site atv when the hunt is four-wheelers instead of bikes.

    motohunt-pp-cli search --site atv --location 33705 --agent
    

Recipes

Best-deal Harleys near me

motohunt-pp-cli search --make Harley-Davidson --location 33705 --sort c --limit 40 --agent --select title,price,deal_rating,location

Top under-market Harleys, slimmed to the fields that matter.

Is this listing a good price?

motohunt-pp-cli get 13256655 --agent --select price,base_msrp,alp,deal_rating

Compare the ask against MSRP and the average listing price.

Watch a hunt for price drops

motohunt-pp-cli watch add --name 'gs near me' --make BMW --model R-1250-GS --location 33705 && motohunt-pp-cli watch run --agent

Save a search, then diff it over time for new listings and price drops.

Usage

Run motohunt-pp-cli --help for the full command reference and flag list.

Commands

listings

Search and inspect motorcycle/ATV listings

  • motohunt-pp-cli listings get - Fetch a single listing detail page
  • motohunt-pp-cli listings search - Search listings; returns links to listing detail pages (use the hand-built search command for parsed cards)

Output Formats

# Human-readable table (default in terminal, JSON when piped)
motohunt-pp-cli listings get mock-value

# JSON for scripting and agents
motohunt-pp-cli listings get mock-value --json

# Filter to specific fields
motohunt-pp-cli listings get mock-value --json --select id,name,status

# Dry run — show the request without sending
motohunt-pp-cli listings get mock-value --dry-run

# Agent mode — JSON + compact + no prompts in one flag
motohunt-pp-cli listings get mock-value --agent

Agent Usage

This CLI is designed for AI agent consumption:

  • Non-interactive - never prompts, every input is a flag
  • Pipeable - --json output to stdout, errors to stderr
  • Filterable - --select id,name returns only fields you need
  • Previewable - --dry-run shows the request without sending
  • Read-only by default - this CLI does not create, update, delete, publish, send, or mutate remote resources
  • Offline-friendly - sync/search commands can use the local SQLite store when available
  • Agent-safe by default - no colors or formatting unless --human-friendly is set

Exit codes: 0 success, 2 usage error, 3 not found, 5 API error, 7 rate limited, 10 config error.

Health Check

motohunt-pp-cli doctor

Verifies configuration and connectivity to the API.

Configuration

Config file: ~/.config/motohunt-pp-cli/config.toml

Static request headers can be configured under headers; per-command header overrides take precedence.

Troubleshooting

Not found errors (exit code 3)

  • Check the resource ID is correct
  • Run the list command to see available items

API-specific

  • search returns zero cards but the site shows results — the page HTML changed; run motohunt-pp-cli doctor to check selector health and re-verify the card selectors
  • only 24 results come back — raise --limit; the CLI auto-pages via ?start= in 24-row pages up to --max-pages

For agents: pass /documentation/motohunt/agents.md to install this CLI from a prompt.