{
  "openapi": "3.0.1",
  "info": {
    "title": "LinkedIn User Reactions Scraper [NO COOKIES] ✅",
    "description": "Scrape every reaction (like, celebrate, support) a LinkedIn user has given, with the full post, author and engagement. Optional interest profile shows their topics, favourite authors and active hours at a glance. Paste a list of people. No login, no cookies.",
    "version": "0.0",
    "x-build-id": "j5q7aWgEr6Fd1RhNT"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/unseenuser~LinkedIn-user-reactions/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-unseenuser-LinkedIn-user-reactions",
        "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~LinkedIn-user-reactions/runs": {
      "post": {
        "operationId": "runs-sync-unseenuser-LinkedIn-user-reactions",
        "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~LinkedIn-user-reactions/run-sync": {
      "post": {
        "operationId": "run-sync-unseenuser-LinkedIn-user-reactions",
        "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": [
          "profiles"
        ],
        "properties": {
          "profiles": {
            "title": "LinkedIn people to check",
            "minItems": 1,
            "uniqueItems": true,
            "type": "array",
            "description": "One person per line. Paste them however you have them - all four of these work and you can mix them in the same list:\n\n1. Full link: https://www.linkedin.com/in/satyanadella\n2. Short link: linkedin.com/in/satyanadella\n3. Just the username: satyanadella\n4. LinkedIn internal ID: ACoAAAEkwwAB9KEc2TrQgOLEQ-vzRyZeCDyc6DQ\n\nTo find someone's username, open their LinkedIn profile and look at the address bar: the part after /in/ is what you need. Internal IDs are slightly faster, but usernames and links are easier and work just as well.",
            "items": {
              "type": "string"
            }
          },
          "time_window": {
            "title": "Only include reactions from this period",
            "enum": [
              "anytime",
              "24_hours",
              "7_days",
              "30_days",
              "3_months",
              "6_months",
              "1_year",
              "2_years",
              "5_years"
            ],
            "type": "string",
            "description": "Every reaction carries the real date it happened, so this cutoff is exact rather than an estimate. Example: choose 'Last 7 days' for a weekly check on a prospect before you message them, or leave it on 'Anytime' to pull someone's whole visible history. Choosing a shorter period also makes the run finish sooner and cost less, because the Actor stops as soon as it reaches a reaction older than your cutoff.",
            "default": "anytime"
          },
          "max_results": {
            "title": "Results limit (0 = all results)",
            "minimum": 0,
            "type": "integer",
            "description": "Leave this at 0 to get everything found - 0 means no limit. Set a number only if you want a predictable bill: for example, 200 keeps a big list of people from turning into a large charge, while 0 pulls full histories.\n\nThis is purely a spending control, not a technical ceiling. The Actor can comfortably return far more than any number you are likely to type here, so there is no performance reason to set it.\n\nFree Apify users receive at most 5 results per run whatever you enter here.",
            "default": 0
          },
          "max_results_per_profile": {
            "title": "Results limit per person (0 = all results)",
            "minimum": 0,
            "type": "integer",
            "description": "Leave this at 0 for no per-person limit. Use it when your list mixes quiet people with very active ones and you do not want one heavy poster to eat the whole run: set 50, and every person gives you their 50 most recent reactions before the Actor moves on to the next.\n\nThis works alongside the overall results limit above. Whichever limit is reached first applies.",
            "default": 0
          },
          "include_interest_profile": {
            "title": "Add an interest profile for each person",
            "type": "boolean",
            "description": "Adds one extra summary row per person on top of their reactions. That row tells you, at a glance: which reactions they use most, how often they react, the day and hour they are usually active, the authors they engage with most, the companies that come up most in the posts they react to, the topics those posts are about, and what kind of content they prefer (text, image, video, article, document).\n\nUse it when you have a long list of people and want to see who is worth reading in full before you open anything.\n\nEach interest profile row counts as one result, so a list of 20 people adds 20 rows.",
            "default": false
          },
          "include_raw": {
            "title": "Include the raw upstream record on every row (_raw)",
            "type": "boolean",
            "description": "On by default, so nothing changes for existing runs. Each reaction row carries a `_raw` field holding the complete untouched record this Actor received, including fields it does not surface as columns.\n\nTurn it off if you do not need it. The rows get much smaller, and the output stops repeating personal data that the named columns already select from.\n\nPlanned change: this will default to off in a future version, announced in advance. Set it to true explicitly if your integration reads `_raw` and you want it to keep arriving.",
            "default": true
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}