LinkedIn Jobs Scraper
Scrape public LinkedIn jobs search result cards from a copied jobs search URL or from keywords and location, including title, company, location, job URL, logo, listed date, and visible benefits text.
Overview
LinkedIn Jobs Scraper gives agents and recruiting workflows a practical public-job-search primitive. Provide a LinkedIn jobs search URL, or a keyword and location pair, and the tool reads LinkedIn's logged-out guest results page before returning clean job cards that can feed hiring research, lead routing, market maps, or daily job monitors.
Last validated: Jul 3, 2026
Playground
Input
keywordsstringJob search keywords when search_url is not provided.
locationstringdefault: "United States"LinkedIn job search location when search_url is not provided.
company_idstringOptional LinkedIn company id filter when building a search URL.
search_urlstring (uri)Public LinkedIn jobs search URL. Use this or provide keywords.
date_posted"any" | "past_24h" | "past_week" | "past_month"default: "any"Optional LinkedIn date filter when building a search URL.
max_resultsintegerdefault: 10Maximum job cards to return.
Output
jobsobject[]requiredPublic LinkedIn job result cards in result order
countintegerrequiredNumber of job cards returned
search_urlstringrequiredFetched LinkedIn jobs search URL
query_titlestringPage title or search heading
total_results_labelstringVisible result count label when LinkedIn exposes it
Examples
openai-jobs
{
"keywords": "openai",
"location": "United States",
"max_results": 3
}Use cases
FAQ
Does LinkedIn Jobs Scraper require LinkedIn login cookies?
No. Version 0.1 reads the public guest jobs search page and does not use LinkedIn passwords, exported sessions, private cookies, or private API tokens.
Can I paste a LinkedIn jobs search URL?
Yes. Paste a public LinkedIn jobs search URL to preserve LinkedIn's own filters, or provide keywords and location and let the tool build the search URL.
Does this version return full job descriptions?
No. Version 0.1 returns search result cards. Full job descriptions, recruiter profiles, company enrichment, and logged-in filters should be added as separate validated tool slices.
Use it anywhere
MCP (Claude, Cursor, any client)
# Add the Better Fetch MCP connector (or paste the URL into # Claude → Settings → Connectors → Add custom connector): claude mcp add --transport http better-fetch https://betterfetch.co/api/mcp \ --header "Authorization: Bearer bf_your_key_here" # Then ask for the tool by name: linkedin_jobs_scraper
REST
curl -sS -X POST "https://betterfetch.co/api/tools/linkedin_jobs_scraper/run" \
-H "Authorization: Bearer bf_your_key_here" \
-H "Content-Type: application/json" \
-d '{"input": {"keywords":"openai","location":"United States","max_results":3}}'Run locally
git clone https://github.com/better-fetch/linkedin-jobs-scraper && cd linkedin-jobs-scraper && npm i
BETTER_FETCH_API_KEY=bf_your_key_here npx bf-tool run --input '{"keywords":"openai","location":"United States","max_results":3}'