{
  "openapi": "3.0.1",
  "info": {
    "title": "LinkedIn Profile Posts Scraper",
    "description": "Scrape a LinkedIn person's recent public posts by profile URL. Returns post text, post URL, posted date, reactions, comments, shares, media, repost flag, and author identity. Provider-backed, no login or cookies. Charged $0.005 per post.",
    "version": "0.1",
    "x-build-id": "s4dPFwZBpjCrfRbDJ"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/khadinakbar~linkedin-profile-posts-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-khadinakbar-linkedin-profile-posts-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/khadinakbar~linkedin-profile-posts-scraper/runs": {
      "post": {
        "operationId": "runs-sync-khadinakbar-linkedin-profile-posts-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/khadinakbar~linkedin-profile-posts-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-khadinakbar-linkedin-profile-posts-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",
        "required": [
          "profileUrls"
        ],
        "properties": {
          "profileUrls": {
            "title": "LinkedIn profile URLs",
            "type": "array",
            "description": "Public LinkedIn person profile URLs whose recent posts you want, one per line, for example https://www.linkedin.com/in/williamhgates/. A bare vanity handle such as williamhgates is also accepted and expanded to a full /in/ URL. Returns only publicly visible recent posts (the incognito activity preview), not a full historical feed. NOT for company pages (use linkedin-company-posts-scraper) or keyword search (use linkedin-posts-scraper).",
            "items": {
              "type": "string"
            }
          },
          "maxPostsPerProfile": {
            "title": "Maximum posts per profile",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "Maximum number of post rows to save for each profile, which also caps billable post-scraped events per profile. Accepts 1 to 200, for example 20. Default is 20. Providers expose only the recent public preview, so very high values may not yield more rows.",
            "default": 20
          },
          "authoredOnly": {
            "title": "Authored posts only",
            "type": "boolean",
            "description": "When enabled, keep only posts the person authored themselves and drop likes, comments, and reactions surfaced in their activity. Accepts true or false. Default is false, which returns every item in the public activity preview. Set true for a clean feed of the person's own posts.",
            "default": false
          },
          "includeReposts": {
            "title": "Include reposts",
            "type": "boolean",
            "description": "Whether to include posts the person reposted or shared from others. Accepts true or false. Default is true. Set false to exclude reshared content; ignored when Authored posts only is enabled.",
            "default": true
          },
          "enrichPostDetails": {
            "title": "Enrich post details",
            "type": "boolean",
            "description": "Fetch each post's full detail (full text, exact reaction, comment, and share counts) from the post-detail endpoint. Accepts true or false. Default is false to keep runs fast and cheap; each enriched post adds a post-enriched charge. The profile preview itself often lacks exact engagement counts, so enable this when you need them.",
            "default": false
          },
          "includeComments": {
            "title": "Include comments preview",
            "type": "boolean",
            "description": "Include up to five public comments returned inside an enriched post payload. Accepts true or false. Default is false to keep records compact for agents. This is a preview only and requires Enrich post details; use a dedicated comments actor for exhaustive comment rows.",
            "default": false
          },
          "outputMode": {
            "title": "Output mode",
            "enum": [
              "full",
              "compact"
            ],
            "type": "string",
            "description": "Compact keeps the core fields for MCP agents and tables; full also includes author headline, location, image, and the full media list. Accepts full or compact. Default is full. Raw provider payloads still require Include raw data.",
            "default": "full"
          },
          "includeRawData": {
            "title": "Include raw provider data",
            "type": "boolean",
            "description": "Attach the raw provider payload to each dataset item under rawPost and rawDetail. Accepts true or false. Default is false because raw payloads are large and less useful for agents. Enable only for debugging or custom parsing; it never exposes provider API keys.",
            "default": false
          },
          "providerOrder": {
            "title": "Provider order",
            "enum": [
              "scrapecreators-first",
              "sociavault-first",
              "scrapecreators-only",
              "sociavault-only"
            ],
            "type": "string",
            "description": "Which managed provider is tried first for profile and post-detail requests, with automatic fallback to the other. Accepts scrapecreators-first, sociavault-first, scrapecreators-only, or sociavault-only. Default is scrapecreators-first. Use an only mode to pin a single provider for testing.",
            "default": "scrapecreators-first"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}