LinkedIn Sales Navigator連絡先を自動ページングでGoogle Sheetsへ抽出

中級

これはContent Creation, Multimodal AI分野の自動化ワークフローで、15個のノードを含みます。主にIf, Set, Code, Wait, HttpRequestなどのノードを使用。 自動ページングを使用してLinkedIn Sales Navigatorの連絡先をGoogle Sheetsへ抽出

前提条件
  • ターゲットAPIの認証情報が必要な場合あり
  • Google Sheets API認証情報
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "meta": {
    "instanceId": "8d41476c63702cd0f2be55363b48153c5d4820bb18197ca147e7be50ef236112",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "120b55a2-ed29-4a35-9265-18940cee8b21",
      "name": "LinkedInの連絡先をスクレイピング API",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -768,
        -32
      ],
      "parameters": {
        "url": "https://api.nickautomations.com/linkedin/scrape",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "authentication": "genericCredentialType",
        "bodyParameters": {
          "parameters": [
            {
              "name": "cookies",
              "value": "={{ $json.cookies }}"
            },
            {
              "name": "url",
              "value": "={{ $json.url }}"
            },
            {
              "name": "scraper_type",
              "value": "={{ $json.scraper_type }}"
            },
            {
              "name": "start",
              "value": "={{ $json.start }}"
            }
          ]
        },
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "EIsUiqyM6Juv63hK",
          "name": "[linkedin-scraper-api] Header Auth"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "93f2cf65-a67c-4f8d-9512-6ab51bdfb973",
      "name": "連絡先データ配列を抽出",
      "type": "n8n-nodes-base.code",
      "position": [
        -544,
        -32
      ],
      "parameters": {
        "jsCode": "// Get all items from the previous node\nconst items = $input.all();\n\n// Assuming the payload is in the first item\nconst payload = items[0].json;\n\n// Return the nested 'data' array for the next node\nreturn payload.data;"
      },
      "typeVersion": 2
    },
    {
      "id": "3f8a9eb7-0df9-4464-a3cd-ae2ca5db2d55",
      "name": "連絡先をGoogle Sheetsに保存",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -320,
        -32
      ],
      "parameters": {
        "columns": {
          "value": {
            "id": "={{ $json.id }}",
            "title": "={{ $json.title }}",
            "fullName": "={{ $json.fullName }}",
            "industry": "={{ $json.industry }}",
            "lastName": "={{ $json.lastName }}",
            "location": "={{ $json.location }}",
            "firstName": "={{ $json.firstName }}",
            "profileUrl": "={{ 'https://www.linkedin.com/in/' + $json.entityUrn.split('(')[1].split(',')[0] }}",
            "companyName": "={{ $json.companyName }}",
            "companyLocation": "={{ $json.companyLocation }}"
          },
          "schema": [
            {
              "id": "id",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "id",
              "defaultMatch": true,
              "canBeUsedToMatch": true
            },
            {
              "id": "firstName",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "firstName",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "lastName",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "lastName",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "fullName",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "fullName",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "location",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "location",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "title",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "title",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "companyName",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "companyName",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "companyLocation",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "companyLocation",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "industry",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "industry",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "profileUrl",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "profileUrl",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "id"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "append",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1IZUmM6cTe4Fmona9tWcfX6A0F4G0Di4VyZUhxKAbp0M/edit#gid=0",
          "cachedResultName": "LinkedIn Contacts"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1IZUmM6cTe4Fmona9tWcfX6A0F4G0Di4VyZUhxKAbp0M",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1IZUmM6cTe4Fmona9tWcfX6A0F4G0Di4VyZUhxKAbp0M/edit?usp=drivesdk",
          "cachedResultName": "LinkedIn Contacts"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "V4NHfo08zBK4IW4e",
          "name": "[Naveen]Google Sheets account"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "a8d46ea2-2543-4f9d-ab03-07f3b0347a87",
      "name": "追加ページの有無を確認",
      "type": "n8n-nodes-base.if",
      "position": [
        -96,
        -32
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "81c52d64-e7d8-4d23-aaba-6befa2f6e46a",
              "operator": {
                "type": "number",
                "operation": "lt"
              },
              "leftValue": "={{ $('Scrape LinkedIn Contacts API').item.json.paging.start - $('Set Search Parameters').item.json.start/25 }}",
              "rightValue": "={{ $('Set Search Parameters').item.json.total_pages }}"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "e18e663a-f637-4df9-a4fb-c5c9b4b6fcf0",
      "name": "ページ開始パラメータを増分",
      "type": "n8n-nodes-base.set",
      "position": [
        128,
        -48
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "9b805fcd-3929-464c-8338-d8c365873c0b",
              "name": "start",
              "type": "number",
              "value": "={{ $('Scrape LinkedIn Contacts API').item.json.paging.start + 25 }}"
            }
          ]
        }
      },
      "executeOnce": true,
      "typeVersion": 3.4
    },
    {
      "id": "ddf0bf2a-6395-4afe-8e50-dc954a0889af",
      "name": "リクエスト間のレート制限ディレイ",
      "type": "n8n-nodes-base.wait",
      "position": [
        352,
        48
      ],
      "webhookId": "ba610b94-c1e1-40cf-9136-061cdfdebb15",
      "parameters": {
        "amount": "={{ Math.floor(Math.random() * (60 - 30 + 1)) + 30 }}"
      },
      "typeVersion": 1.1
    },
    {
      "id": "b6f3aefc-aae0-48a3-b812-5c628f8d9a98",
      "name": "付箋",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1232,
        -224
      ],
      "parameters": {
        "width": 416,
        "height": 224,
        "content": "### Configuration Settings\n\n**cookies**: LinkedIn session cookies (required)\n**url**: LinkedIn Sales Navigator search URL\n**scraper_type**: contacts\n**total_pages**: Number of pages to scrape (default: 2)\n\nEach page contains ~25 contacts\nModify these values before running"
      },
      "typeVersion": 1
    },
    {
      "id": "1110cbb4-a93c-4aa4-b5f9-7229487dda40",
      "name": "付箋1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -704,
        -240
      ],
      "parameters": {
        "color": 5,
        "width": 496,
        "height": 192,
        "content": "### Scraping Process\n\n1. API fetches contact data from LinkedIn\n2. Extract nested contact array from response\n3. Save contact details to Google Sheets\n\nData includes: name, title, company, location, profile URL, etc."
      },
      "typeVersion": 1
    },
    {
      "id": "15dabc04-686b-4273-b7e7-3d7efe326681",
      "name": "付箋2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -128,
        -240
      ],
      "parameters": {
        "color": 4,
        "width": 416,
        "height": 192,
        "content": "### Pagination Logic\n\nChecks if more pages exist\nIf YES → Increment start parameter (+25)\nIf NO → Workflow completes\n\nLoop continues until all pages are scraped"
      },
      "typeVersion": 1
    },
    {
      "id": "fd5eafc2-36c6-4e86-87d5-3d74f2b9396e",
      "name": "付箋3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        112,
        240
      ],
      "parameters": {
        "color": 3,
        "width": 416,
        "content": "### Rate Limiting Protection **(DON'T LOWER THIS)**\n\nRandom delay: 30-60 seconds between requests\n\nPrevents LinkedIn API blocks\nMimics human browsing behavior"
      },
      "typeVersion": 1
    },
    {
      "id": "9a22691a-daa3-4fba-bc83-ad90f86134e5",
      "name": "付箋4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1680,
        -48
      ],
      "parameters": {
        "color": 6,
        "width": 400,
        "height": 400,
        "content": "## Get 1 Month Free API Access\n\nNeed API credentials?\n\n[Email Naveen to request access](mailto:nchoudhary110792@gmail.com?subject=LinkedIn%20Scraper%20API%20-%20Free%201%20Month%20Access%20Request&body=Hi%20Naveen%2C%0A%0AI%20would%20like%20to%20request%201%20month%20of%20free%20access%20to%20the%20LinkedIn%20Scraper%20API.%0A%0AName%3A%20%0AEmail%3A%20%0AUse%20Case%3A%20%0A%0AThank%20you!)\n\nYou'll receive your API keys within 24 hours\n\n**How to add your API key:**\n1. Click on \"Fetch LinkedIn Contacts\" node\n2. Scroll to \"Authentication\" section\n3. Select \"Header Auth\" credential\n4. Click \"Create New Credential\"\n5. Set Name: \"x-api-key\"\n6. Set Value: [Your API key from email]\n7. Save and test the workflow\n"
      },
      "typeVersion": 1
    },
    {
      "id": "d8ec7f32-3a28-45c3-b4ff-1419016af252",
      "name": "付箋5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -944,
        256
      ],
      "parameters": {
        "color": 2,
        "width": 720,
        "height": 352,
        "content": "### How to Get LinkedIn Cookies\n\n**Required Extension:**\n[Install EditThisCookie](https://chromewebstore.google.com/detail/editthiscookie-v3/ojfebgpkimhlhcblbalbfjblapadhbol)\n\n**Steps to Extract Cookies:**\n1. Go to LinkedIn Sales Navigator\n2. Click the cookie icon in your browser toolbar\n3. Click \"Export\" button\n4. Copy the exported cookie data\n5. Paste into the \"cookies\" field in this node\n\nSee reference image for [visual guide](https://drive.google.com/file/d/1yY4xdXjrChAeKGWz3H6lqyp1lJ1ElKWU/view?usp=sharing)\n\n**Cookies authenticate your LinkedIn session (and nothing is saved - not even the data scraping)**"
      },
      "typeVersion": 1
    },
    {
      "id": "d78e5f9b-2047-4994-83dc-d35d1bd7585e",
      "name": "ワークフロー開始",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -1216,
        48
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "5bdef910-db46-47f9-8e2a-dd2ac16b563f",
      "name": "検索パラメータを設定",
      "type": "n8n-nodes-base.set",
      "position": [
        -992,
        48
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "ef3bbffa-8a91-4477-b930-b2089fdb5d04",
              "name": "cookies",
              "type": "array",
              "value": "[YOUR_COOKIES_HERE]"
            },
            {
              "id": "26025d17-4e8c-48df-aaa2-60b5bfa0d021",
              "name": "url",
              "type": "string",
              "value": "[YOUR_SALES_NAVIGATOR_SEARCH_URL_HERE]"
            },
            {
              "id": "3fb93134-cc12-4e83-ae2e-387de3c01f74",
              "name": "scraper_type",
              "type": "string",
              "value": "contacts"
            },
            {
              "id": "5bd33944-beb4-4aa0-a617-b25d9759d690",
              "name": "start",
              "type": "number",
              "value": "={{ $input.first()?.json?.start ?? 0 }}"
            },
            {
              "id": "1cfc15c1-6bfb-4ded-bdb8-6076cdd008ef",
              "name": "total_pages",
              "type": "number",
              "value": 2
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "ce0fa21f-039e-43dd-9c56-20f3a69b4cae",
      "name": "付箋6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2528,
        -208
      ],
      "parameters": {
        "width": 752,
        "height": 816,
        "content": "## LinkedIn Sales Navigator to Google Sheets Scraper\n\nThis workflow automatically extracts contact data from LinkedIn Sales Navigator and saves it to Google Sheets.\n\n### What it does:\n- Fetches contacts from Sales Navigator search results via API\n- Handles pagination automatically (25 contacts per page)\n- Extracts: name, title, company, location, profile URL, industry\n- Saves all data to Google Sheets\n- Built-in rate limiting (30-60s delays) prevents API blocks\n\n### Requirements:\n- Self-hosted n8n (won't work on Cloud)\n- LinkedIn Sales Navigator account\n- API access (email creator for 1 month free)\n- EditThisCookie browser extension\n- Google Sheets account\n\n### Quick Setup:\n1. Get API key from creator (see purple sticky note)\n2. Extract LinkedIn cookies (see green sticky note)\n3. Configure \"Set Search Parameters\" node\n4. Make a copy of the Google Sheet template\n5. Connect your Google Sheets in the final node\n6. Run workflow\n\n### Important Notes:\n- Keep cookies private (they're your login session)\n- Don't lower the rate limit delay\n- Each page = ~25 contacts\n- Data is NOT stored anywhere except your Google Sheet\n\nFor detailed setup instructions, see the sticky notes throughout the workflow."
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "d78e5f9b-2047-4994-83dc-d35d1bd7585e": {
      "main": [
        [
          {
            "node": "5bdef910-db46-47f9-8e2a-dd2ac16b563f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5bdef910-db46-47f9-8e2a-dd2ac16b563f": {
      "main": [
        [
          {
            "node": "120b55a2-ed29-4a35-9265-18940cee8b21",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "93f2cf65-a67c-4f8d-9512-6ab51bdfb973": {
      "main": [
        [
          {
            "node": "3f8a9eb7-0df9-4464-a3cd-ae2ca5db2d55",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "120b55a2-ed29-4a35-9265-18940cee8b21": {
      "main": [
        [
          {
            "node": "93f2cf65-a67c-4f8d-9512-6ab51bdfb973",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a8d46ea2-2543-4f9d-ab03-07f3b0347a87": {
      "main": [
        [
          {
            "node": "e18e663a-f637-4df9-a4fb-c5c9b4b6fcf0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "e18e663a-f637-4df9-a4fb-c5c9b4b6fcf0": {
      "main": [
        [
          {
            "node": "ddf0bf2a-6395-4afe-8e50-dc954a0889af",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3f8a9eb7-0df9-4464-a3cd-ae2ca5db2d55": {
      "main": [
        [
          {
            "node": "a8d46ea2-2543-4f9d-ab03-07f3b0347a87",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ddf0bf2a-6395-4afe-8e50-dc954a0889af": {
      "main": [
        [
          {
            "node": "5bdef910-db46-47f9-8e2a-dd2ac16b563f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
よくある質問

このワークフローの使い方は?

上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。

このワークフローはどんな場面に適していますか?

中級 - コンテンツ作成, マルチモーダルAI

有料ですか?

このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。

ワークフロー情報
難易度
中級
ノード数15
カテゴリー2
ノードタイプ8
難易度説明

経験者向け、6-15ノードの中程度の複雑さのワークフロー

作成者
Naveen Choudhary

Naveen Choudhary

@n8nstein

I create AI-driven n8n workflows that turn repetitive tasks into smooth, hands-off automations. Want to explore an idea? Book a quick consult: https://cal.com/nickchoudhary/30min

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34