Build a daily LinkedIn job alert in 25 lines of Python (no login, no browser)
Description and use
A 25‑line Python script pulls all new LinkedIn job postings for specified keywords, appends only unseen jobs to a CSV, and can be scheduled daily via cron or Apify scheduler.
Problem
Collect every new LinkedIn job posting for specific keywords daily and store them in a CSV without logging in or using a browser.
Outcome
The script runs in 25 lines, appends only new jobs to a CSV, and can be scheduled daily. It uses Apify’s actor to scrape public LinkedIn job pages without login.
Workflow
- Install Python 3 and apify-client via pip.
- Create a free Apify account and obtain an API token.
- Set APIFY_TOKEN environment variable and run the script.
- The script calls the Apify actor with search queries, location, datePosted, workplaceTypes, maxJobsPerSearch, and onlyNewJobs=True.
- Retrieve jobs from the actor’s dataset.
- Write new jobs to linkedin_jobs.csv, appending if file exists.
- Print count of new jobs added.
- Schedule the script with cron or use Apify’s built‑in scheduler.
Evidence
I built the scraper used here. It's a paid Apify actor ($1 per 1,000 jobs; Apify's free monthly credit covers a small daily alert).
LinkedIn's job alerts email you a handful of matches whenever LinkedIn decides to. If you want every new posting for a search, in a spreadsheet, once a day, a short script does it.
Run it with APIFY_TOKEN=... python3 linkedin_jobs_to_csv.py.
The scraper reads LinkedIn's public, logged-out job pages. LinkedIn's User Agreement restricts automated access, so using it may break their terms and IPs can get blocked.
- Record date: 2026-10-22T16:26:06.700Z