{
  "openapi": "3.0.1",
  "info": {
    "title": "LinkedIn Posts Search - Bulk, Hiring, Country& Comments search",
    "description": "Search LinkedIn posts by multiple keywords in one run. Filter by country, hiring intent, freshness and engagement, or find posts through matching text in collected comments. Export post text, authors, engagement counts and available comments.",
    "version": "1.0",
    "x-build-id": "3fZ0H2D7v9ZWf7SAA"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/sandhive~linkedin-posts-parser/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-sandhive-linkedin-posts-parser",
        "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/sandhive~linkedin-posts-parser/runs": {
      "post": {
        "operationId": "runs-sync-sandhive-linkedin-posts-parser",
        "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/sandhive~linkedin-posts-parser/run-sync": {
      "post": {
        "operationId": "run-sync-sandhive-linkedin-posts-parser",
        "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": {
          "query": {
            "title": "Search queries",
            "type": "array",
            "description": "One or more keyword / LinkedIn boolean queries. Multiple entries are OR'd together. Each entry supports AND, OR, NOT, quoted phrases, and parentheses — e.g. `\"strategy and operations\" AND hiring AND (Chennai OR Kolkata OR Jaipur OR India)`. A single plain string in JSON input is also accepted.",
            "items": {
              "type": "string",
              "maxLength": 500
            }
          },
          "excludeWords": {
            "title": "Exclude words",
            "maxLength": 500,
            "type": "string",
            "description": "Exclude posts containing any of these indexed word tokens."
          },
          "country": {
            "title": "Country",
            "type": "array",
            "description": "ISO-2 LinkedIn country/subdomain codes (OR), for example us, gb, de, fr. A single string in JSON input is also accepted.",
            "items": {
              "type": "string",
              "maxLength": 10
            }
          },
          "hashtags": {
            "title": "Hashtags",
            "type": "array",
            "description": "Return posts containing any of these hashtags. Values may include or omit '#'.",
            "items": {
              "type": "string"
            }
          },
          "contentType": {
            "title": "Content type",
            "maxLength": 50,
            "type": "string",
            "description": "Stored LinkedIn content type, for example POST."
          },
          "commentQuery": {
            "title": "Comment text contains",
            "maxLength": 500,
            "type": "string",
            "description": "Case-insensitive text search inside parsed comments."
          },
          "commentAuthor": {
            "title": "Comment author contains",
            "maxLength": 200,
            "type": "string",
            "description": "Case-insensitive search by parsed comment author name."
          },
          "hasComments": {
            "title": "Has parsed comments",
            "enum": [
              "",
              "true",
              "false"
            ],
            "type": "string",
            "description": "Filter by whether parsed comment objects are present.",
            "default": ""
          },
          "isHiring": {
            "title": "Hiring signal",
            "enum": [
              "",
              "true",
              "false"
            ],
            "type": "string",
            "description": "Filter by whether the post appears to be a hiring or job announcement.",
            "default": ""
          },
          "hasLink": {
            "title": "External link",
            "enum": [
              "",
              "true",
              "false"
            ],
            "type": "string",
            "description": "Filter by whether the post contains an external link.",
            "default": ""
          },
          "minLikes": {
            "title": "Minimum likes",
            "minimum": 0,
            "type": "integer",
            "description": "Only return posts with at least this many likes."
          },
          "maxLikes": {
            "title": "Maximum likes",
            "minimum": 0,
            "type": "integer",
            "description": "Only return posts with no more than this many likes."
          },
          "minComments": {
            "title": "Minimum comments",
            "minimum": 0,
            "type": "integer",
            "description": "Only return posts with at least this many comments."
          },
          "maxComments": {
            "title": "Maximum comments",
            "minimum": 0,
            "type": "integer",
            "description": "Only return posts with no more than this many comments."
          },
          "minLikesPerHour": {
            "title": "Minimum likes per hour",
            "minimum": 0,
            "type": "number",
            "description": "Only return posts with at least this likes/hour velocity."
          },
          "maxLikesPerHour": {
            "title": "Maximum likes per hour",
            "minimum": 0,
            "type": "number",
            "description": "Only return posts with no more than this likes/hour velocity."
          },
          "minCommentsPerHour": {
            "title": "Minimum comments per hour",
            "minimum": 0,
            "type": "number",
            "description": "Only return posts with at least this comments/hour velocity."
          },
          "maxCommentsPerHour": {
            "title": "Maximum comments per hour",
            "minimum": 0,
            "type": "number",
            "description": "Only return posts with no more than this comments/hour velocity."
          },
          "postedWithinHours": {
            "title": "Posted within hours",
            "minimum": 0,
            "maximum": 8760,
            "type": "integer",
            "description": "Only posts published within the last N hours (max 8760). When query/excludeWords is set and this is omitted, the API defaults to 216 h (9 days). Pass 0 to disable that default. Ignored when postedAfter/postedBefore is set. Not needed when using parsed* filters — those already derive a publication window."
          },
          "timeRelevance": {
            "title": "Time relevance",
            "enum": [
              "",
              "any",
              "lastHour",
              "last24h",
              "lastWeek",
              "lastMonth"
            ],
            "type": "string",
            "description": "Relative publication recency shortcut. Overridden by postedWithinHours when that is set, and by postedAfter/postedBefore.",
            "default": ""
          },
          "postedAfter": {
            "title": "Posted after",
            "type": "string",
            "description": "Custom publication range start (inclusive), ISO 8601. Disables the default recency window. Example: 2026-09-01T00:00:00Z"
          },
          "postedBefore": {
            "title": "Posted before",
            "type": "string",
            "description": "Custom publication range end (inclusive), ISO 8601. Disables the default recency window. Example: 2026-09-05T00:00:00Z"
          },
          "parsedWithinHours": {
            "title": "Parsed within hours",
            "minimum": 1,
            "maximum": 8760,
            "type": "integer",
            "description": "Only posts whose HTML was parsed in the last N hours (parseTimestamp). Also derives a publication timestamp window. Skips implicit keyword/hashtag posted defaults — you do not need postedWithinHours: 0. Ignored when parsedAfter/parsedBefore is set."
          },
          "parsedAfter": {
            "title": "Parsed after",
            "type": "string",
            "description": "Custom parse-time range start (inclusive) for parseTimestamp, ISO 8601. Disables parsedWithinHours. Also raises the publication timestamp lower bound. Example: 2026-09-01T00:00:00Z"
          },
          "parsedBefore": {
            "title": "Parsed before",
            "type": "string",
            "description": "Custom parse-time range end (inclusive) for parseTimestamp, ISO 8601. Disables parsedWithinHours. Example: 2026-09-02T00:00:00Z"
          },
          "authorType": {
            "title": "Author type",
            "enum": [
              "any",
              "person",
              "company"
            ],
            "type": "string",
            "description": "Filter by inferred author type.",
            "default": "any"
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "newest",
              "top",
              "hot"
            ],
            "type": "string",
            "description": "Sort results by publication time, likes, or engagement velocity.",
            "default": "newest"
          },
          "limit": {
            "title": "Limit",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Maximum number of posts to return (1-100).",
            "default": 25
          },
          "offset": {
            "title": "Offset",
            "minimum": 0,
            "maximum": 10000,
            "type": "integer",
            "description": "Pagination offset for exporting additional pages.",
            "default": 0
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}