Quick start
From an empty terminal to a real job search, a real profile, and a real company record, in a handful of commands.
This walks the core loop: search the jobs board, fetch a job in full, look up a profile, and read a company page. The jobs commands hit the guest endpoint, so they are quick and reliable, and profile and company pages return 200 and work.
1. Search the jobs board
linkedin jobs "golang engineer" -n 25
Each row is a job stub from the anonymous guest endpoint. Narrow it with the filters, for example remote jobs posted in the last week:
linkedin jobs "golang engineer" --remote 2 --posted r604800 -n 25
Want full job records instead of thin stubs? Add --hydrate to follow each stub
to its detail page:
linkedin jobs "golang engineer" --hydrate -n 10 --output json
2. Fetch one job in full
linkedin job 3801234567
job takes a job id or a full URL and returns the title, company, location,
applicant count, posting date, full description, and criteria (seniority,
employment type, job function, industries). The same record as JSON:
linkedin job 3801234567 --output json
3. Look up a profile
profile takes a slug, an /in/<slug> path, or a full URL:
linkedin profile williamhgates
It reads the page's Person JSON-LD. Add --posts to also emit the member's
recent posts, or --articles for their long-form articles (if both are given,
--posts wins):
linkedin profile williamhgates --posts
Profile and company pages return 200 and work. If you do see exit code 4
("auth required") on a normally-working surface, it usually means IP-level
rate-limiting; slow down with --rate or lend a signed-in session with
--cookies (see troubleshooting).
4. Read a company page
linkedin company microsoft
company reads the Organization JSON-LD. Add --posts to also collect the
company's recent public posts:
linkedin company microsoft --posts
5. Classify without fetching
id turns a slug, path, or URL into a (kind, id) pair without touching the
network, which is handy in scripts:
linkedin id https://www.linkedin.com/in/williamhgates
profile williamhgates
6. Compose
Output that pipes is the point. On a terminal you get a readable list view, and JSONL when piped. Pull the apply URLs off a job search:
linkedin jobs "golang engineer" --output jsonl | jq -r .url
Keep just a couple of fields off a company:
linkedin company microsoft --fields name,industry,employees
Where to next
You have the core loop. From here:
- Profiles and companies covers
profileandcompany, the JSON-LD fields, and the wall caveat. - Finding jobs goes deep on
jobssearch, its filters,--hydrate, andjobdetail. - Posts and lookups covers
post,id, andurl. - Storing records covers
--save,db, andcache. - The CLI reference lists every command and flag.