{
  "openapi": "3.0.1",
  "info": {
    "title": "🔬 LinkedIn Comment Thread: Replies + Reactors [No Login] ✅",
    "description": "Pull every reply and every reactor for a single LinkedIn comment thread, in one run. Built for community managers, journalists, and crisis-monitoring teams. No login, no cookies, no upsell. Every URL returns rows with a clear reason - never a silent zero-result run.",
    "version": "0.0",
    "x-build-id": "lhRaBScLGKlZdrfTg"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/unseenuser~Comment-reactions-and-replies/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-unseenuser-Comment-reactions-and-replies",
        "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/unseenuser~Comment-reactions-and-replies/runs": {
      "post": {
        "operationId": "runs-sync-unseenuser-Comment-reactions-and-replies",
        "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/unseenuser~Comment-reactions-and-replies/run-sync": {
      "post": {
        "operationId": "run-sync-unseenuser-Comment-reactions-and-replies",
        "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",
        "required": [
          "comment_urls"
        ],
        "properties": {
          "comment_urls": {
            "title": "LinkedIn comment URLs",
            "uniqueItems": true,
            "type": "array",
            "description": "One LinkedIn comment URL per line. Each URL must contain a 'commentUrn' parameter. Tip: on LinkedIn, click the timestamp of the specific comment you want to analyze - the URL in your browser address bar then contains 'commentUrn=...'. Duplicates are removed automatically. One dataset row is produced per URL.",
            "items": {
              "type": "string"
            }
          },
          "include_replies": {
            "title": "Fetch replies",
            "type": "boolean",
            "description": "Get every reply to each comment.",
            "default": true
          },
          "include_reactions": {
            "title": "Fetch reactions",
            "type": "boolean",
            "description": "Get every reactor (LIKE, CELEBRATE, SUPPORT, LOVE, INSIGHTFUL, FUNNY).",
            "default": true
          },
          "max_replies": {
            "title": "Max number of replies per comment (0 = all replies)",
            "minimum": 0,
            "type": "integer",
            "description": "Upper bound on how many direct replies to fetch per comment. 0 = fetch every direct reply the underlying API returns (no user-side limit). This cap exists to protect you from an unexpectedly large run and is not a technical limit; per-result compute cost is roughly $0.0336 per 1,000 results.",
            "default": 0
          },
          "max_reactions": {
            "title": "Max number of reactions per comment (0 = all reactions)",
            "minimum": 0,
            "type": "integer",
            "description": "Upper bound on how many reactors to fetch per comment. 0 = fetch every reactor the underlying API returns for this comment (no user-side limit). This cap exists to protect you from an unexpectedly large run and is not a technical limit; per-result compute cost is roughly $0.0336 per 1,000 results.",
            "default": 0
          },
          "sort_replies_by": {
            "title": "Sort replies by",
            "enum": [
              "date",
              "relevance"
            ],
            "type": "string",
            "description": "Order in which replies are returned. Note: the underlying API uses token-based pagination, so this is a hint only.",
            "default": "date"
          },
          "emit_engagers": {
            "title": "Emit deduplicated engager rows",
            "type": "boolean",
            "description": "When true, emit one row per unique person who engaged with the queried comment (deduplicated across replies and reactions) into the same output dataset as replies and reactions, tagged with type='engager' (or type='enriched_engager' when enrichment is also on). Filter by type in your export to isolate them. Adds an 'engager' billing event per row.",
            "default": false
          },
          "enrich_engagers": {
            "title": "Enrich engagers with ICP scoring (LLM)",
            "type": "boolean",
            "description": "When true, run each deduplicated engager through Claude Haiku to attach an ICP fit score against your ICP description, seniority level, decision-maker flag, buying intent score, intent type, and sentiment. Requires an Anthropic API key below. Implies emit_engagers=true. Bills as 'enriched_engager' event instead of 'engager'. You cover the Anthropic API cost directly on your own key (~$0.30 per 1,000 engagers).",
            "default": false
          },
          "anthropic_api_key": {
            "title": "Anthropic API key (only used when enrichment is on)",
            "type": "string",
            "description": "Your own Anthropic API key (sk-ant-...). Only used when 'Enrich engagers with ICP scoring' is on. Never stored, never logged. Get one at https://console.anthropic.com/settings/keys."
          },
          "icp_description": {
            "title": "Your ideal customer profile (only used when enrichment is on)",
            "type": "string",
            "description": "Free-text description of who you want to identify among engagers. Used verbatim by the ICP scoring layer. Example: 'B2B SaaS CTOs at 50-500 person Series A companies in North America, interested in developer productivity tooling.' Only used when enrichment is on.",
            "default": ""
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}