Sign In

@chanmeng666/linkedin-jobs-search-cli

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@chanmeng666/linkedin-jobs-search-cli

Agent-first CLI for the LinkedIn Jobs Search API. JSON to stdout, problem+json to stderr.

latest
Source
npmnpm
Version
1.1.0
Version published
Maintainers
1
Created
Source

@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 rust

Auth

Only one input is required:

  • LJA_API_KEYlja_<keyId>_<secret> token. Mint via the dashboard (cookie-auth only).

The base URL defaults to the live deployment, so this works out of the box:

export LJA_API_KEY="lja_..."
lja search --keyword rust --location Remote

Both values can also be passed as flags, and the base URL overridden for self-hosting. Precedence is flag > env > default:

InputFlagEnvDefault
API key--api-keyLJA_API_KEY(required)
Base URL--base-urlLJA_BASE_URLhttps://linkedin-jobs-search.chanmeng-dev.workers.dev

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). Pass --verbose to see remaining quota on every billable call.

Output contract

  • Success: JSON to stdout, no pretty-print, no color, envelope unwrapped — agents see the bare data payload directly.
  • Error: RFC 7807 application/problem+json to stderr, verbatim from the API. Local argument problems (unknown command/flag, missing --id, bad --status/--format) are emitted in the same shape with code: "validation_error" and exit 4.
  • --verbose: emits one extra lja:meta line to stderr with quota / cache / rate-limit headers (X-Quota-*, X-RateLimit-*, X-Cache). stdout stays pure JSON, so 2>/dev/null always leaves machine-readable output.
  • Exit codes (mirror the wire code field):
    • 0 ok
    • 1 unauthorized
    • 2 forbidden
    • 3 not_found
    • 4 validation_error (server-side or local argument errors)
    • 5 quota_exceeded
    • 6 rate_limited
    • 7 internal_error
    • 8 network/IO error or missing API key
    • 9 unknown
    • 10 invalid_token (export download token signature invalid)
    • 11 expired_token (export download token expired)
    • 12 export_expired (R2 object lifecycle-deleted)

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

Commands mirror the MCP tool names; presets update/presets delete, history delete, and usage list extend the set for full CRUD (the MCP tool names themselves stay locked).

CommandBacking routeMCP tool
lja searchPOST /api/jobssearch_jobs
lja countries listGET /api/jobslist_countries
lja saved listGET /api/user/saved-jobslist_saved_jobs
lja saved savePOST /api/user/saved-jobssave_job
lja saved updatePUT /api/user/saved-jobsupdate_saved_job_status
lja saved deleteDELETE /api/user/saved-jobsdelete_saved_job
lja exportPOST /api/exportexport_saved_jobs
lja subscription getGET /api/billing/subscriptionget_subscription
lja presets listGET /api/user/presetslist_search_presets
lja presets savePOST /api/user/presetssave_search_preset
lja presets updatePUT /api/user/presets— (CRUD completeness)
lja presets deleteDELETE /api/user/presets— (CRUD completeness)
lja history listGET /api/user/search-historylist_search_history
lja history deleteDELETE /api/user/search-history— (CRUD completeness; omit --id to clear all)
lja usage listGET /api/user/usage— (CRUD completeness)
lja keys listGET /api/keys— (cookie-only; exits 2 forbidden)

Run lja <group> --help (e.g. lja saved --help) for the options on each group.

License

MIT.

Keywords

linkedin

FAQs

Package last updated on 19 Jun 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts