
LinkedIn & Indeed Job Scraper via Bright Data with Google Sheets Export
説明
Categories
⚙️ Automation
Nodes Used
n8n-nodes-base.ifn8n-nodes-base.ifn8n-nodes-base.ifn8n-nodes-base.ifn8n-nodes-base.coden8n-nodes-base.waitn8n-nodes-base.waitn8n-nodes-base.mergen8n-nodes-base.stickyNoten8n-nodes-base.stickyNote
Price無料
Views0
最終更新11/28/2025
workflow.json
{
"id": "GyAcQ4pRlDXovjmK",
"meta": {
"instanceId": "bc8ca75c203589705ae2e446cad7181d6f2a7cc1766f958ef9f34810e53b8cb2",
"templateCredsSetupCompleted": true
},
"name": "LinkedIn & Indeed Job Scraper via Bright Data with Google Sheets Export",
"tags": [],
"nodes": [
{
"id": "ccb16093-bf80-460b-ba5c-479062b2e965",
"name": "Triggers workflow from job search form",
"type": "n8n-nodes-base.formTrigger",
"position": [
-496,
-384
],
"webhookId": "37d0e84c-0cda-47f8-826d-9ae5b22ba1d5",
"parameters": {
"options": {},
"formTitle": " Job Finder",
"formFields": {
"values": [
{
"fieldLabel": "City",
"requiredField": true
},
{
"fieldLabel": "Job Title",
"requiredField": true
},
{
"fieldLabel": "Country",
"requiredField": true
},
{
"fieldType": "dropdown",
"fieldLabel": "Job_type (Optional)",
"fieldOptions": {
"values": [
{
"option": "Full-Time"
},
{
"option": "Part-Time"
},
{
"option": "Remote"
},
{
"option": "WFH"
},
{
"option": "Contract"
},
{
"option": "Internship"
},
{
"option": "Freelance"
}
]
}
}
]
}
},
"typeVersion": 2.2
},
{
"id": "e058f622-138b-4a44-8be6-a212621a1059",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-560,
-976
],
"parameters": {
"color": 7,
"width": 520,
"height": 140,
"content": "Make A Copy Of This Sheet\n(https://docs.google.com/spreadsheets/d/1FmjpyNjus0tdN9hU9e-EsFcKl-W4EdWq1PYfIvGu8Ws/edit?gid=0#gid=0)"
},
"typeVersion": 1
},
{
"id": "e1151c95-cdd2-4e28-be8d-4631364a71fc",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-560,
-496
],
"parameters": {
"width": 260,
"height": 260,
"content": "📝 Trigger – User fills job title, city, country, job type"
},
"typeVersion": 1
},
{
"id": "cf473a7d-be91-4b1d-8111-3fb7183f2436",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-96,
-224
],
"parameters": {
"color": 3,
"height": 300,
"content": "🧠 Format Input – Prepares input for Indeed scraping\n"
},
"typeVersion": 1
},
{
"id": "5b05e06f-df14-470a-8808-e4efa608f01d",
"name": "Formats form input for Bright Data Indeed API1",
"type": "n8n-nodes-base.code",
"position": [
-48,
-128
],
"parameters": {
"jsCode": "const city = $json[\"City\"] || \"\";\nconst jobTitle = $json[\"Job Title\"] || \"\";\nconst country = $json[\"Country\"] || \"\";\nconst jobType = $json[\"Job_type (Optional)\"] || \"\";\n\nreturn [\n {\n json: {\n input: [\n {\n country: country,\n domain: country === \"FR\" ? \"fr.indeed.com\" : \"indeed.com\",\n keyword_search: jobTitle,\n location: city,\n date_posted: \"Last 7 days\"\n }\n ],\n custom_output_fields: [\n \"jobid\",\n \"company_name\",\n \"date_posted_parsed\",\n \"job_title\",\n \"description_text\",\n \"benefits\",\n \"qualifications\",\n \"location\",\n \"salary_formatted\",\n \"company_rating\",\n \"company_reviews_count\",\n \"country\",\n \"date_posted\",\n \"description\",\n \"region\",\n \"company_link\",\n \"company_website\",\n \"domain\",\n \"apply_link\",\n \"srcname\",\n \"url\",\n \"is_expired\",\n \"discovery_input\",\n \"job_location\",\n \"job_description_formatted\",\n \"logo_url\",\n \"timestamp\",\n \"warning\",\n \"error\",\n \"error_code\",\n \"warning_code\"\n ]\n }\n }\n];\n"
},
"typeVersion": 2
},
{
"id": "e361d724-e78c-448e-9421-50d3524f885b",
"name": "Sticky Note3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-80,
-800
],
"parameters": {
"color": 2,
"width": 260,
"height": 280,
"content": "📤 Indeed API Call – Start job search on Indeed\n"
},
"typeVersion": 1
},
{
"id": "cb22ebf9-28a8-499a-9297-5838b7af3065",
"name": "Triggers job scraping on Indeed via Bright Data",
"type": "n8n-nodes-base.httpRequest",
"position": [
0,
-720
],
"parameters": {
"url": "https://api.brightdata.com/datasets/v3/trigger",
"method": "POST",
"options": {},
"jsonBody": "={\n \"input\": [\n {\n \"location\": \"{{$node[\"Triggers workflow from job search form\"].json[\"City\"] ? $node[\"Triggers workflow from job search form\"].json[\"City\"].trim() : \"\"}}\",\n \"keyword\": \"{{$node[\"Triggers workflow from job search form\"].json[\"Job Title\"] ? $node[\"Triggers workflow from job search form\"].json[\"Job Title\"].trim() : \"\"}}\",\n \"country\": \"{{$node[\"Triggers workflow from job search form\"].json[\"Country\"] ? $node[\"Triggers workflow from job search form\"].json[\"Country\"].slice(0, 2).toUpperCase() : \"\"}}\",\n \"time_range\": \"Past week\",\n \"job_type\": \"{{ [\"full-time\", \"part-time\", \"internship\", \"contract\", \"temporary\"].includes($node[\"Triggers workflow from job search form\"].json[\"Job_type\"]?.toLowerCase()) ? $node[\"Triggers workflow from job search form\"].json[\"Job_type\"] : \"\" }}\"\n }\n ],\n \"custom_output_fields\": [\n \"url\",\n \"job_posting_id\",\n \"job_title\",\n \"company_name\",\n \"company_id\",\n \"job_location\",\n \"job_summary\",\n \"job_seniority_level\",\n \"job_function\",\n \"job_employment_type\",\n \"job_industries\",\n \"job_base_pay_range\",\n \"company_url\",\n \"job_posted_time\",\n \"job_num_applicants\",\n \"discovery_input\",\n \"apply_link\",\n \"country_code\",\n \"title_id\",\n \"company_logo\",\n \"job_posted_date\",\n \"job_poster\",\n \"application_availability\",\n \"job_description_formatted\",\n \"base_salary\",\n \"timestamp\",\n \"error\",\n \"error_code\",\n \"warning\",\n \"warning_code\"\n ]\n}\n",
"sendBody": true,
"sendQuery": true,
"sendHeaders": true,
"specifyBody": "json",
"queryParameters": {
"parameters": [
{
"name": "dataset_id",
"value": "gd_lpfll7v5hcqtkxl6l"
},
{
"name": "include_errors",
"value": "true"
},
{
"name": "type",
"value": "discover_new"
},
{
"name": "discover_by",
"value": "keyword"
},
{
"name": "limit_per_input",
"value": "2"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer BRIGHT_DATA_API_KEY"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "3af3ac0d-aaed-4644-85cc-7589a9144e8c",
"name": "Sticky Note4",
"type": "n8n-nodes-base.stickyNote",
"position": [
240,
-784
],
"parameters": {
"color": 4,
"height": 260,
"content": "⏳ Check Indeed Status – Is Indeed data ready?\n"
},
"typeVersion": 1
},
{
"id": "dcf3882a-82e9-44e7-904b-167dd610bce3",
"name": "Checks if Bright Data has completed Indeed scraping",
"type": "n8n-nodes-base.httpRequest",
"position": [
304,
-720
],
"parameters": {
"url": "=https://api.brightdata.com/datasets/v3/progress/{{ $json.snapshot_id }}",
"options": {},
"sendQuery": true,
"sendHeaders": true,
"queryParameters": {
"parameters": [
{
"name": "format",
"value": "json"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer BRIGHT_DATA_API_KEY"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "5da46121-ef66-4346-aa4a-20b4d4e6eb18",
"name": "Sticky Note5",
"type": "n8n-nodes-base.stickyNote",
"position": [
544,
-800
],
"parameters": {
"color": 6,
"height": 280,
"content": "✅ Is Indeed Ready? – Proceed or wait\n"
},
"typeVersion": 1
},
{
"id": "001734bd-e0b4-4b98-bfd3-d260b7cf2c76",
"name": "IF node: Is Indeed data ready?",
"type": "n8n-nodes-base.if",
"position": [
624,
-720
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "or",
"conditions": [
{
"id": "35ed620d-b5d5-4e97-bcc5-52b283d85616",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.status }}",
"rightValue": "ready"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "f232138a-f3d4-4aff-a670-6028571aa396",
"name": "Sticky Note6",
"type": "n8n-nodes-base.stickyNote",
"position": [
832,
-560
],
"parameters": {
"color": 7,
"width": 260,
"height": 240,
"content": "⏱️ Wait – Retry check after 1 minute\n"
},
"typeVersion": 1
},
{
"id": "31ae32e5-e3a5-49b1-831f-062c967b9230",
"name": "Pauses for 1 minute if data is not yet ready",
"type": "n8n-nodes-base.wait",
"position": [
864,
-512
],
"webhookId": "7047efad-de41-4608-b95c-d3e0203ef620",
"parameters": {
"unit": "minutes",
"amount": 1
},
"typeVersion": 1.1
},
{
"id": "1ffbbd02-5ad4-4543-bfa0-7366aff7f5b5",
"name": "Sticky Note7",
"type": "n8n-nodes-base.stickyNote",
"position": [
832,
-864
],
"parameters": {
"color": 4,
"width": 260,
"height": 280,
"content": "📊 Data Found? – Continue only if jobs found on Indeed\n"
},
"typeVersion": 1
},
{
"id": "d5766191-a99c-412e-adc1-e948f2c8aefe",
"name": "Checks if any Indeed job records exist",
"type": "n8n-nodes-base.if",
"position": [
912,
-736
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "f01bd215-c406-493c-a6e4-2b8ec5686b44",
"operator": {
"type": "number",
"operation": "notEquals"
},
"leftValue": "={{ $json.records }}",
"rightValue": "={{ 0 }}"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "0969f9b6-2f0e-4fdc-b7d1-f10797b92531",
"name": "Sticky Note8",
"type": "n8n-nodes-base.stickyNote",
"position": [
1120,
-848
],
"parameters": {
"width": 260,
"height": 260,
"content": "📥 Get Indeed Jobs – Fetch results from Bright Data\n\n"
},
"typeVersion": 1
},
{
"id": "0e6d740c-517e-4da8-a7b8-b43c3e34bae4",
"name": "Fetches scraped Indeed data using snapshot ID",
"type": "n8n-nodes-base.httpRequest",
"position": [
1200,
-752
],
"parameters": {
"url": "=https://api.brightdata.com/datasets/v3/snapshot/{{ $json.snapshot_id }}",
"options": {},
"sendQuery": true,
"sendHeaders": true,
"queryParameters": {
"parameters": [
{
"name": "format",
"value": "json"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer BRIGHT_DATA_API_KEY"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "8da861b3-df7a-4c6c-bf39-c2b6c6f11029",
"name": "Triggers job scraping on LinkedIn via Bright Data",
"type": "n8n-nodes-base.httpRequest",
"position": [
224,
-128
],
"parameters": {
"url": "https://api.brightdata.com/datasets/v3/trigger",
"method": "POST",
"options": {},
"jsonBody": "={\n \"input\": {{ $json[\"input\"] ? JSON.stringify($json[\"input\"]) : \"[]\" }},\n \"custom_output_fields\": {{ $json[\"custom_output_fields\"] ? JSON.stringify($json[\"custom_output_fields\"]) : \"{}\" }}\n}\n",
"sendBody": true,
"sendQuery": true,
"sendHeaders": true,
"specifyBody": "json",
"queryParameters": {
"parameters": [
{
"name": "dataset_id",
"value": "gd_l4dx9j9sscpvs7no2"
},
{
"name": "include_errors",
"value": "true"
},
{
"name": "type",
"value": "discover_new"
},
{
"name": "discover_by",
"value": "keyword"
},
{
"name": "limit_per_input",
"value": "=2"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer BRIGHT_DATA_API_KEY"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "4f1a540c-f076-42b9-a105-bcd9336eaf70",
"name": "Sticky Note9",
"type": "n8n-nodes-base.stickyNote",
"position": [
160,
-224
],
"parameters": {
"color": 5,
"height": 300,
"content": "📤 LinkedIn API Call – Start job search on LinkedIn\n"
},
"typeVersion": 1
},
{
"id": "be52a15f-3950-456f-b026-f9132b0241c0",
"name": "Sticky Note10",
"type": "n8n-nodes-base.stickyNote",
"position": [
432,
-224
],
"parameters": {
"color": 3,
"width": 260,
"height": 280,
"content": "⏳ Check LinkedIn Status – Is LinkedIn data ready?\n"
},
"typeVersion": 1
},
{
"id": "79052900-596e-4880-946a-72aa636dfebd",
"name": "Checks if LinkedIn scraping is completed",
"type": "n8n-nodes-base.httpRequest",
"position": [
512,
-128
],
"parameters": {
"url": "=https://api.brightdata.com/datasets/v3/progress/{{ $json.snapshot_id }}",
"options": {},
"sendQuery": true,
"sendHeaders": true,
"queryParameters": {
"parameters": [
{
"name": "format",
"value": "json"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer BRIGHT_DATA_API_KEY"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "2819bb3c-f0d3-4a99-85e6-2902baac3b7d",
"name": "Sticky Note11",
"type": "n8n-nodes-base.stickyNote",
"position": [
704,
-224
],
"parameters": {
"color": 6,
"width": 220,
"height": 280,
"content": "✅ Is LinkedIn Ready? – Proceed or wait\n"
},
"typeVersion": 1
},
{
"id": "1814afd6-f9b6-4448-ab41-20ce0552e380",
"name": "IF node: Is LinkedIn data ready?",
"type": "n8n-nodes-base.if",
"position": [
752,
-128
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "or",
"conditions": [
{
"id": "35ed620d-b5d5-4e97-bcc5-52b283d85616",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.status }}",
"rightValue": "ready"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "e4efd227-5070-4d08-ad2e-a769c27733e3",
"name": "Sticky Note12",
"type": "n8n-nodes-base.stickyNote",
"position": [
992,
144
],
"parameters": {
"color": 7,
"height": 240,
"content": "⏱️ Wait – Retry LinkedIn status after 1 min\n"
},
"typeVersion": 1
},
{
"id": "514b0926-fe1b-4989-a50e-f3210716b8d2",
"name": "Waits before rechecking LinkedIn scraping",
"type": "n8n-nodes-base.wait",
"position": [
1056,
128
],
"webhookId": "7047efad-de41-4608-b95c-d3e0203ef620",
"parameters": {
"unit": "minutes",
"amount": 1
},
"typeVersion": 1.1
},
{
"id": "d05d5230-2d8b-4736-aeee-c529b958da77",
"name": "Sticky Note13",
"type": "n8n-nodes-base.stickyNote",
"position": [
960,
-208
],
"parameters": {
"color": 2,
"width": 280,
"height": 260,
"content": "📊 LinkedIn Data Found? – If yes, continue\n"
},
"typeVersion": 1
},
{
"id": "341fc5a2-5e34-43fb-a84f-0f2451bcbe1c",
"name": "Checks if any LinkedIn job records exist",
"type": "n8n-nodes-base.if",
"position": [
1072,
-144
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "f01bd215-c406-493c-a6e4-2b8ec5686b44",
"operator": {
"type": "number",
"operation": "notEquals"
},
"leftValue": "={{ $json.records }}",
"rightValue": "={{ 0 }}"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "ebec13ab-6727-4ba5-b2d6-efc0c9982200",
"name": "Fetches scraped LinkedIn data using snapshot ID",
"type": "n8n-nodes-base.httpRequest",
"position": [
1360,
-160
],
"parameters": {
"url": "=https://api.brightdata.com/datasets/v3/snapshot/{{ $json.snapshot_id }}",
"options": {},
"sendQuery": true,
"sendHeaders": true,
"queryParameters": {
"parameters": [
{
"name": "format",
"value": "json"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer BRIGHT_DATA_API_KEY"
}
]
}
},
"typeVersion": 4.2
},
{
"id": "1263996f-9d36-41d9-b97b-5e05dadf304a",
"name": "Sticky Note14",
"type": "n8n-nodes-base.stickyNote",
"position": [
1280,
-224
],
"parameters": {
"color": 6,
"width": 260,
"height": 260,
"content": "📥 Get LinkedIn Jobs – Fetch LinkedIn job listings\n\n"
},
"typeVersion": 1
},
{
"id": "8ed92618-ca54-444f-a0ce-732000e8fb56",
"name": "Sticky Note15",
"type": "n8n-nodes-base.stickyNote",
"position": [
1808,
-592
],
"parameters": {
"color": 3,
"width": 280,
"height": 260,
"content": "🔗 Merge – Combine both job sources\n"
},
"typeVersion": 1
},
{
"id": "6c63a361-3288-4a22-b17e-86cca223baf9",
"name": "Combines Indeed + LinkedIn job results",
"type": "n8n-nodes-base.merge",
"position": [
1888,
-528
],
"parameters": {},
"typeVersion": 3.2
},
{
"id": "8bfe2047-5af4-46cc-aa57-021ee6b995f5",
"name": "Sticky Note16",
"type": "n8n-nodes-base.stickyNote",
"position": [
2112,
-592
],
"parameters": {
"color": 4,
"height": 260,
"content": "📄 Save to Sheet – Add job data to “Compare” sheet\n\n"
},
"typeVersion": 1
},
{
"id": "7b5d7dec-9ee3-4e27-995b-5f17168b0d11",
"name": "Saves final job list to Google Sheet",
"type": "n8n-nodes-base.googleSheets",
"position": [
2144,
-528
],
"parameters": {
"columns": {
"value": {
"Salary ": "={{ $json.salary_formatted }}",
"Location": "={{ $json.discovery_input.location }}",
"Job Title": "={{ $json.job_title }}",
"Job-Type ": "={{ $json.job_location }}",
"Apply Link": "={{ $json.url }}",
"Job Detail": "={{ $json.description_text }}",
"Company Name ": "={{ $json.company_name }}"
},
"schema": [
{
"id": "Company Name ",
"type": "string",
"display": true,
"required": false,
"displayName": "Company Name ",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Job Title",
"type": "string",
"display": true,
"required": false,
"displayName": "Job Title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Location",
"type": "string",
"display": true,
"required": false,
"displayName": "Location",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Job Detail",
"type": "string",
"display": true,
"required": false,
"displayName": "Job Detail",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Apply Link",
"type": "string",
"display": true,
"required": false,
"displayName": "Apply Link",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Job No. Application",
"type": "string",
"display": true,
"required": false,
"displayName": "Job No. Application",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Salary ",
"type": "string",
"display": true,
"required": false,
"displayName": "Salary ",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Job-Type ",
"type": "string",
"display": true,
"required": false,
"displayName": "Job-Type ",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "append",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 74196869,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1xkNBckPDGf4YR74bJQN07tAr3qlEoA-70pQc63nBqZ8/edit#gid=74196869",
"cachedResultName": "Compare"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1xkNBckPDGf4YR74bJQN07tAr3qlEoA-70pQc63nBqZ8",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1xkNBckPDGf4YR74bJQN07tAr3qlEoA-70pQc63nBqZ8/edit?usp=drivesdk",
"cachedResultName": "Job Finder sheet"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "3GynTMfjoyPl1MTl",
"name": "Google [email protected]"
}
},
"typeVersion": 4.6
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "3c830d55-1680-435c-b537-bbb3b2587d0f",
"connections": {
"IF node: Is Indeed data ready?": {
"main": [
[
{
"node": "Checks if any Indeed job records exist",
"type": "main",
"index": 0
}
],
[
{
"node": "Pauses for 1 minute if data is not yet ready",
"type": "main",
"index": 0
}
]
]
},
"IF node: Is LinkedIn data ready?": {
"main": [
[
{
"node": "Checks if any LinkedIn job records exist",
"type": "main",
"index": 0
}
],
[
{
"node": "Waits before rechecking LinkedIn scraping",
"type": "main",
"index": 0
}
]
]
},
"Checks if any Indeed job records exist": {
"main": [
[
{
"node": "Fetches scraped Indeed data using snapshot ID",
"type": "main",
"index": 0
}
]
]
},
"Combines Indeed + LinkedIn job results": {
"main": [
[
{
"node": "Saves final job list to Google Sheet",
"type": "main",
"index": 0
}
]
]
},
"Triggers workflow from job search form": {
"main": [
[
{
"node": "Formats form input for Bright Data Indeed API1",
"type": "main",
"index": 0
},
{
"node": "Triggers job scraping on Indeed via Bright Data",
"type": "main",
"index": 0
}
]
]
},
"Checks if LinkedIn scraping is completed": {
"main": [
[
{
"node": "IF node: Is LinkedIn data ready?",
"type": "main",
"index": 0
}
]
]
},
"Checks if any LinkedIn job records exist": {
"main": [
[
{
"node": "Fetches scraped LinkedIn data using snapshot ID",
"type": "main",
"index": 0
}
]
]
},
"Waits before rechecking LinkedIn scraping": {
"main": [
[
{
"node": "Checks if LinkedIn scraping is completed",
"type": "main",
"index": 0
}
]
]
},
"Pauses for 1 minute if data is not yet ready": {
"main": [
[
{
"node": "Checks if Bright Data has completed Indeed scraping",
"type": "main",
"index": 0
}
]
]
},
"Fetches scraped Indeed data using snapshot ID": {
"main": [
[
{
"node": "Combines Indeed + LinkedIn job results",
"type": "main",
"index": 0
}
]
]
},
"Formats form input for Bright Data Indeed API1": {
"main": [
[
{
"node": "Triggers job scraping on LinkedIn via Bright Data",
"type": "main",
"index": 0
}
]
]
},
"Fetches scraped LinkedIn data using snapshot ID": {
"main": [
[
{
"node": "Combines Indeed + LinkedIn job results",
"type": "main",
"index": 1
}
]
]
},
"Triggers job scraping on Indeed via Bright Data": {
"main": [
[
{
"node": "Checks if Bright Data has completed Indeed scraping",
"type": "main",
"index": 0
}
]
]
},
"Triggers job scraping on LinkedIn via Bright Data": {
"main": [
[
{
"node": "Checks if LinkedIn scraping is completed",
"type": "main",
"index": 0
}
]
]
},
"Checks if Bright Data has completed Indeed scraping": {
"main": [
[
{
"node": "IF node: Is Indeed data ready?",
"type": "main",
"index": 0
}
]
]
}
}
}