Skip to content
linkedin

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: