{
  "openapi": "3.0.3",
  "info": {
    "title": "LinkedIn People Finder by Name & Company (No Login) (server mode)",
    "version": "1.1",
    "description": "Send one lookup and get the results back in the response. It takes the same input as a normal run: query parameters with GET, or a JSON body with POST. At most 50 results and 240 seconds per request; start a normal run for bigger jobs. Requests run in your own Apify account at the Actor's normal price.",
    "x-oa-server-mode": "1.1"
  },
  "paths": {
    "/": {
      "get": {
        "operationId": "lookupGet",
        "summary": "Run one lookup (query parameters)",
        "parameters": [
          {
            "name": "names",
            "in": "query",
            "required": true,
            "description": "Person names to look up. Use a full name (\"Satya Nadella\"), a single name, or \"First Middle Last\". Prefix a single term with \"first:\" or \"last:\" for a one-sided search. (GET: repeat the parameter once per value.)",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "maxItems": 5
            },
            "style": "form",
            "explode": true,
            "example": [
              "Satya Nadella"
            ]
          },
          {
            "name": "maxResultsPerName",
            "in": "query",
            "required": false,
            "description": "Maximum profiles to return for each name. LinkedIn's public directory lists up to 50 candidates per name.",
            "schema": {
              "type": "integer",
              "default": 10,
              "minimum": 1,
              "maximum": 10
            },
            "example": 1
          },
          {
            "name": "currentCompany",
            "in": "query",
            "required": false,
            "description": "Keep only people whose current employer contains this text, e.g. \"Microsoft\" or \"Conrad Labs\". Checked against the profile the actor opens for each candidate.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "location",
            "in": "query",
            "required": false,
            "description": "Keep only people whose location contains this text, e.g. \"London\" or \"Pakistan\".",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "enrichProfiles",
            "in": "query",
            "required": false,
            "description": "Open each matched profile's public page to fill photo, about, followers, education and a verified current employer. Turn off for a faster, directory-only result.",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "includeHeadlinesFromSearchEngines",
            "in": "query",
            "required": false,
            "description": "When the directory has fewer matches than requested, also check public search-engine results for the name. Also recovers indexed headlines. Free and best-effort.",
            "schema": {
              "type": "boolean",
              "default": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The results as a JSON array (at most 50). They are also saved to the run's dataset and billed per result, like a normal run.",
            "headers": {
              "X-Item-Count": {
                "schema": {
                  "type": "integer"
                },
                "description": "Results returned."
              },
              "X-Status-Message": {
                "schema": {
                  "type": "string"
                },
                "description": "The Actor's last status message, e.g. why nothing was found."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Item"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid, missing or unknown input fields. Nothing ran.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                },
                "example": {
                  "error": "invalid_input",
                  "errorDescription": "names: required"
                }
              }
            }
          },
          "422": {
            "description": "The Actor could not complete this request (for example, nothing matches). No results were delivered.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected failure. Safe to retry.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "The request used up its 240 s budget. The results found so far are in partialItems.",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Error"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "partialItems": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Item"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "lookupPost",
        "summary": "Run one lookup (JSON body)",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "names": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "maxItems": 5,
                    "description": "Person names to look up. Use a full name (\"Satya Nadella\"), a single name, or \"First Middle Last\". Prefix a single term with \"first:\" or \"last:\" for a one-sided search."
                  },
                  "maxResultsPerName": {
                    "type": "integer",
                    "default": 10,
                    "minimum": 1,
                    "maximum": 10,
                    "description": "Maximum profiles to return for each name. LinkedIn's public directory lists up to 50 candidates per name."
                  },
                  "currentCompany": {
                    "type": "string",
                    "description": "Keep only people whose current employer contains this text, e.g. \"Microsoft\" or \"Conrad Labs\". Checked against the profile the actor opens for each candidate."
                  },
                  "location": {
                    "type": "string",
                    "description": "Keep only people whose location contains this text, e.g. \"London\" or \"Pakistan\"."
                  },
                  "enrichProfiles": {
                    "type": "boolean",
                    "default": true,
                    "description": "Open each matched profile's public page to fill photo, about, followers, education and a verified current employer. Turn off for a faster, directory-only result."
                  },
                  "includeHeadlinesFromSearchEngines": {
                    "type": "boolean",
                    "default": true,
                    "description": "When the directory has fewer matches than requested, also check public search-engine results for the name. Also recovers indexed headlines. Free and best-effort."
                  }
                },
                "additionalProperties": false,
                "required": [
                  "names"
                ]
              },
              "example": {
                "names": [
                  "Satya Nadella"
                ],
                "maxResultsPerName": 1
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The results as a JSON array (at most 50). They are also saved to the run's dataset and billed per result, like a normal run.",
            "headers": {
              "X-Item-Count": {
                "schema": {
                  "type": "integer"
                },
                "description": "Results returned."
              },
              "X-Status-Message": {
                "schema": {
                  "type": "string"
                },
                "description": "The Actor's last status message, e.g. why nothing was found."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Item"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid, missing or unknown input fields. Nothing ran.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                },
                "example": {
                  "error": "invalid_input",
                  "errorDescription": "names: required"
                }
              }
            }
          },
          "422": {
            "description": "The Actor could not complete this request (for example, nothing matches). No results were delivered.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "500": {
            "description": "Unexpected failure. Safe to retry.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "The request used up its 240 s budget. The results found so far are in partialItems.",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/Error"
                    },
                    {
                      "type": "object",
                      "properties": {
                        "partialItems": {
                          "type": "array",
                          "items": {
                            "$ref": "#/components/schemas/Item"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Item": {
        "type": "object",
        "description": "One result, the same record a normal run saves to its dataset.",
        "properties": {
          "name": {},
          "headline": {},
          "location": {},
          "currentCompany": {},
          "profileUrl": {},
          "searchName": {}
        }
      },
      "Error": {
        "type": "object",
        "required": [
          "error",
          "errorDescription"
        ],
        "properties": {
          "error": {
            "type": "string",
            "enum": [
              "invalid_input",
              "request_failed",
              "internal_error",
              "timeout",
              "busy",
              "not_found",
              "method_not_allowed",
              "payload_too_large"
            ]
          },
          "errorDescription": {
            "type": "string"
          }
        }
      }
    },
    "securitySchemes": {
      "apifyToken": {
        "type": "http",
        "scheme": "bearer",
        "description": "Your Apify API token (Apify Console, Settings, API and integrations)."
      }
    }
  },
  "servers": [
    {
      "url": "https://vexaloom-labs--linkedin-people-search-by-name-with-company.apify.actor"
    }
  ],
  "security": [
    {
      "apifyToken": []
    }
  ]
}