Smart CV-to-LinkedIn Jobs Finder
Pricing
Pay per event
Smart CV-to-LinkedIn Jobs Finder
Instantly matches your CV to relevant LinkedIn job listings using AI. Upload your resume and get a tailored list of jobs that fit your skills and experience. No manual searching—just fast, accurate job matching. Get tailored listings based on your skills, location, and commute distance.
0.0 (0)
Pricing
Pay per event
0
Total users
7
Monthly users
7
Runs succeeded
20%
Last modified
2 days ago
Job CV Matcher
Figure 1: How it works — CV → LLM → LinkedIn Jobs
Overview
Job CV Matcher makes finding relevant job postings easy and intelligent. With a few clicks:
- Upload your CV (in any supported language: PDF, DOCX, or TXT).
- LLM-powered extraction reads your CV and identifies skills, experience, desired role, and preferred location—regardless of language.
- LinkedIn scraping finds matching job postings, even if the postings are in a different language than your CV.
- Optional distance filter lets you restrict results to within X kilometers of your city.
- You receive a clear, downloadable table of job listings, each with a “Yes/No” match verdict and a short justification.
No coding is required—just upload, click Run, and review your results.
Key Benefits
LLM-Powered Matching
A state-of-the-art language model (“LLM”) reads your CV, extracts top skills, summarizes your experience, and identifies your desired role. It then “reads” each LinkedIn job description—regardless of language—and decides whether there’s a match.
- Multilingual: Works seamlessly if your CV is in Dutch, French, or any other language, and if job postings are in English, Dutch, etc.
- Context-Aware: Goes beyond simple keyword matching. The LLM understands nuance (e.g., “ETL,” “Airflow,” “Databricks”) and provides a short justification for each match.
Distance Constraint (Optional)
Set a Maximum Distance (km) to only see jobs within your preferred radius. The system automatically geocodes your city and each job location, calculates distances, and filters out farther jobs. If you leave this blank, all matches are shown regardless of location.
Zero Technical Setup
Everything runs on Apify’s platform. No local installation or CLI required.
- Open the Input tab.
- Upload your CV or paste text.
- Specify the number of LinkedIn job postings to fetch.
- (Optionally) set a maximum distance.
- Click Run.
- View real-time logs to see progress.
Downloadable, Well-Structured Results
When the run finishes, switch to Last run → Dataset. You’ll see:
- Row 1: CV components (skills, experience summary, desired role, preferred location, years of experience).
- Rows 2+: One row per matched job, with columns for job title, company, location, distance (km), posted date, match verdict (with a brief explanation), and a link to the LinkedIn posting. You can export as Excel (XLSX), CSV, or JSON.
User Flow
1. Open the Actor’s Input Tab
In the Apify Console, navigate to your Job CV Matcher actor and click Input.
2. Provide Your CV
- CV File: Drag & drop a PDF, DOCX, or TXT.
- CV Text: Paste your entire CV. (Only one is required.)
Figure 2: Enter your CV (file or pasted text).
3. Choose Number of Job Postings
Use the “+” / “–” buttons or type a number (for example, 10
or 20
). This controls how many LinkedIn listings to fetch.
4. (Optional) Set Maximum Distance (km)
If you only want local jobs, type a distance (e.g., 50
). Jobs farther than 50 km from your city are excluded. Leave blank to skip distance filtering.
5. Click Run
After you press Run, you’ll see live logs in the Console area:
- “Reading CV file…”
- “Extracting CV components via LLM…”
- “Fetching jobs from LinkedIn…”
- “Matching CV to job #1…”
- …and so on.
Figure 5: Live logs show each step as it happens.
6. Wait for Completion
Depending on the number of jobs requested and CV size, this may take a few seconds to a couple of minutes. You’ll know it’s done when you see “Actor run completed.”
7. View & Download Results
-
Click Last run → Dataset.
-
Row 1 (CV metadata) appears first.
-
Each subsequent row is a distinct job record with:
- Job Title
- Company
- Location
- Distance (km)
- Date Posted
- Match Verdict (“Yes – brief justification” or “No – brief justification”)
- Link to LinkedIn posting
Figure 6: Your results—CV components followed by each job on its own row. Export anytime.
Example
You live in Ghent, Belgium, and you’re a Data Engineer whose CV is written in Dutch. You request 10 job postings with a 50 km radius:
-
The LLM extracts from your Dutch CV:
- Skills: Python, SQL, Airflow, AWS, Spark…
- Experience summary: “5 years building data platforms in Belgium.”
- Desired role: “Data Engineer”
- Preferred location: “Ghent, Belgium”
- Years experience: 5
-
The actor geocodes “Ghent, Belgium” and constructs a search query like
"Data Engineer Python SQL Airflow AWS"
. -
It scrapes LinkedIn and retrieves up to 10 job postings in or near Ghent.
-
For each job posting:
-
Extracts title, company, location (e.g., “Medior Data Engineer – Spark/Databricks/Microsoft Fabric” at LACO in “Flemish Region, Belgium”).
-
Geocodes the job location and computes distance from Ghent (e.g., 32 km).
-
Excludes any job > 50 km away.
-
Fetches the full job description.
-
Prompts the LLM:
“Does this candidate fit this job posting?” Answer: “Yes – The candidate, Sofie Van den Broeck, is a good fit for the Medior Data Engineer position. She has experience with Apache Spark, which the job requires, and she’s worked with Azure as well.”
-
-
It outputs:
-
(CV metadata)
record_type skills experience_summary desired_role preferred_location years_experience cv_components ["Python","SQL",…] “5 years building data platforms…” Data Engineer Ghent, Belgium 5 -
Row 2 (Job #1)
job_id title company location distance_km posted_date match job_url 4214549442 Medior Data Engineer (Spark/Databricks) LACO Flemish Region, Belgium 32 2025-05-21 Yes – The candidate, Sofie Van den Broeck, is a good fit for the Medior Data Engineer position… https://be.linkedin.com/jobs/view/4214549442 -
Row 3 (Job #2)
job_id title company location distance_km posted_date match job_url 4233687601 AI – Data Scientist team.blue Ghent, Flemish Region 0 2025-05-20 No – The candidate, Sofie Van den Broeck, is a highly experienced Data Engineer … https://be.linkedin.com/jobs/view/4233687601
-
Frequently Asked Questions
Q: What if my CV is in English and job postings are in Dutch?
A: No problem—our LLM automatically understands and compares multiple languages. No manual translation required.
Q: Can I leave “Maximum Distance” blank?
A: Yes. If blank, the actor fetches the specified number of job postings from anywhere, ignoring location.
Q: Why use LLM instead of keywords?
A: Simple keyword matching misses nuance. The LLM understands context (“ETL,” “Databricks,” “machine learning”) and provides a higher-quality “Yes/No” judgment.
Q: What CV formats are supported?
A: PDF, DOCX, or TXT. You can also paste your full CV text into the input box.
Q: Can I run this locally?
A: Yes—install the Apify CLI, then run apify pull <ActorId>
and apify run
. But most users simply run it in the Apify Console.
About the Technology
Apify SDK (Python)
Orchestrates input collection, storage, and dataset management.
OpenAI GPT-4
A large language model that extracts and understands CV content and compares it to scraped job descriptions.
Beautiful Soup
Scrapes job postings from LinkedIn’s public job pages automatically.
Nominatim (OpenStreetMap)
Geocodes candidate and job locations so you can filter by distance.
All components work seamlessly so you can focus on applying to jobs, not on coding or manual filtering.
Final Notes
- Privacy: Your CV is sent securely to OpenAI for processing and not stored beyond your actor run.
- Maintenance: Occasionally LinkedIn’s page structure may change. If you see no results, a simple rebuild/update usually fixes minor parsing issues.
- Future: We plan to add support for additional job portals (Indeed, Glassdoor) and advanced filters (salary range, job type).
Enjoy smarter, multilingual job searching! If you have questions or feedback, leave a comment on this actor’s page or open an issue in its repository.