Skip to main content

Enrich lead profiles from LinkedIn URLs with Apify and Google Sheets

Workflow preview

Workflow preview
100%
Enrich lead profiles from LinkedIn URLs with Apify and Google Sheets preview
Open on n8n.io

1. Workflow Overview

Transform LinkedIn profile URLs into comprehensive enriched lead profiles, quickly and automatically. Add URLs to your sheet, run the workflow, and get fully enriched contact data: names, job title...

Best for

  • Lead Generation automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.manualtrigger, n8n-nodes-base.splitinbatches, n8n-nodes-base.httprequest, n8n-nodes-base.code, n8n-nodes-base.wait, n8n-nodes-base.if, n8n-nodes-base.merge, n8n-nodes-base.set

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Dean Pike.

Original n8n.io source

1.1 Workflow description

Title
Enrich lead profiles from LinkedIn URLs with Apify and Google Sheets
Workflow name
Enrich lead profiles from LinkedIn URLs with Apify and Google Sheets

Transform LinkedIn profile URLs into comprehensive enriched lead profiles, quickly and automatically.

Add URLs to your sheet, run the workflow, and get fully enriched contact data: names, job titles, company details, career history, recent activity, and more – all written back to your spreadsheet.

What it does

  • Reads unenriched rows from Google Sheets (detects empty "First Name" field)
  • Scrapes LinkedIn profiles via Apify (dev_fusion~linkedin-profile-scraper actor)
  • Polls for completion with smart retry logic (15-second intervals, max 20 attempts)
  • Extracts comprehensive profile data:
  • Personal info (name, location, headline, bio)
  • Current role (title, description, company, industry, size, website)
  • Additional concurrent positions (for people with multiple roles)
  • Most recent previous employer
  • Last 2 LinkedIn posts with links
  • Writes enriched data back to the same Google Sheet row
  • Handles errors gracefully with status updates

Requirements

  • Apify account + API token
  • Google Sheets OAuth2 credentials
  • A Google Sheet with columns: LinkedIn, First Name, Last Name, Job Position, Location, Industry, Company Name, Company URL, Company Size, LI Other Profile Information, Status, Apify ID, Add date, row_number

Setup

  1. Create your Google Sheet with the required columns (or duplicate the template structure)
  2. Replace YOUR_APIFY_API_KEY in three HTTP Request nodes: "Start Apify Scrape", "Check Status", and "Fetch LinkedIn Data"
  3. Connect your Google Sheets OAuth2 credentials to the two Google Sheets nodes
  4. Update the document ID if using your own sheet (currently points to a specific sheet)
  5. Add LinkedIn profile URLs to the "LinkedIn" column, leaving "First Name" blank
  6. Run manually – workflow processes all unenriched rows sequentially

Sample Output

Google Sheet row output - from one successfully enriched lead profile via LinkedIn URL: Link to Google Sheets sample file

Next steps

Use the enriched data for sales outreach, recruiting pipelines, or lead scoring. The "LI Other Profile Information" column contains a rich text summary ideal for AI-powered lead qualification or personalized messaging.

Tip: Process small batches (5-10 profiles) first to verify Apify results and check for rate limiting. The Apify dataset ID is stored in each row, so you can retrieve raw JSON data later if needed for deeper analysis.

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - When clicking 'Execute Workflow'

Type / Role
n8n-nodes-base.manualTrigger - manualTrigger
Config choices
Version 1

Block 2 - Process One Row at a Time

Type / Role
n8n-nodes-base.splitInBatches - splitInBatches
Config choices
Version 3

Block 3 - Start Apify Scrape

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 4 - Store Run Info

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 5 - Wait 15 Seconds

Type / Role
n8n-nodes-base.wait - wait
Config choices
Version 1.1

Block 6 - Check Status

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 7 - Update Loop Counter

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 8 - Check if Ready

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.2

Block 9 - Check Max Retries

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.2

Block 10 - Fetch LinkedIn Data

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 11 - Prepare Error Message

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 12 - Merge

Type / Role
n8n-nodes-base.merge - merge
Config choices
Version 3.2

Block 13 - Get Other Current Jobs

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 14 - Set Other Key LinkedIn Data

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 15 - Get 2 Most Recent Posts

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 16 - Get Rows - Not Enriched Yet

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.7

Block 17 - Sticky Note7

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 18 - Sticky Note

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 19 - Sticky Note1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 20 - Sticky Note4

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 21 - Update Row in Google Sheet (2)

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.7

Block 22 - Update Row in Google Sheet

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.7

Block 23 - Sticky Note5

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

3. Summary Table

Workflow Enrich lead profiles from LinkedIn URLs with Apify and Google Sheets
Complexity advanced
Nodes 23
Categories Lead Generation
Author Dean Pike
Published 29 Jan 2026

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/13090/13090.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Enrich lead profiles from LinkedIn URLs with Apify and Google Sheets do?

Transform LinkedIn profile URLs into comprehensive enriched lead profiles, quickly and automatically. Add URLs to your sheet, run the workflow, and get fully enriched contact data: names, job title...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Lead Generation use case.