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 workflow polls a YouTube Shorts playlist RSS feed, deduplicates videos using an n8n Data Table, downloads each new Short via the YouTube Media Downloader API (RapidAPI), and uploads it to TikTok
61 - TOOL - lookup_linkedin_profile. Uses executeWorkflowTrigger, httpRequest, dataTable. Event-driven trigger; 10 nodes.
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
generación_publicaciones (workflow 3) webhook all platforms decrypt publicar git. Uses dataTable, linkedIn, httpRequest. Webhook trigger; 50 nodes.
Hacker News to Video Template - AlexK1919. Uses hackerNews, s3, httpRequest, dropbox. Event-driven trigger; 48 nodes.