{"name":"linkedin","domain":"linkedin.com","baseUrl":"https://www.linkedin.com","displayName":"LinkedIn","description":"LinkedIn read operations over the Voyager API: your own mini profile, a member profile, a company, people search, company search. Needs login: `api-anything login linkedin --profile <browser/profile>` imports your session.","loginCookies":["li_at","JSESSIONID"],"notes":"Needs an account: there is no logged-out LinkedIn. Read-only: no posting, messaging, or connection\nrequests.\n\n- The imported session is your everyday Chrome's session. If LinkedIn logs it out, your browser is\n  logged out too. Keep automated traffic light; LinkedIn may revoke a session that looks like a bot.\n  Use `api-anything login linkedin --window` for an independent session.\n- If more than one browser profile is signed in to LinkedIn, `login linkedin` without `--profile`\n  refuses and lists the candidates (profile, display name, the Chrome profile's Google email, which\n  is not the LinkedIn account's). Those can be two different LinkedIn members: ask the user which\n  one, pass `--profile \"<Browser>/<Profile>\"`, then run `getMe` and check the name before anything\n  else.\n- Search first when you only know a name: a company's universal name often differs from its brand\n  (`anthropic` is an unrelated investment fund; the AI company is `anthropicresearch`; Boston\n  Dynamics is `boston-dynamics`).\n- In `keywords`, apostrophes and non-ASCII letters work. A search with no matches returns `ok` with\n  `[]`.\n- An unknown or restricted `publicId` is expected to return `input`, but that has not been verified\n  live against LinkedIn. An unknown name in `getCompany` returns `input`.\n- `getProfile` has no location name (only `countryCode`), follower count or experience list. Its\n  `summary` is the About text; `getMe`'s `occupation` is the headline.\n- `getCompany` returns `name`, `universalName`, `tagline` (when set), `description`, `industry`,\n  `staffCount`, `website`, `headquarters` (`{country, geographicArea, city, ...}`) and `url`.\n- `searchPeople`'s `distance` is `DISTANCE_2`, `DISTANCE_3`, ...","operations":[{"hash":"2c3391766dd7f4e6779b58792f8eeab23877cac348b2140b1123331598247245","status":"live","confirmations":0,"operation":{"name":"getCompany","description":"A company/organization by its universal name (the last path segment of linkedin.com/company/<name>).","request":{"method":"GET","url":"https://www.linkedin.com/voyager/api/organization/companies?q=universalName&universalName=%7BuniversalName%7D","headers":{"accept":"application/json","accept-language":"en-US,en;q=0.9","csrf-token":"","x-restli-protocol-version":"2.0.0","user-agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"}},"slots":[{"param":"universalName","at":["query:universalName"]},{"ref":"cookie:JSESSIONID","at":["header:csrf-token"],"transform":"strip-quotes"}],"volatile":[],"trigger":{"url":"https://www.linkedin.com/company/{universalName}/"},"match":{"method":"GET","host":"www.linkedin.com","path":"/voyager/api/organization/companies"},"response":{"format":"json","extract":"elements[0]","pick":["name","universalName","tagline","description","industry=companyIndustries[0].localizedName","staffCount","website=companyPageUrl","headquarters=headquarter","url"]},"params":[{"name":"universalName","type":"string","required":true,"description":"universal name from linkedin.com/company/<name>, e.g. microsoft","example":"microsoft","hint":"the segment after /company/ in a company URL; names differ from the brand (Anthropic is anthropicresearch), so take universalName from searchCompanies"}],"readOnly":true,"minTier":1,"learnedLoggedIn":true}},{"hash":"e0084259a9953985568d50e7308d28ff324c90c649a0f7265eec3e65ee3a8c2c","status":"live","confirmations":1,"successRate":1,"lastOkAt":"2026-10-28T05:52:59.582Z","operation":{"name":"getMe","description":"The signed-in member's own mini profile (name, headline, public identifier). Confirms the imported session is live.","request":{"method":"GET","url":"https://www.linkedin.com/voyager/api/me","headers":{"accept":"application/vnd.linkedin.normalized+json+2.1","accept-language":"en-US,en;q=0.9","csrf-token":"","x-restli-protocol-version":"2.0.0","user-agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"}},"slots":[{"ref":"cookie:JSESSIONID","at":["header:csrf-token"],"transform":"strip-quotes"}],"volatile":[],"trigger":{"url":"https://www.linkedin.com/feed/"},"match":{"method":"GET","host":"www.linkedin.com","path":"/voyager/api/me"},"response":{"format":"json","extract":"included[0]","pick":["firstName","lastName","occupation","publicIdentifier"]},"params":[],"readOnly":true,"minTier":1,"learnedLoggedIn":true}},{"hash":"7b9a1d3f458686935a9902e9b7566438347f968e28044aa6adc97c1b6f99b1fb","status":"live","confirmations":0,"operation":{"name":"getProfile","description":"A member's profile by public id (the last path segment of linkedin.com/in/<publicId>): name, headline, about text, country, websites.","request":{"method":"GET","url":"https://www.linkedin.com/voyager/api/identity/dash/profiles?q=memberIdentity&memberIdentity=%7BpublicId%7D","headers":{"accept":"application/json","accept-language":"en-US,en;q=0.9","csrf-token":"","x-restli-protocol-version":"2.0.0","user-agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"}},"slots":[{"param":"publicId","at":["query:memberIdentity"]},{"ref":"cookie:JSESSIONID","at":["header:csrf-token"],"transform":"strip-quotes"}],"volatile":[],"trigger":{"url":"https://www.linkedin.com/in/{publicId}/"},"match":{"method":"GET","host":"www.linkedin.com","path":"/voyager/api/identity/dash/profiles"},"response":{"format":"json","extract":"elements[0]","pick":["firstName","lastName","headline","summary","publicIdentifier","countryCode=location.countryCode","websites","influencer","creator","entityUrn"]},"params":[{"name":"publicId","type":"string","required":true,"description":"public id from linkedin.com/in/<publicId>, e.g. williamhgates (the ACoAA... profile id works too)","example":"williamhgates","hint":"the segment after /in/ in a profile URL, e.g. williamhgates; searchPeople returns it as publicId"}],"readOnly":true,"minTier":1,"learnedLoggedIn":true}},{"hash":"ef2dde830ab1cecdcef43df9ab44e21074fe6d60dbff0d46bce95b69710620e5","status":"live","confirmations":0,"operation":{"name":"searchCompanies","description":"Company search (the first 10 results of linkedin.com/search/results/companies/?keywords=...): name, subtitle (industry, and location when set), followers, description, url (linkedin.com/company/<universalName>/), universalName (getCompany's arg).","request":{"method":"GET","url":"https://www.linkedin.com/voyager/api/search/dash/clusters?q=all&query=(keywords:%7Bkeywords%7D,flagshipSearchIntent:SEARCH_SRP,queryParameters:(resultType:List(COMPANIES)),includeFiltersInResponse:false)&start=0&count=10","headers":{"accept":"application/json","accept-language":"en-US,en;q=0.9","csrf-token":"","x-restli-protocol-version":"2.0.0","user-agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"}},"slots":[{"param":"keywords","at":["query:query"],"template":"(keywords:{keywords},flagshipSearchIntent:SEARCH_SRP,queryParameters:(resultType:List(COMPANIES)),includeFiltersInResponse:false)"},{"ref":"cookie:JSESSIONID","at":["header:csrf-token"],"transform":"strip-quotes"}],"volatile":[],"trigger":{"url":"https://www.linkedin.com/search/results/companies/?keywords={keywords}"},"match":{"method":"GET","host":"www.linkedin.com","path":"/voyager/api/search/dash/clusters"},"response":{"format":"json","extract":"elements[*].items[*].itemUnion.entityResult","pick":["name=title.text","subtitle=primarySubtitle.text","followers=secondarySubtitle.text","description=summary.text","url=navigationUrl","universalName=navigationUrl~/company/([^/?]+)"]},"params":[{"name":"keywords","type":"string","required":true,"description":"company search words, e.g. anthropic","example":"anthropic","pattern":"^[^(),:]+$","hint":"free-text company name or words, e.g. anthropic or stripe; words and spaces only, no commas, colons or parentheses (they break LinkedIn's Rest.li query)"}],"readOnly":true,"minTier":1,"learnedLoggedIn":true}},{"hash":"79f00dfb966bbde6332ccbd2fd2997386d62c453f2ac3d63b3e3453cf6d463a0","status":"live","confirmations":0,"lastOkAt":"2026-10-28T05:47:37.510Z","operation":{"name":"searchPeople","description":"People search (the first 10 results of linkedin.com/search/results/people/?keywords=...): name, headline, location, url (linkedin.com/in/<publicId>?...), publicId (getProfile's arg), network distance.","request":{"method":"GET","url":"https://www.linkedin.com/voyager/api/search/dash/clusters?q=all&query=(keywords:%7Bkeywords%7D,flagshipSearchIntent:SEARCH_SRP,queryParameters:(resultType:List(PEOPLE)),includeFiltersInResponse:false)&start=0&count=10","headers":{"accept":"application/json","accept-language":"en-US,en;q=0.9","csrf-token":"","x-restli-protocol-version":"2.0.0","user-agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36"}},"slots":[{"param":"keywords","at":["query:query"],"template":"(keywords:{keywords},flagshipSearchIntent:SEARCH_SRP,queryParameters:(resultType:List(PEOPLE)),includeFiltersInResponse:false)"},{"ref":"cookie:JSESSIONID","at":["header:csrf-token"],"transform":"strip-quotes"}],"volatile":[],"trigger":{"url":"https://www.linkedin.com/search/results/people/?keywords={keywords}"},"match":{"method":"GET","host":"www.linkedin.com","path":"/voyager/api/search/dash/clusters"},"response":{"format":"json","extract":"elements[*].items[*].itemUnion.entityResult","pick":["name=title.text","headline=primarySubtitle.text","location=secondarySubtitle.text","url=navigationUrl","publicId=navigationUrl~/in/([^/?]+)","distance=entityCustomTrackingInfo.memberDistance"]},"params":[{"name":"keywords","type":"string","required":true,"description":"search words, e.g. reid hoffman","example":"reid hoffman","pattern":"^[^(),:]+$","hint":"free-text search words, e.g. reid hoffman or rust engineer zurich; words and spaces only, no commas, colons or parentheses (they break LinkedIn's Rest.li query)"}],"readOnly":true,"minTier":1,"learnedLoggedIn":true}}]}