This workflow corresponds to n8n.io template #13974 — we link there as the canonical source.
This workflow follows the Datatable → HTTP Request recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"id": "FKTUa1XadDinfcli",
"meta": {
"templateCredsSetupCompleted": true
},
"name": "Template Recovering a Contact\u2019s Name from a LinkedIn URL with LinkUp",
"tags": [],
"nodes": [
{
"id": "08a2b197-7d03-4277-89a1-840986b20de9",
"name": "When clicking \u2018Execute workflow\u2019",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-224,
16
],
"parameters": {},
"typeVersion": 1
},
{
"id": "92b5789f-f4e8-496b-89d6-c7b739f36681",
"name": "Loop Over Items",
"type": "n8n-nodes-base.splitInBatches",
"position": [
784,
16
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "8b083e8b-4e53-44b4-8131-d7d777290919",
"name": "Replace Me",
"type": "n8n-nodes-base.noOp",
"position": [
1840,
48
],
"parameters": {},
"typeVersion": 1
},
{
"id": "0f00dc68-3b98-4803-b92e-cd9617504df6",
"name": "Limit",
"type": "n8n-nodes-base.limit",
"position": [
544,
16
],
"parameters": {
"maxItems": 30
},
"typeVersion": 1
},
{
"id": "dcfd5a08-c128-47c6-a0a8-c361e72d9ed2",
"name": "If",
"type": "n8n-nodes-base.if",
"position": [
1040,
32
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "58c163c2-f1c8-4365-9c80-1b27ac88bdda",
"operator": {
"type": "string",
"operation": "notEmpty",
"singleValue": true
},
"leftValue": "={{ $('linkedinurl').item.json.url }}",
"rightValue": ""
},
{
"id": "1a020fcd-63d6-43ae-bdcc-6fbf3113d805",
"operator": {
"type": "string",
"operation": "empty",
"singleValue": true
},
"leftValue": "={{ $('linkedinurl').item.json.name }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "0abfadae-3511-4e68-97da-5c8156c90b22",
"name": "linkup",
"type": "n8n-nodes-base.httpRequest",
"notes": "return only the linkedin url of {{ $json.name }}. If you have multiple answers, pick the one who works in data or software and located in New York. Return an empty string if there is no match",
"position": [
1312,
-112
],
"parameters": {
"url": "https://api.linkup.so/v1/search",
"method": "POST",
"options": {},
"sendBody": true,
"sendHeaders": true,
"bodyParameters": {
"parameters": [
{
"name": "q",
"value": "=You are an expert LinkedIn researcher. \n\nYour goal is to find the name associated to this LinkedIn profile URL {{ $('linkedinurl').item.json.url }}. Return only the name.\n"
},
{
"name": "depth",
"value": "standard"
},
{
"name": "outputType",
"value": "sourcedAnswer"
},
{
"name": "includeImages",
"value": "false"
},
{
"name": "includeInlineCitations",
"value": "false"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "={{ \"Bearer \" + $('settings').item.json.ApiKey }}"
}
]
}
},
"typeVersion": 4.3
},
{
"id": "dcb6210c-0c3c-4861-afdc-39054b9b685d",
"name": "linkedinurl",
"type": "n8n-nodes-base.dataTable",
"position": [
320,
16
],
"parameters": {
"operation": "get",
"dataTableId": {
"__rl": true,
"mode": "list",
"value": "6iErZByf7E4tx8rd",
"cachedResultUrl": "/projects/QTlUADn6UO4c5XzD/datatables/6iErZByf7E4tx8rd",
"cachedResultName": "LinkedInURL"
}
},
"typeVersion": 1
},
{
"id": "7f105c11-6943-4ba3-9b6b-39487d85cc25",
"name": "settings",
"type": "n8n-nodes-base.set",
"position": [
48,
16
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "c428d921-a31d-4c22-ba86-d01872e93521",
"name": "ApiKey",
"type": "string",
"value": "enter your LinkUp API key here"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "c1d6dce1-c378-4b3d-9d24-eeb09018b4b2",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-16,
-32
],
"parameters": {
"color": 6,
"width": 224,
"height": 224,
"content": "Setup Your Api Key here"
},
"typeVersion": 1
},
{
"id": "8d7705e0-434c-4545-afc2-4da8acbc5c8c",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
256,
-32
],
"parameters": {
"color": 7,
"width": 224,
"height": 224,
"content": "Don't forget to add LinkedIn URL"
},
"typeVersion": 1
},
{
"id": "df2c412b-be8b-46b2-b4ce-e2b582f5b076",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1248,
-176
],
"parameters": {
"color": 6,
"width": 224,
"height": 240,
"content": "LinkUp Call."
},
"typeVersion": 1
},
{
"id": "f1186d35-8b9c-4126-89a6-6745f0c98039",
"name": "update name",
"type": "n8n-nodes-base.dataTable",
"position": [
1552,
-112
],
"parameters": {
"columns": {
"value": {
"name": "={{ $json.answer }}"
},
"schema": [
{
"id": "url",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "url",
"defaultMatch": false
},
{
"id": "name",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "name",
"defaultMatch": false
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"filters": {
"conditions": [
{
"keyValue": "={{ $('linkedinurl').item.json.id }}"
}
]
},
"options": {},
"operation": "update",
"dataTableId": {
"__rl": true,
"mode": "list",
"value": "6iErZByf7E4tx8rd",
"cachedResultUrl": "/projects/QTlUADn6UO4c5XzD/datatables/6iErZByf7E4tx8rd",
"cachedResultName": "LinkedInURL"
}
},
"typeVersion": 1
},
{
"id": "7150ab3a-cba5-481b-bb91-c24004f691a0",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-848,
-432
],
"parameters": {
"color": 7,
"width": 560,
"height": 912,
"content": "# Recovering a Contact\u2019s Name from a LinkedIn URL with LinkUp\n\n## Summary \nThis workflow retrieves a LinkedIn contact\u2019s **full name** from their **profile URL** using the [LinkUp](https://www.linkup.so) AI Search API. It\u2019s a lightweight alternative to web scraping or complex APIs \u2014 integrating neatly into your existing **n8n** automations.\n\n## How it works \n- The workflow reads LinkedIn URLs from a **Data Table**. \n- Each URL is sent to LinkUp via an HTTP Request node using natural language. \n- LinkUp returns the corresponding contact name. \n- The Data Table is automatically updated with the retrieved name. \n\n## How to use \n1. Create a Data Table named **LinkedInURL** with two fields: \n - `url` (String) \n - `name` (String) \n2. Add one or more LinkedIn profile URLs, for example: \n `https://www.linkedin.com/in/stephaneheckel/` \n3. Store your LinkUp API key in the **Settings** component. \n You can get one at [https://app.linkup.so/api-keys](https://app.linkup.so/api-keys). \n4. Run the workflow. The `name` field will populate with the correct LinkedIn names. \n\n## Requirements \n- **LinkUp** account\n- **n8n** version: tested on 1.122.4 (Ubuntu)\n\n## Need Help?\nFeel free to comment this [post](https://www.linkedin.com/posts/n8n-about_linkedin-activity-7436922917336289281-hTxv/).\nContact me on [LinkedIn](https://www.linkedin.com/in/stephaneheckel/) or ask in the [Forum](https://community.n8n.io/)!"
},
"typeVersion": 1
}
],
"active": false,
"settings": {
"executionOrder": "v1"
},
"versionId": "138c496a-8192-4008-9976-63d29e20ac61",
"connections": {
"If": {
"main": [
[
{
"node": "linkup",
"type": "main",
"index": 0
}
],
[
{
"node": "Replace Me",
"type": "main",
"index": 0
}
]
]
},
"Limit": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"linkup": {
"main": [
[
{
"node": "update name",
"type": "main",
"index": 0
}
]
]
},
"settings": {
"main": [
[
{
"node": "linkedinurl",
"type": "main",
"index": 0
}
]
]
},
"Replace Me": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"linkedinurl": {
"main": [
[
{
"node": "Limit",
"type": "main",
"index": 0
}
]
]
},
"update name": {
"main": [
[
{
"node": "Replace Me",
"type": "main",
"index": 0
}
]
]
},
"Loop Over Items": {
"main": [
[],
[
{
"node": "If",
"type": "main",
"index": 0
}
]
]
},
"When clicking \u2018Execute workflow\u2019": {
"main": [
[
{
"node": "settings",
"type": "main",
"index": 0
}
]
]
}
}
}
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
About this workflow
This workflow retrieves a LinkedIn contact’s full name from their profile URL using the LinkUp AI Search API. It’s a lightweight alternative to web scraping or complex APIs — integrating neatly into your existing n8n automations. The workflow reads LinkedIn URLs from a Data…
Source: https://n8n.io/workflows/13974/ — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
This n8n workflow automatically shares content from a Telegram Channel to multiple platforms like WordPress, Facebook, X/Twitter, and LinkedIn. It uses a Switch node to detect the type of content—text
Disclaimer: this workflow only works on self-hosted instances due to the file system usage.
More workflow: https://aitool.wiki/
> ⚠️ Disclaimer: This workflow uses Community Nodes and requires a self-hosted n8n instance.
This n8n workflow automates the process of scraping job listings from both LinkedIn and Indeed platforms simultaneously, combining results, and exporting data to Google Sheets for comprehensive job ma