Smart CV-to-LinkedIn Jobs Finder avatar
Smart CV-to-LinkedIn Jobs Finder

Pricing

Pay per event

Go to Store
Smart CV-to-LinkedIn Jobs Finder

Smart CV-to-LinkedIn Jobs Finder

Developed by

Dr. Ollie

Dr. Ollie

Maintained by Community

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

Process Overview 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:

  1. Upload your CV (in any supported language: PDF, DOCX, or TXT).
  2. LLM-powered extraction reads your CV and identifies skills, experience, desired role, and preferred location—regardless of language.
  3. LinkedIn scraping finds matching job postings, even if the postings are in a different language than your CV.
  4. Optional distance filter lets you restrict results to within X kilometers of your city.
  5. 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.

  1. Open the Input tab.
  2. Upload your CV or paste text.
  3. Specify the number of LinkedIn job postings to fetch.
  4. (Optionally) set a maximum distance.
  5. Click Run.
  6. 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.)

Step 1: Provide your CV 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.

Step 4: Actor in progress 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

Step 5: View and download results 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:

  1. 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
  2. The actor geocodes “Ghent, Belgium” and constructs a search query like "Data Engineer Python SQL Airflow AWS".

  3. It scrapes LinkedIn and retrieves up to 10 job postings in or near Ghent.

  4. 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.”

  5. It outputs:

    • (CV metadata)

      record_typeskillsexperience_summarydesired_rolepreferred_locationyears_experience
      cv_components["Python","SQL",…]“5 years building data platforms…”Data EngineerGhent, Belgium5
    • Row 2 (Job #1)

      job_idtitlecompanylocationdistance_kmposted_datematchjob_url
      4214549442Medior Data Engineer (Spark/Databricks)LACOFlemish Region, Belgium322025-05-21Yes – 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_idtitlecompanylocationdistance_kmposted_datematchjob_url
      4233687601AI – Data Scientistteam.blueGhent, Flemish Region02025-05-20No – 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.