{
  "openapi": "3.0.1",
  "info": {
    "title": "LinkedIn Post Comments Scraper With Commenter Profile Details",
    "description": "LinkedIn Post Comments Scraper With Commenter Profile Details Extract comment text, author names, profile links, timestamps, and engagement data from public posts. Perfect for audience insights, competitor research, lead generation, and campaign analysis. Turn LinkedIn conversations into data 🚀",
    "version": "0.1",
    "x-build-id": "e9EEfYtMa3qln27Pb"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapelabsapi~linkedin-post-comments-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapelabsapi-linkedin-post-comments-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/scrapelabsapi~linkedin-post-comments-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapelabsapi-linkedin-post-comments-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/scrapelabsapi~linkedin-post-comments-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapelabsapi-linkedin-post-comments-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "postUrls": {
            "title": "🔗 LinkedIn post URLs",
            "type": "array",
            "description": "One or more LinkedIn post URLs, activity URNs (urn:li:activity:123…) or bare numeric activity IDs. Each post is read separately. Example: https://www.linkedin.com/feed/update/urn:li:activity:7289521182721093633/",
            "items": {
              "type": "string"
            }
          },
          "commentsPerPost": {
            "title": "💬 Comments per post",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "How many top-level comments to read from each post. Counts COMMENTS only — commenter profile lookups are extra and are never charged against this number. Logged-out, LinkedIn serves a guest about the first 9–10 comments per post; add a cookie below to go deeper. Default is 10.",
            "default": 10
          },
          "enrichCommenters": {
            "title": "🧑‍💼 Attach commenter profile details",
            "type": "boolean",
            "description": "Opens each unique commenter's public LinkedIn profile once and attaches: exact follower count, current company + company page URL + company location, country, city, about text and languages. Turn off for a plain comment export. Default is on.",
            "default": true
          },
          "uniqueCommentersOnly": {
            "title": "👥 One row per person",
            "type": "boolean",
            "description": "Keep only the first comment from each person across the whole run. Useful when the same people comment on several of the posts you supplied and you want a clean people list. Default is off (every comment gets a row).",
            "default": false
          },
          "maxProfileLookups": {
            "title": "🎯 Profile lookup budget",
            "minimum": 0,
            "type": "integer",
            "description": "Cap on how many unique profiles to open in one run — a safety valve for very large post lists. Rows past the cap still return the comment with the profile fields marked 'lookup_budget_reached'. 0 = no cap. Default is 0.",
            "default": 0
          },
          "commentAge": {
            "title": "📅 Only comments newer than",
            "enum": [
              "any",
              "24h",
              "week",
              "month",
              "3months",
              "6months",
              "year"
            ],
            "type": "string",
            "description": "Drop comments older than the chosen window. Every comment carries an exact UTC timestamp, so this filter is precise rather than approximate.",
            "default": "any"
          },
          "includeReplies": {
            "title": "↩️ Include replies under each comment",
            "type": "boolean",
            "description": "Nests replies inside each comment row. Replies are only served on the cookie path — LinkedIn does not render reply threads to logged-out visitors, so this stays empty without a cookie.",
            "default": false
          },
          "authorDetailLevel": {
            "title": "🖼️ Comment author detail",
            "enum": [
              "short",
              "full"
            ],
            "type": "string",
            "description": "Short keeps the comment rows lean. Full adds the author's avatar and headline on the cookie path. This is separate from the profile enrichment above.",
            "default": "short"
          },
          "liAtCookie": {
            "title": "🍪 LinkedIn cookie (li_at) — optional",
            "type": "string",
            "description": "Leave empty to run logged-out (the default, and what this actor is built for). Supplying your li_at cookie switches the comment engine to the authenticated one and lifts the ~10-comments-per-post guest ceiling. Profile enrichment works either way."
          },
          "proxyConfiguration": {
            "title": "🌐 Proxy",
            "type": "object",
            "description": "Optional. The actor already escalates direct → datacenter → residential on its own and rotates the exit IP when LinkedIn throttles a profile request."
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}