Enrich LinkedIn profiles in Google Sheets with Apify

Go to Workflow
1 views
Built by Dr. Firas Dr. Firas
Created on July 28, 2026

Description

Quick overview
This workflow reads LinkedIn profile URLs from Google Sheets, calls the Apify LinkedIn scraper to fetch profile details, and writes enriched fields (name, headline, job title, company, location, skills, positions, education, certifications, and follower data) back to the same rows.

How it works
Runs when you manually execute the workflow.
Loads configuration values such as the LinkedIn URL column name, apify actor ID, contact-finding toggle, and batch size.
Reads rows from the selected Google Sheets tab to get the LinkedIn profile URLs to enrich.
Processes the sheet rows in batches to control throughput and respect Apify rate limits.
For each row, sends the LinkedIn URL to apify and retrieves the scraped LinkedIn profile data.
Updates the matching Google Sheets row (by row_number) with the returned profile fields, including skills, positions, education, and other metadata.

Setup
Add a Google Sheets OAuth2 credential and select the target spreadsheet and sheet tab in the read and update steps.
Add an apify API token as HTTP Header Auth (Authorization: Bearer YOUR_APIFY_TOKEN) for the Apify request.
Ensure your Google Sheet includes a column containing LinkedIn profile URLs (default name: "LinkedIn URL") and a row_number column used to match updates.
In the configuration step, set the correct LinkedIn URL column name, Apify actor ID, and batch size (and enable find_contacts only if your Apify actor/setup supports it).

Additional info
Enrich LinkedIn profiles in Google Sheets

📥 Open full documentation on Notion

Need help customizing?
Contact me for consulting and support : Linkedin

MY NEW YOUTUBE CHANNEL
👉 Subscribe to my new YouTube channel. Here I'll share videos and Shorts with practical tutorials and FREE templates for n8n.

Nodes Used (2)

Google Sheets
n8n-nodes-base.googleSheets
HTTP Request
n8n-nodes-base.httpRequest