CLI Reference
Run the CLI with npx on Node.js 22 or newer (or bunx, etc.):
npx @chrisdothtml/job-scraper jobs Airbnbnpx @chrisdothtml/job-scraper jobs Airbnb --title engineer --location remotenpx @chrisdothtml/job-scraper job 'https://job-boards.greenhouse.io/airbnb/jobs/1234567'The jobs command lists postings; title and location filters are literal and case-insensitive. Fetch a posting relevant to the user’s request with job and its URL. For a company name, use job <company> --id <id>; explicit boards use job --scraper <ScraperName> --slug <slug> --id <id>. An empty listing means no matching jobs were returned; report retrieval errors as failures.
Choose an output format
Section titled “Choose an output format”For listings, jobs --format jsonl emits one complete JSON record per line, with a final newline. Empty results produce no output. Save a successful listing once, then search it locally without fetching the board again:
npx @chrisdothtml/job-scraper jobs Airbnb --format jsonl > jobs.jsonl \ && grep -iF 'engineer' jobs.jsonl&& runs the filter only after successful retrieval; a grep exit code of 1 means no matches. grep searches all fields in each record. Use --title and --location for field-specific filtering; they also work with JSONL output. JSONL is available only for jobs; both commands support Markdown (the default) and JSON.
Job fetches default to complete Markdown. This accounts for the posting’s fields but Markdown is not byte-lossless. --mode compact is an opt-in selective summary and can omit short text or structured data. Use --format json when the exact returned Job and content string must be preserved:
npx @chrisdothtml/job-scraper job 'https://job-boards.greenhouse.io/airbnb/jobs/1234567' --format markdown --mode compactnpx @chrisdothtml/job-scraper job 'https://job-boards.greenhouse.io/airbnb/jobs/1234567' --format jsonSee the fetchJob API, listCompanyJobs API, and posting renderer documentation for the underlying package APIs.