Documentation

Blacklane CLI

blacklane-pp-cli

Install

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

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

Upfront chauffeur quotes from the terminal — transfer and hourly, with a local price history no other tool has.

Quote Blacklane's fixed all-inclusive chauffeur fares (airport transfers and by-the-hour) by address, compare vehicle classes, and keep a searchable local log of every quote. Addresses resolve via OpenStreetMap — no API key, no login, no booking.

Created by @omarshahine (Omar Shahine).

Quick Start

# Point-to-point transfer quote across vehicle classes.
blacklane-pp-cli quote "San Francisco Airport" "Union Square San Francisco" --at 2026-06-25T15:00

# By-the-hour chauffeur quote (3 hours).
blacklane-pp-cli quote "Union Square San Francisco" --hourly 3 --at 2026-06-25T15:00

# Inspect a vehicle class's models, capacity, and features.
blacklane-pp-cli catalog business

Unique Features

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

Local state that compounds

  • watch — Track a saved route's price over time and flag drops.

    Reach for this to catch chauffeur price drops before a trip.

    blacklane-pp-cli watch "San Francisco Airport" "Union Square San Francisco" --at 2026-06-25T15:00 --agent
    
  • compare — Quote one route across many departure times to find the cheapest.

    Use when the pickup time is flexible and price matters.

    blacklane-pp-cli compare "JFK Airport" "Times Square New York" --dates 2026-06-20T15:00,2026-06-21T15:00 --agent
    
  • log — Every quote saved to SQLite, full-text searchable and SQL-queryable.

    Use to recall and compare past quotes offline.

    blacklane-pp-cli search "Times Square" --agent
    

Trip planning

  • trip — Quote a sequence of legs and total the fares.

    Use to budget a full day of ground transport.

    blacklane-pp-cli trip --leg "JFK Airport>Times Square New York" --at 2026-06-20T09:00 --agent
    
  • fit — Recommend the cheapest vehicle class that fits the party.

    Use to avoid overpaying for more car than you need.

    blacklane-pp-cli fit "JFK Airport" "Times Square New York" --pax 3 --bags 4 --at 2026-06-20T15:00 --agent
    

Authenticated account

  • bookings — List your upcoming and past Blacklane rides (requires auth login).

    Pull your ride history/status without opening the site.

    blacklane-pp-cli bookings --when upcoming --agent
    
  • me — Show your Blacklane profile (requires auth login).

    Confirm which account the CLI is acting as.

    blacklane-pp-cli me --agent
    
  • wallet — Show wallet credits and vouchers (requires auth login).

    Check available credits before booking.

    blacklane-pp-cli wallet --agent
    

Booking

  • book — Quote and assemble a booking, then open browser checkout for payment under --confirm. Never charges.

    Assemble and price a ride in the terminal, confirm payment yourself in the browser.

    blacklane-pp-cli book 'JFK Airport' 'Times Square New York' --at 2026-06-25T15:00 --class business
    

Recipes

Quote and keep only class + price

blacklane-pp-cli quote "JFK Airport" "Times Square New York" --at 2026-06-20T15:00 --agent --select packages.title,packages.grossAmount,packages.currency

Narrow a verbose quote to just the class and total.

Find the cheapest departure

blacklane-pp-cli compare "JFK Airport" "Times Square New York" --dates 2026-06-20T15:00,2026-06-21T09:00,2026-06-22T09:00 --agent

Fan out quotes across times and rank by price.

Usage

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

Commands

catalog

Vehicle-class service catalog (models, capacity, features)

  • blacklane-pp-cli catalog <slug> - Get a vehicle class by slug (business, first, van)

prices

Raw pricing quotes (prefer the top-level 'quote' command)

  • blacklane-pp-cli prices - Request prices for a journey (raw body; see 'quote' for a friendly interface)

Output Formats

# Human-readable table (default in terminal, JSON when piped)
blacklane-pp-cli catalog mock-value

# JSON for scripting and agents
blacklane-pp-cli catalog mock-value --json

# Filter to specific fields
blacklane-pp-cli catalog mock-value --json --select id,name,status

# Dry run — show the request without sending
blacklane-pp-cli catalog mock-value --dry-run

# Agent mode — JSON + compact + no prompts in one flag
blacklane-pp-cli catalog 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
  • Explicit retries - add --idempotent to create retries when a no-op success is acceptable
  • Confirmable - --yes for explicit confirmation of destructive actions
  • Piped input - write commands can accept structured input when their help lists --stdin
  • 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

blacklane-pp-cli doctor

Verifies configuration and connectivity to the API.

Authentication

Quotes, catalog, and geocoding need no auth. The account commands and book use your own Blacklane login — easiest via Chrome:

blacklane-pp-cli auth login --chrome    # imports your 24h access token from Chrome (non-invasive)
# durable alternative: pbpaste | blacklane-pp-cli auth login   (refresh token from DevTools)

Credentials are stored owner-only at ~/.config/blacklane-pp-cli/auth.json. book never charges — payment (Braintree + 3-D Secure) is completed by you in the browser.

Configuration

Config file: ~/.config/blacklane-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

  • Quote returns no vehicle classes — The route may be outside Blacklane's service area, or the date is in the past — try a major city/airport and a future time.
  • Address resolves to the wrong place — Pass more specific text or use --pickup-lat/--pickup-lng (and --dropoff-lat/lng) to set coordinates directly.

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