{
  "openapi": "3.0.1",
  "info": {
    "title": "LinkedIn Post Search Scraper — No Login, No Cookies",
    "description": "Search public LinkedIn posts by keyword, author, hashtag or date. No login or cookie needed. Author, full text, exact date, reactions, comments, media and job cards. Optional cookie power mode.",
    "version": "0.1",
    "x-build-id": "DwYYXp79NqSBrWft3"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/yugenox~linkedin-post-search/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-yugenox-linkedin-post-search",
        "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/yugenox~linkedin-post-search/runs": {
      "post": {
        "operationId": "runs-sync-yugenox-linkedin-post-search",
        "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/yugenox~linkedin-post-search/run-sync": {
      "post": {
        "operationId": "run-sync-yugenox-linkedin-post-search",
        "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": {
          "keyword": {
            "title": "Keyword",
            "type": "string",
            "description": "What to search for, e.g. hiring toronto. Words are all required. Use \"quotes\" for an exact phrase, OR for alternatives and -word to exclude. Leave empty if you only search by author or post URL."
          },
          "datePosted": {
            "title": "Date posted",
            "enum": [
              "any",
              "past-24h",
              "past-week",
              "past-month",
              "past-3-months",
              "past-6-months",
              "past-year"
            ],
            "type": "string",
            "description": "Only posts from this period. Dates are exact (read from the post id).",
            "default": "any"
          },
          "maxPosts": {
            "title": "Max posts",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "How many posts to return per keyword (and per author when you give authors without a keyword). You pay only for full posts delivered.",
            "default": 50
          },
          "searchQueries": {
            "title": "More keywords",
            "type": "array",
            "description": "Search several keywords in one run. Each keyword gets its own Max posts.",
            "items": {
              "type": "string"
            }
          },
          "authorUrls": {
            "title": "Authors (profile or company URLs)",
            "type": "array",
            "description": "Only posts by these authors, e.g. https://www.linkedin.com/company/shopify or https://www.linkedin.com/in/williamhgates. Companies: their public feed (about 70 latest posts) plus search. People: search only, best effort.",
            "items": {
              "type": "string"
            }
          },
          "hashtags": {
            "title": "Hashtags",
            "type": "array",
            "description": "Only posts that use all of these hashtags, e.g. #hiring.",
            "items": {
              "type": "string"
            }
          },
          "excludeKeywords": {
            "title": "Exclude words",
            "type": "array",
            "description": "Drop posts that contain any of these words or phrases.",
            "items": {
              "type": "string"
            }
          },
          "postedAfter": {
            "title": "Posted after",
            "type": "string",
            "description": "Exact start date (YYYY-MM-DD) or a relative one such as 7 days. Overrides Date posted."
          },
          "postedBefore": {
            "title": "Posted before",
            "type": "string",
            "description": "Exact end date (YYYY-MM-DD, inclusive) or a relative one."
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "relevance",
              "date"
            ],
            "type": "string",
            "description": "Relevance (default) or newest first.",
            "default": "relevance"
          },
          "onlyWithJob": {
            "title": "Only posts with a job card",
            "type": "boolean",
            "description": "Return only hiring posts that carry a structured job (title, company, location and direct apply URL).",
            "default": false
          },
          "language": {
            "title": "Language",
            "type": "string",
            "description": "Two-letter language code, e.g. en, fr, de. Empty = any language."
          },
          "postUrls": {
            "title": "Post URLs",
            "type": "array",
            "description": "Fetch these LinkedIn posts directly (no search). Any post URL form works.",
            "items": {
              "type": "string"
            }
          },
          "strictMatch": {
            "title": "Strict keyword match",
            "type": "boolean",
            "description": "Keep a post only if its own text, author or hashtags contain your keyword (search engines also match comments and related posts). Turn off for broader results.",
            "default": true
          },
          "includeComments": {
            "title": "Include comment previews",
            "type": "boolean",
            "description": "Up to about 10 public comments per post, when LinkedIn shows them to guests.",
            "default": true
          },
          "expandRelated": {
            "title": "Use related posts",
            "type": "boolean",
            "description": "Also use matching posts that LinkedIn lists as related on each post page. Faster and cheaper; they still must match your keyword.",
            "default": true
          },
          "includePartialResults": {
            "title": "Include free preview rows",
            "type": "boolean",
            "description": "When LinkedIn shows guests only a preview of a post, or a page cannot be read, still return the post link, date, author and search snippet, marked dataQuality preview or partial. These rows are free.",
            "default": true
          },
          "monitorMode": {
            "title": "Monitor mode (only new posts)",
            "type": "boolean",
            "description": "For scheduled runs: return and charge only posts not delivered by an earlier run with the same monitor key. Memory is kept in your own key-value store.",
            "default": false
          },
          "monitorKey": {
            "title": "Monitor key",
            "type": "string",
            "description": "Name for this monitor's memory, e.g. hiring-toronto. Runs with the same key share it."
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Proxy for LinkedIn pages. Default: Apify datacenter, with a small automatic residential fallback. Google search always uses Apify's Google SERP proxy."
          },
          "sessionCookie": {
            "title": "Optional: your LinkedIn cookie (power mode)",
            "type": "string",
            "description": "Leave empty to search public posts without login. Add your li_at for deeper (~400 per search) real-time results from LinkedIn's own search. Log in to linkedin.com in Chrome, press F12, Application, Cookies, https://www.linkedin.com, copy the value of li_at. Stored encrypted. If LinkedIn rejects it, the run switches to the no-login mode automatically."
          },
          "mode": {
            "title": "Mode",
            "enum": [
              "auto",
              "noLogin",
              "cookie"
            ],
            "type": "string",
            "description": "Auto: power mode when a cookie is given, otherwise no-login. Force one with the other options.",
            "default": "auto"
          },
          "fallbackToNoLogin": {
            "title": "Fall back to no-login",
            "type": "boolean",
            "description": "If your cookie is rejected, or LinkedIn stops the cookie search early, fill the rest from public search.",
            "default": true
          },
          "delayMs": {
            "title": "Cookie mode throttle (ms)",
            "minimum": 0,
            "maximum": 10000,
            "type": "integer",
            "description": "Power mode only: delay between LinkedIn search pages. Higher is slower but safer for your account.",
            "default": 700
          },
          "maxSearchPages": {
            "title": "Max search pages",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Optional cap on Google result pages per keyword (each costs about $0.0025 of Apify platform usage). Empty = automatic."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}