jobgrep
v0.1.0
Published
CLI for searching recent jobs across Ashby, Greenhouse, Lever, and Workable via SerpAPI
Maintainers
Readme
jobgrep
jobgrep is a Node.js CLI for searching recent jobs across Ashby, Greenhouse, Lever, and Workable listings using SerpAPI-backed Google results.
Install
npx jobgrep sourcesnpm install -g jobgrep
jobgrep sourcesSetup
jobgrep needs a SerpAPI key for search.
Use an environment variable:
export SERPAPI_API_KEY=your_key_here
jobgrep search --role "frontend engineer"Or save the key once in the app config directory:
jobgrep auth set your_key_here
jobgrep auth showAuth precedence:
SERPAPI_API_KEY- saved config from
jobgrep auth set
Quick Start
jobgrep search --role "frontend engineer" --location London --date 7d
jobgrep search --role "product designer" --json
jobgrep search --role "backend engineer" --csv --pages 3
jobgrep sourcesCommands
jobgrep search
Search recent job listings across supported boards.
Options:
--role <role>: required role or title query--level <level>:junior,mid, orsenior--location <location>: location substring match--date <range>:24h,7d, or30d--limit <count>: maximum results to return, default20--pages <count>: number of SerpAPI pages to fetch--refresh: bypass SerpAPI cache--json: emit JSON--csv: emit CSV
jobgrep sources
Print supported job board domains and local config path.
jobgrep auth set <apiKey>
Save a SerpAPI key in the local app config directory.
jobgrep auth show
Show whether jobgrep can resolve a key and whether it came from the environment or local config.
jobgrep auth clear
Remove the saved local key.
Output Modes
- Default output is a table for terminal use.
--jsonemits machine-readable JSON.--csvemits CSV withcompany,title,location,board,url,postedAt,foundAt.
Supported Boards
- Ashby:
jobs.ashbyhq.com - Greenhouse:
boards.greenhouse.io - Greenhouse hosted boards:
job-boards.greenhouse.io - Lever:
jobs.lever.co - Workable:
apply.workable.com
Notes
- Searches use live SerpAPI Google results constrained to supported board domains.
- One SerpAPI page is fetched by default; use
--pages Nfor deeper pagination. --refreshforces a fresh SerpAPI request withno_cache=true.sourcesdoes not require authentication.
Release
pnpm test
npm pack --dry-run
npm publish