{
  "data": {
    "id": "QN4LiPhWHPjsLjWTz",
    "actId": "qbDkwl2DwUF7XO3zX",
    "userId": "NL4ThgItAwaoBlffQ",
    "startedAt": "2026-11-10T16:25:01.880Z",
    "finishedAt": "2026-11-10T16:25:18.658Z",
    "status": "SUCCEEDED",
    "meta": {
      "origin": "CLI"
    },
    "stats": {
      "durationMillis": 16681,
      "runTimeSecs": 16.681,
      "computeUnits": 0.018534444444444444,
      "imageSizeBytes": 387983360
    },
    "options": {
      "useCache": true,
      "betaPackages": false,
      "memoryMbytes": 4096,
      "diskMbytes": 8192
    },
    "createdByOrganizationMemberUserId": "zifX0mkAFMHe8CatY",
    "exitCode": 0,
    "inputSchema": "{\n  \"title\": \"LinkedIn People Search by Name — Input\",\n  \"description\": \"Find LinkedIn profiles from a list of names using LinkedIn's public people directory. No login or cookie needed.\",\n  \"type\": \"object\",\n  \"schemaVersion\": 1,\n  \"properties\": {\n    \"names\": {\n      \"title\": \"Names to search\",\n      \"type\": \"array\",\n      \"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.\",\n      \"editor\": \"stringList\",\n      \"prefill\": [\n        \"Satya Nadella\"\n      ]\n    },\n    \"maxResultsPerName\": {\n      \"title\": \"Max results per name\",\n      \"type\": \"integer\",\n      \"description\": \"Maximum profiles to return for each name. LinkedIn's public directory lists up to 50 candidates per name.\",\n      \"minimum\": 1,\n      \"maximum\": 50,\n      \"default\": 10,\n      \"prefill\": 1\n    },\n    \"currentCompany\": {\n      \"title\": \"Current company\",\n      \"type\": \"string\",\n      \"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.\",\n      \"editor\": \"textfield\"\n    },\n    \"location\": {\n      \"title\": \"Location\",\n      \"type\": \"string\",\n      \"description\": \"Keep only people whose location contains this text, e.g. \\\"London\\\" or \\\"Pakistan\\\".\",\n      \"editor\": \"textfield\"\n    },\n    \"enrichProfiles\": {\n      \"title\": \"Open each profile for full details\",\n      \"type\": \"boolean\",\n      \"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.\",\n      \"default\": true,\n      \"prefill\": true\n    },\n    \"includeHeadlinesFromSearchEngines\": {\n      \"title\": \"Use search engines for extra matches and headlines\",\n      \"type\": \"boolean\",\n      \"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.\",\n      \"default\": true,\n      \"prefill\": false\n    }\n  },\n  \"required\": [\n    \"names\"\n  ]\n}",
    "readme": "# LinkedIn People Finder by Name & Company (No Login)\n\nTurn a list of names into LinkedIn profiles — with the current employer, location, headline, photo and followers — without a LinkedIn account, cookie or proxy. Give the actor names plus an optional company or location, and it returns the people who match.\n\n## What this actor does\n\n- Looks up each name in LinkedIn's public people directory and returns the matching profiles, up to 50 candidates per name.\n- Narrows the list with strict **current company** and **location** filters: every candidate's public profile page is checked before a row is kept, so a person whose company only appears in a directory summary is verified or dropped.\n- Opens each matched profile to fill the public details: current employer, location, followers, \"500+\" connection indicator, about text, education and profile photo.\n- Understands full names, single names, middle names, and one-sided searches (`first:Madonna`, `last:Smith`).\n- Removes duplicates, so the same profile is never returned twice in one run.\n- Works with zero credentials and zero proxy setup. No LinkedIn login is used at any point.\n\n## Output per profile\n\n| Field | Description |\n|---|---|\n| `name` | The person's name as shown on their profile. |\n| `profileUrl` | Canonical `https://www.linkedin.com/in/...` profile URL. |\n| `headline` | Real headline when publicly visible or recoverable from an indexed public result (`headlineSource: \"page\"` or `\"search_engine\"`); omitted when LinkedIn hides it everywhere. |\n| `currentTitle` | Job title parsed from a real headline, when available. |\n| `location` | The location shown on the profile. |\n| `currentCompany` | Current employer as `{name, slug, url}`. |\n| `companyText` | The employer summary shown in the directory card, kept for traceability. |\n| `companyRedacted` | `true` when LinkedIn hides the employer and would otherwise show the job title in its place. |\n| `about` | The public About text (`aboutSource`: `page`, `dom` or `og`). |\n| `aboutTruncated` | `true` when LinkedIn only exposes a truncated About excerpt to logged-out visitors. |\n| `followersCount` | Follower count. |\n| `connectionsText` | Public connection indicator, usually `\"500+\"`. |\n| `currentSchool` | School shown in the profile's top card. |\n| `education` / `educationCount` | Public education entries (profile data, with an `og:description` fallback) and their count. |\n| `profilePicture` / `profileImageUrl` | Profile photo URL when the member has a real photo. |\n| `searchName` | The input name that produced this row. |\n| `discoveredVia` | `directory`, `directory_profile` (the directory page was the profile itself) or `search_engine`. |\n| `searchEngine` | `yahoo` or `duckduckgo` when the row came from the search-engine fallback. |\n| `scrapedAt` | ISO 8601 UTC timestamp. |\n\nEmpty fields are omitted, never emitted as `null`. The legacy keys `connectionDegree`, `verifiedStatus`, `openToWork`, `mutualConnections` and `commonInterests` remain part of the record shape but are not available without a logged-in session, so they do not appear.\n\n## Input\n\n| Field | Type | Default | Description |\n|---|---|---|---|\n| `names` | List of strings | – | Names to look up. Full names, single names, or `first:` / `last:` for a one-sided search. Required. |\n| `maxResultsPerName` | Integer (1–50) | `10` | Profiles to return per name. |\n| `currentCompany` | String | – | Keep only people whose current employer contains this text. |\n| `location` | String | – | Keep only people whose location contains this text. |\n| `enrichProfiles` | Boolean | `true` | Open each matched profile for photo, about, followers, education and a verified employer. Off = directory cards only. |\n| `includeHeadlinesFromSearchEngines` | Boolean | `true` | Best-effort extra matches and indexed headlines from public search engines, including a company-specific headline fallback derived from each profile. Also drives the company-augmented rescue query. |\n\n### Example: name plus company\n\n```json\n{\n  \"names\": [\"Satya Nadella\", \"Sundar Pichai\"],\n  \"currentCompany\": \"Microsoft\",\n  \"maxResultsPerName\": 5\n}\n```\n\n### Example: location filter\n\n```json\n{\n  \"names\": [\"John Smith\"],\n  \"location\": \"London\",\n  \"enrichProfiles\": true\n}\n```\n\n### Example: fastest mode\n\n```json\n{\n  \"names\": [\"Ada Lovelace\", \"Grace Hopper\"],\n  \"enrichProfiles\": false,\n  \"maxResultsPerName\": 10\n}\n```\n\n## Use cases\n\n- **Lead research** — turn a list of names into current employer, role and profile links.\n- **Recruiting** — confirm a candidate's current company and location before outreach.\n- **CRM cleanup** — refresh LinkedIn URLs and employers for existing contacts.\n- **Name disambiguation** — use company or location to pick the right person among namesakes.\n\n## FAQ\n\n**Do I need a LinkedIn cookie or account?** No. The actor reads only LinkedIn's public directory and logged-out profile pages. It never asks for a login and does not use your account.\n\n**Why is a person missing from the results?** LinkedIn's public directory shows at most 50 candidates per name. Very common names (\"John Smith\") can push the person you want outside that window. Add a company or location filter: the actor then also runs a company-augmented public search-engine query, which recovers many common-name cases, and verifies every candidate against its profile.\n\n**Are the company and location filters exact?** They are case-insensitive text matches, verified against the profile the actor opens. They keep people whose current employer or location contains your text. They are not LinkedIn's own server-side filters.\n\n**Why is the headline missing for some people?** LinkedIn hides most logged-out headlines and replaces them with asterisks or the current company. The actor returns a real headline when it is visible on the page or recoverable from an indexed public result (name, vanity and name+company query forms); otherwise the field is left out rather than guessed.\n\n**Why do some rows have `companyRedacted: true`?** On some profiles LinkedIn hides the employer and puts the job title where the company should be. The actor detects that pattern, never reports the job title as a company, and marks the record instead.\n\n**Why does the connection count say \"500+\"?** LinkedIn caps the public connection indicator at \"500+\". An exact number is not exposed to logged-out visitors.\n\n**Can I get email addresses, skills or full work history?** No. Those fields require a logged-in LinkedIn session and are outside this actor's public-data scope.\n\n**What happens when a name has no matches?** No row is emitted for that name; the run continues with the remaining names.\n\n**Is this actor affiliated with LinkedIn?** No. It is an independent tool and is not affiliated with, endorsed by or sponsored by LinkedIn Corporation.\n\n## Data source & limitations\n\nThe actor reads LinkedIn's public people directory (`/pub/dir/`) and the public, logged-out profile pages it links to. It selects its own access path automatically; no proxy configuration is needed.\n\nHonest limits: the directory window is about 50 candidates per name; exact connections, skills, full experience history, education degrees and contact details are not public; and headline visibility depends on what LinkedIn and public search indexes expose to logged-out visitors. The search-engine fallback is best-effort and may pause itself when the engines rate-limit. About texts are often truncated for anonymous visitors (flagged with `aboutTruncated`).\n\n## Use it as an API (server mode)\n\nNeed one answer right away instead of a batch job? Send the input as an HTTP request and the results come back in the response. There's no run to start and poll.\n\n```bash\ncurl -H \"Authorization: Bearer $APIFY_TOKEN\" \\\n  \"https://vexaloom-labs--linkedin-people-search-by-name-with-company.apify.actor/?names=Satya%20Nadella&maxResultsPerName=1\"\n```\n\nOr POST the same input as JSON:\n\n```bash\ncurl -X POST -H \"Authorization: Bearer $APIFY_TOKEN\" -H \"Content-Type: application/json\" \\\n  -d '{\"names\": [\"Satya Nadella\"], \"maxResultsPerName\": 1}' \\\n  \"https://vexaloom-labs--linkedin-people-search-by-name-with-company.apify.actor/\"\n```\n\n- The fields are the same as in the input above. With GET, repeat a parameter once for each value in a list.\n- You get back a JSON array with the same records a normal run saves. They're saved to the run's dataset too.\n- Each request is capped at 50 results and 4 minutes. For bigger jobs, start a normal run.\n- The request runs in your own Apify account at the Actor's normal price (a start fee plus a price per result). The server shuts down after a minute with no requests.\n- The Server tab on this page lists every parameter and lets you try a request from your browser.\n",
    "actorDefinition": {
      "actorSpecification": 1,
      "name": "linkedin-people-search-by-name-with-company",
      "title": "LinkedIn People Finder by Name & Company (No Login)",
      "description": "Find people on LinkedIn from names and company or location filters. Returns profile URLs, current employer, headline, photo and followers — no login, cookie or proxy needed.",
      "version": "1.0",
      "buildTag": "latest",
      "dockerfile": "./Dockerfile",
      "readme": "# LinkedIn People Finder by Name & Company (No Login)\n\nTurn a list of names into LinkedIn profiles — with the current employer, location, headline, photo and followers — without a LinkedIn account, cookie or proxy. Give the actor names plus an optional company or location, and it returns the people who match.\n\n## What this actor does\n\n- Looks up each name in LinkedIn's public people directory and returns the matching profiles, up to 50 candidates per name.\n- Narrows the list with strict **current company** and **location** filters: every candidate's public profile page is checked before a row is kept, so a person whose company only appears in a directory summary is verified or dropped.\n- Opens each matched profile to fill the public details: current employer, location, followers, \"500+\" connection indicator, about text, education and profile photo.\n- Understands full names, single names, middle names, and one-sided searches (`first:Madonna`, `last:Smith`).\n- Removes duplicates, so the same profile is never returned twice in one run.\n- Works with zero credentials and zero proxy setup. No LinkedIn login is used at any point.\n\n## Output per profile\n\n| Field | Description |\n|---|---|\n| `name` | The person's name as shown on their profile. |\n| `profileUrl` | Canonical `https://www.linkedin.com/in/...` profile URL. |\n| `headline` | Real headline when publicly visible or recoverable from an indexed public result (`headlineSource: \"page\"` or `\"search_engine\"`); omitted when LinkedIn hides it everywhere. |\n| `currentTitle` | Job title parsed from a real headline, when available. |\n| `location` | The location shown on the profile. |\n| `currentCompany` | Current employer as `{name, slug, url}`. |\n| `companyText` | The employer summary shown in the directory card, kept for traceability. |\n| `companyRedacted` | `true` when LinkedIn hides the employer and would otherwise show the job title in its place. |\n| `about` | The public About text (`aboutSource`: `page`, `dom` or `og`). |\n| `aboutTruncated` | `true` when LinkedIn only exposes a truncated About excerpt to logged-out visitors. |\n| `followersCount` | Follower count. |\n| `connectionsText` | Public connection indicator, usually `\"500+\"`. |\n| `currentSchool` | School shown in the profile's top card. |\n| `education` / `educationCount` | Public education entries (profile data, with an `og:description` fallback) and their count. |\n| `profilePicture` / `profileImageUrl` | Profile photo URL when the member has a real photo. |\n| `searchName` | The input name that produced this row. |\n| `discoveredVia` | `directory`, `directory_profile` (the directory page was the profile itself) or `search_engine`. |\n| `searchEngine` | `yahoo` or `duckduckgo` when the row came from the search-engine fallback. |\n| `scrapedAt` | ISO 8601 UTC timestamp. |\n\nEmpty fields are omitted, never emitted as `null`. The legacy keys `connectionDegree`, `verifiedStatus`, `openToWork`, `mutualConnections` and `commonInterests` remain part of the record shape but are not available without a logged-in session, so they do not appear.\n\n## Input\n\n| Field | Type | Default | Description |\n|---|---|---|---|\n| `names` | List of strings | – | Names to look up. Full names, single names, or `first:` / `last:` for a one-sided search. Required. |\n| `maxResultsPerName` | Integer (1–50) | `10` | Profiles to return per name. |\n| `currentCompany` | String | – | Keep only people whose current employer contains this text. |\n| `location` | String | – | Keep only people whose location contains this text. |\n| `enrichProfiles` | Boolean | `true` | Open each matched profile for photo, about, followers, education and a verified employer. Off = directory cards only. |\n| `includeHeadlinesFromSearchEngines` | Boolean | `true` | Best-effort extra matches and indexed headlines from public search engines, including a company-specific headline fallback derived from each profile. Also drives the company-augmented rescue query. |\n\n### Example: name plus company\n\n```json\n{\n  \"names\": [\"Satya Nadella\", \"Sundar Pichai\"],\n  \"currentCompany\": \"Microsoft\",\n  \"maxResultsPerName\": 5\n}\n```\n\n### Example: location filter\n\n```json\n{\n  \"names\": [\"John Smith\"],\n  \"location\": \"London\",\n  \"enrichProfiles\": true\n}\n```\n\n### Example: fastest mode\n\n```json\n{\n  \"names\": [\"Ada Lovelace\", \"Grace Hopper\"],\n  \"enrichProfiles\": false,\n  \"maxResultsPerName\": 10\n}\n```\n\n## Use cases\n\n- **Lead research** — turn a list of names into current employer, role and profile links.\n- **Recruiting** — confirm a candidate's current company and location before outreach.\n- **CRM cleanup** — refresh LinkedIn URLs and employers for existing contacts.\n- **Name disambiguation** — use company or location to pick the right person among namesakes.\n\n## FAQ\n\n**Do I need a LinkedIn cookie or account?** No. The actor reads only LinkedIn's public directory and logged-out profile pages. It never asks for a login and does not use your account.\n\n**Why is a person missing from the results?** LinkedIn's public directory shows at most 50 candidates per name. Very common names (\"John Smith\") can push the person you want outside that window. Add a company or location filter: the actor then also runs a company-augmented public search-engine query, which recovers many common-name cases, and verifies every candidate against its profile.\n\n**Are the company and location filters exact?** They are case-insensitive text matches, verified against the profile the actor opens. They keep people whose current employer or location contains your text. They are not LinkedIn's own server-side filters.\n\n**Why is the headline missing for some people?** LinkedIn hides most logged-out headlines and replaces them with asterisks or the current company. The actor returns a real headline when it is visible on the page or recoverable from an indexed public result (name, vanity and name+company query forms); otherwise the field is left out rather than guessed.\n\n**Why do some rows have `companyRedacted: true`?** On some profiles LinkedIn hides the employer and puts the job title where the company should be. The actor detects that pattern, never reports the job title as a company, and marks the record instead.\n\n**Why does the connection count say \"500+\"?** LinkedIn caps the public connection indicator at \"500+\". An exact number is not exposed to logged-out visitors.\n\n**Can I get email addresses, skills or full work history?** No. Those fields require a logged-in LinkedIn session and are outside this actor's public-data scope.\n\n**What happens when a name has no matches?** No row is emitted for that name; the run continues with the remaining names.\n\n**Is this actor affiliated with LinkedIn?** No. It is an independent tool and is not affiliated with, endorsed by or sponsored by LinkedIn Corporation.\n\n## Data source & limitations\n\nThe actor reads LinkedIn's public people directory (`/pub/dir/`) and the public, logged-out profile pages it links to. It selects its own access path automatically; no proxy configuration is needed.\n\nHonest limits: the directory window is about 50 candidates per name; exact connections, skills, full experience history, education degrees and contact details are not public; and headline visibility depends on what LinkedIn and public search indexes expose to logged-out visitors. The search-engine fallback is best-effort and may pause itself when the engines rate-limit. About texts are often truncated for anonymous visitors (flagged with `aboutTruncated`).\n\n## Use it as an API (server mode)\n\nNeed one answer right away instead of a batch job? Send the input as an HTTP request and the results come back in the response. There's no run to start and poll.\n\n```bash\ncurl -H \"Authorization: Bearer $APIFY_TOKEN\" \\\n  \"https://vexaloom-labs--linkedin-people-search-by-name-with-company.apify.actor/?names=Satya%20Nadella&maxResultsPerName=1\"\n```\n\nOr POST the same input as JSON:\n\n```bash\ncurl -X POST -H \"Authorization: Bearer $APIFY_TOKEN\" -H \"Content-Type: application/json\" \\\n  -d '{\"names\": [\"Satya Nadella\"], \"maxResultsPerName\": 1}' \\\n  \"https://vexaloom-labs--linkedin-people-search-by-name-with-company.apify.actor/\"\n```\n\n- The fields are the same as in the input above. With GET, repeat a parameter once for each value in a list.\n- You get back a JSON array with the same records a normal run saves. They're saved to the run's dataset too.\n- Each request is capped at 50 results and 4 minutes. For bigger jobs, start a normal run.\n- The request runs in your own Apify account at the Actor's normal price (a start fee plus a price per result). The server shuts down after a minute with no requests.\n- The Server tab on this page lists every parameter and lets you try a request from your browser.\n",
      "input": {
        "title": "LinkedIn People Search by Name — Input",
        "description": "Find LinkedIn profiles from a list of names using LinkedIn's public people directory. No login or cookie needed.",
        "type": "object",
        "schemaVersion": 1,
        "properties": {
          "names": {
            "title": "Names to search",
            "type": "array",
            "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.",
            "editor": "stringList",
            "prefill": [
              "Satya Nadella"
            ]
          },
          "maxResultsPerName": {
            "title": "Max results per name",
            "type": "integer",
            "description": "Maximum profiles to return for each name. LinkedIn's public directory lists up to 50 candidates per name.",
            "minimum": 1,
            "maximum": 50,
            "default": 10,
            "prefill": 1
          },
          "currentCompany": {
            "title": "Current company",
            "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.",
            "editor": "textfield"
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "Keep only people whose location contains this text, e.g. \"London\" or \"Pakistan\".",
            "editor": "textfield"
          },
          "enrichProfiles": {
            "title": "Open each profile for full details",
            "type": "boolean",
            "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.",
            "default": true,
            "prefill": true
          },
          "includeHeadlinesFromSearchEngines": {
            "title": "Use search engines for extra matches and headlines",
            "type": "boolean",
            "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.",
            "default": true,
            "prefill": false
          }
        },
        "required": [
          "names"
        ]
      },
      "output": {
        "actorOutputSchemaVersion": 1,
        "title": "LinkedIn People Finder by Name & Company Output",
        "description": "Matched LinkedIn profiles with name, profile URL, current employer, headline, location, photo, followers, about and education when publicly available.",
        "properties": {
          "profiles": {
            "type": "string",
            "title": "Matched LinkedIn profiles",
            "description": "Dataset containing one row per matched profile.",
            "template": "{{links.apiDefaultDatasetUrl}}/items"
          }
        }
      },
      "storages": {
        "dataset": {
          "actorSpecification": 1,
          "views": {
            "overview": {
              "title": "Profiles",
              "transformation": {
                "fields": [
                  "name",
                  "headline",
                  "location",
                  "currentCompany",
                  "profileUrl",
                  "searchName"
                ]
              },
              "display": {
                "component": "table",
                "properties": {}
              }
            }
          }
        }
      },
      "environmentVariables": {},
      "webServerSchema": {
        "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"
                }
              }
            }
          }
        }
      }
    },
    "buildNumber": "1.0.3",
    "imageDigest": "64cf5caee745c42c5d60b9311e6751ee1b987a203c38e10c2c668bd263f05bf6",
    "actVersion": {
      "sourceType": "SOURCE_FILES",
      "buildTag": "latest",
      "versionNumber": "1.0"
    },
    "usage": {
      "ACTOR_COMPUTE_UNITS": 0.018534444444444444
    }
  }
}