@chanmeng666/linkedin-jobs-search-cli
v1.0.0
Published
Agent-first CLI for the LinkedIn Jobs Search API. JSON to stdout, problem+json to stderr.
Readme
@chanmeng666/linkedin-jobs-search-cli
Agent-first CLI for the LinkedIn Jobs Search API. Binary: lja.
npm i -g @chanmeng666/linkedin-jobs-search-cli
# OR (no install):
npx @chanmeng666/linkedin-jobs-search-cli search --keyword rustAuth
Both env vars are required at v0.x:
LJA_API_KEY—lja_<keyId>_<secret>token. Mint via the dashboard (cookie-auth only).LJA_BASE_URL— the API base URL (e.g.https://linkedin-jobs-search.chanmeng-dev.workers.dev). A baked-in default lands at v1.0.0 once a stable domain is provisioned (Sub-project C).
Quota
Both lja search and lja export are billable. Free tier: 50 searches + 5 exports per calendar month. Paid tier: 1,000 searches + 100 exports included on a metered Stripe subscription, plus per-event overage. Each command exits with code 5 if quota is exhausted (problem+json code: "quota_exceeded" printed to stderr).
Output contract
- Success: JSON to stdout, no pretty-print, no color, envelope unwrapped — agents see the bare
datapayload directly. - Error: RFC 7807
application/problem+jsonto stderr, verbatim from the API. - Exit codes (mirror the wire
codefield):0ok1unauthorized2forbidden3not_found4validation_error5quota_exceeded6rate_limited7internal_error8network/IO error or missing required env var9unknown
There is no interactive mode. No prompts, no spinners, no --json flag (always JSON). --help is plain text and stable — agents may cache it.
Commands (mirror MCP tool names 1:1)
| Command | Backing route | MCP tool |
|---|---|---|
| lja search | POST /api/jobs | search_jobs |
| lja countries list | GET /api/jobs | list_countries |
| lja saved list | GET /api/user/saved-jobs | list_saved_jobs |
| lja saved save | POST /api/user/saved-jobs | save_job |
| lja saved update | PUT /api/user/saved-jobs | update_saved_job_status |
| lja saved delete | DELETE /api/user/saved-jobs | delete_saved_job |
| lja export | POST /api/export | export_saved_jobs |
| lja subscription get | GET /api/billing/subscription | get_subscription |
| lja presets list | GET /api/user/presets | list_search_presets |
| lja presets save | POST /api/user/presets | save_search_preset |
| lja history list | GET /api/user/search-history | list_search_history |
| lja keys list | GET /api/keys | — (cookie-only; exits 2 forbidden) |
License
MIT.
