AutomationFlowsSocial Media › Extract Linkedin Post Engagement Data with Airtop

Extract Linkedin Post Engagement Data with Airtop

ByAirtop @cesar-at-airtop on n8n.io

This automation is designed to extract key engagement metrics and audience data from a LinkedIn post. It's useful for analyzing the impact of content and identifying engaged users for lead generation, marketing, or research purposes.

Event trigger★★★★☆ complexity7 nodesAirtopExecute Workflow TriggerForm Trigger
Social Media Trigger: Event Nodes: 7 Complexity: ★★★★☆ Added:

This workflow corresponds to n8n.io template #4251 — we link there as the canonical source.

This workflow follows the Execute Workflow Trigger → Form Trigger 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 →

Download .json
{
  "id": "3gPcwtlj06KIygRO",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "name": "LinkedIn Post Engagement Data Extractor - Template",
  "tags": [],
  "nodes": [
    {
      "id": "6b6d54ef-21ad-43ef-be6a-14fc4295577d",
      "name": "Airtop",
      "type": "n8n-nodes-base.airtop",
      "position": [
        160,
        220
      ],
      "parameters": {
        "url": "={{ $json.post_url }}",
        "prompt": "You are looking at a LinkedIn post.\nYour job is to extract engagement data from the post.\n\nExtract the information of the people that have commented and reacted to this post. I want their name, their job title and their profile_url.\n\nI also want the total number of reactions, comments and reposts. For each of these values, if you are unable to find it, set it as -1.",
        "resource": "extraction",
        "operation": "query",
        "profileName": "={{ $json.airtop_profile }}",
        "sessionMode": "new",
        "additionalFields": {
          "outputSchema": "{\n  \"type\": \"object\",\n  \"properties\": {\n    \"interactors\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"name\": {\n            \"type\": \"string\",\n            \"description\": \"The name of the person who commented or reacted.\"\n          },\n          \"job_title\": {\n            \"type\": \"string\",\n            \"description\": \"The job title of the person who commented or reacted.\"\n          },\n          \"profile_url\": {\n            \"type\": \"string\",\n            \"description\": \"The url of their profile\"\n          }\n        },\n        \"required\": [\n          \"name\",\n          \"job_title\"\n        ],\n        \"additionalProperties\": false\n      }\n    },\n    \"reactions_count\": {\n      \"type\": \"number\",\n      \"description\": \"the number of reactions the post received\"\n    },\n    \"comments_count\": {\n      \"type\": \"number\",\n      \"description\": \"the number of comments the post has\"\n    },\n    \"reposts_count\": {\n      \"type\": \"number\",\n      \"description\": \"the number of reposts the post has\"\n    }\n  },\n  \"required\": [\n    \"interactors\",\n    \"reactions_count\",\n    \"comments_count\",\n    \"reposts_count\"\n  ],\n  \"additionalProperties\": false,\n  \"$schema\": \"http://json-schema.org/draft-07/schema#\"\n}"
        }
      },
      "credentials": {},
      "typeVersion": 1
    },
    {
      "id": "463f422f-ee53-4d84-b904-764a69a60f1a",
      "name": "Parse engagement analysis response",
      "type": "n8n-nodes-base.code",
      "position": [
        380,
        220
      ],
      "parameters": {
        "jsCode": "const result = JSON.parse($input.first().json.data.modelResponse)\nreturn [{json: {...result}}]"
      },
      "typeVersion": 2
    },
    {
      "id": "32383187-f2f2-4b00-b7c8-4b7d684e6fc1",
      "name": "Sticky Note1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -360,
        -40
      ],
      "parameters": {
        "color": 5,
        "width": 900,
        "height": 540,
        "content": "## Extract engagmenet data\nWith airtop and a simple prompt, the agent is able to extract information from a LinkedIn post like:\n- Amount of comments on the post\n- Amount of reactions on the post\n- Amount of reposts\n- A list of commenters, with their name, job title and profile url"
      },
      "typeVersion": 1
    },
    {
      "id": "2869efa1-1ca1-44a6-a980-2d901f6cadcf",
      "name": "When Executed by Another Workflow",
      "type": "n8n-nodes-base.executeWorkflowTrigger",
      "position": [
        -280,
        320
      ],
      "parameters": {
        "workflowInputs": {
          "values": [
            {
              "name": "airtop_profile"
            },
            {
              "name": "linkedin_post_url"
            }
          ]
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "1c593188-6f2f-4182-a9bf-93da8acd0791",
      "name": "On form submission",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        -280,
        120
      ],
      "parameters": {
        "options": {},
        "formTitle": "LinkedIn Post Engagement Data Extractor",
        "formFields": {
          "values": [
            {
              "fieldLabel": "Airtop Profile (Logged into Linkedin)",
              "requiredField": true
            },
            {
              "fieldLabel": "Post URL",
              "requiredField": true
            }
          ]
        },
        "formDescription": "With this Agent, you'll be able to extract valuable information from a LinkedIn Post, such as number comments, reactions and reposts for a given publication, as well as a list of some of the commenters with their respective titles and profile urls"
      },
      "typeVersion": 2.2
    },
    {
      "id": "74d20b84-fe2c-4d4f-beab-39d900eba200",
      "name": "Map fields",
      "type": "n8n-nodes-base.set",
      "position": [
        -60,
        220
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "c0dc91e4-64bc-4082-b109-835f061eee4c",
              "name": "airtop_profile",
              "type": "string",
              "value": "={{ $json.airtop_profile || $json[\"Airtop Profile (Logged into Linkedin)\"] }}"
            },
            {
              "id": "afc8f5b2-73bf-4bd0-b98c-458c521c8a0d",
              "name": "post_url",
              "type": "string",
              "value": "={{ $json.linkedin_post_url || $json[\"Post URL\"] }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "5f79d197-6e41-4762-9d86-f62ada1e0c85",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1400,
        -240
      ],
      "parameters": {
        "width": 900,
        "height": 1260,
        "content": "README\n\n# LinkedIn Post Engagement Data Extractor\n\n## Use Case\nThis automation is designed to extract key engagement metrics and audience data from a LinkedIn post. It's useful for analyzing the impact of content and identifying engaged users for lead generation, marketing, or research purposes.\n\n## What It Does\nGiven a LinkedIn post URL and an Airtop profile, this automation extracts:\n\n- Total number of reactions\n- Total number of comments\n- Total number of reposts\n- A list of users who reacted or commented, including:\n  - Their full name\n  - Their job title\n  - A link to their LinkedIn profile\n\n## Input Parameters\n\n| Name             | Description                                                | Required |\n|------------------|------------------------------------------------------------|----------|\n| airtop_profile   | The name of an [Airtop Profile](https://portal.airtop.ai/browser-profiles) that's logged into LinkedIn | Yes      |\n| linkedin_post_url| The full URL of the LinkedIn post you want to analyze     | Yes      |\n\n## How It Works\n\n1. The workflow starts when triggered manually or from another workflow/form.\n2. It maps input fields for Airtop profile and post URL.\n3. Airtop opens a browser session and loads the LinkedIn post.\n4. An AI agent is instructed to extract engagement data via prompt-based analysis.\n5. The response is parsed and output in a structured format.\n\n## Output Format\n\nThe output will be a structured JSON object with the following fields:\n\n```json\n{\n  \"interactors\": [\n    {\n      \"name\": \"Jane Doe\",\n      \"job_title\": \"Marketing Director at ExampleCorp\",\n      \"profile_url\": \"https://linkedin.com/in/janedoe\"\n    }\n    // ... more interactors\n  ],\n  \"reactions_count\": 153,\n  \"comments_count\": 21,\n  \"reposts_count\": 8\n}\n"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "6de86713-894a-42b1-b461-2baa11f343b2",
  "connections": {
    "Airtop": {
      "main": [
        [
          {
            "node": "Parse engagement analysis response",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Map fields": {
      "main": [
        [
          {
            "node": "Airtop",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "On form submission": {
      "main": [
        [
          {
            "node": "Map fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "When Executed by Another Workflow": {
      "main": [
        [
          {
            "node": "Map fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

This automation is designed to extract key engagement metrics and audience data from a LinkedIn post. It's useful for analyzing the impact of content and identifying engaged users for lead generation, marketing, or research purposes.

Source: https://n8n.io/workflows/4251/ — original creator credit. Request a take-down →

More Social Media workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Social Media

Automatically sending LinkedIn connection requests to prospects can significantly streamline your outreach process. This automation ensures you only send requests to users you're not already connected

Form Trigger, Execute Workflow Trigger, Airtop
Social Media

Finding the official LinkedIn page of a company is crucial for tasks like outreach, research, or enrichment. This automation streamlines the process by intelligently searching the company’s website an

Form Trigger, Execute Workflow Trigger, Airtop
Social Media

Accurately identifying and verifying a person’s LinkedIn profile is essential for prospecting, recruiting, or contact enrichment. This automation ensures high accuracy by combining search logic with o

Form Trigger, Execute Workflow Trigger, Airtop
Social Media

This automation verifies that a given LinkedIn URL actually belongs to a company by comparing the website listed on their LinkedIn page against the expected company domain. It is essential for ensurin

Form Trigger, Execute Workflow Trigger, Airtop
Social Media

This automation extracts detailed company insights from a LinkedIn company page, including identity, scale, classification, and funding data. Ideal for investors, sales teams, and market researchers.

Form Trigger, Execute Workflow Trigger, Airtop