Official scripts
Explore our curated collection of scripts
LinkedIn login
Log into LinkedIn via Google SSO. Drives LinkedIn's Continue-with-Google flow, picks the account (optional email arg), clears consent, and lands in the LinkedIn feed. Only works on a browser with its own signed-in Google session (not a managed or cloud browser).
Sales Navigator: search accounts
Search LinkedIn Sales Navigator company accounts by keywords, headquarters location (regionId, a LinkedIn geo id from linkedin.com/suggest_locations — place names are not accepted), and headcount, paginated 25 per page via a 0-based start offset. Returns total, count, start, and accounts (accountId, companyName, industry, employee count and range, description, list/saved status, spotlight badges, salesAccountUrl). Requires a Sales Navigator seat.
Save LinkedIn post
Save a LinkedIn post to your saved items (My Items > Saved posts) by its permalink. Returns already_saved if the post was already saved, or saved otherwise.
Suggest LinkedIn locations
Resolve a free-text location to LinkedIn geo suggestions [{label, geoUrn}], in ranked order ([0] = best match). The geo equivalent of get_company_info: pass a returned geoUrn to search_people's geoUrn. Returns [] when LinkedIn has no geo for the query (e.g. a continent like 'Europe').
List LinkedIn invoices/receipts
List LinkedIn purchase receipts from the Admin Center > Transactions (Premium, Sales Navigator, etc.). Returns total plus invoices (date, amount, payment_method, invoice_number, status, purchase) — metadata only. Feed a row's invoice_number (or purchase + date) to linkedin.com/download_invoice to get that receipt's PDF. Online purchases expose receipts here; sales-rep-assisted contracts expose invoices instead. Requires billing-management access.
Download LinkedIn receipt
Download a single LinkedIn purchase receipt PDF, matched by invoice_number (or purchase+date) from linkedin.com/list_invoices. Returns the PDF bytes as base64 plus a filename.
LinkedIn — list following
List the people and pages the signed-in LinkedIn member follows (My Network → Following): each entry's type (member, company, school or showcase page), profile URL, public id (the slug other linkedin.com scripts take), name and headline. Scrolls to load more, up to `limit` (default 100, max 500), and says when it was truncated. Read-only; pairs with linkedin.com/follow, unfollow, follow_company and unfollow_company. Signed out is a clear error.
LinkedIn — who am I
Report which LinkedIn member this browser is signed in as: the vanity slug other linkedin.com scripts take as publicId, the member's name, stable member urn, numeric id, and whether the account holds Premium. Being signed out is reported as loggedIn:false with the evidence for that verdict, not as an error, so this can be polled to watch whether a session is still alive. Every verdict carries a timestamp and how it was reached.
Send LinkedIn connection request
Send a LinkedIn connection request with a personal note to a profile URL. Fails fast if the monthly note quota is exhausted or the profile isn't connectable (already 1st-degree, pending, or no Connect CTA); the note caps at 200 chars on free-tier. Returns status (sent/already_connected/pending/no_quota/no_connect_cta/failed), profileUrl, name, reason.
Get LinkedIn job
Fetch one LinkedIn job posting by numeric id (the jobId of linkedin.com/search_jobs). Returns its title, LinkedIn's state (LISTED while it takes applications), creation date, whether it is reposted, its place and geo id, the labels and line under the title, the full description, the apply link or Easy Apply, whether you applied, and the company with its id, name, page, industry and industry id, member count, declared size and description. A posting LinkedIn does not have fails with a clear message, as does a browser that is not signed in.
List LinkedIn job search filters
List the filters LinkedIn's jobs search offers for a search, with the options each one shows and LinkedIn's ids for them: places inside the area, companies, industries, job functions, titles, benefits, commitments, salary buckets, experience levels, job types, workplace types, distance, date posted and the yes/no filters. Each filter names the linkedin.com/search_jobs arg that takes its ids. The options are the short list LinkedIn shows in its filter panel for this search, not every possible value, and they change with the keywords and place.
Search the LinkedIn Ad Library
Search LinkedIn's public Ad Library by advertiser, payer or keyword, in chosen countries and date range. Returns each ad's id and detail link, ad format, the advertiser (company page or the person whose post is promoted, with their headline and the company promoting it), the ad text preview, headline and image links, plus LinkedIn's total match count. Returns about 24 ads per call by default. No LinkedIn account is used.
Get LinkedIn profile recommendations
Get the recommendations a LinkedIn profile has received and given, from its dedicated Recommendations page by public ID. Returns each recommendation's author/recipient (name, profile URL, connection degree, headline), the relationship note LinkedIn shows (date and how the two people worked together), and the full recommendation text. Profiles with no recommendations in a category come back with an empty list for it rather than an error. Requires being logged in to LinkedIn.
Get LinkedIn company info
Get a LinkedIn company's full profile from its URL or bare slug. employeeCount is LinkedIn members associated with the page, not declared size, and can wildly exceed employeeCountRange; use employeeCountRange for self-declared size. websiteUrl is verbatim and can be a linkedin.com self-link. Returns companyId, universalName, name, tagline, description, websiteUrl, industries, specialities, employeeCount, employeeCountRange, followerCount, foundedYear, phone, headquarters, locations, and logoUrl.
LinkedIn — accept a received invitation
Accept a pending received invitation on LinkedIn, identified by the inviter's display name (person or page). Guards against homonyms - if two or more pending invitations match the name it throws rather than guess - and returns the status plus the matched name (recipientResolved) so you can confirm the right one was accepted. Only acts on invitations already loaded in the list.
Get LinkedIn company jobs
Get a LinkedIn company's open job postings by numeric company id (from linkedin.com/get_company_info or search_companies), worldwide unless a geoId is given, with an optional keyword filter, 25 per page. Returns the total, the company name LinkedIn filtered on, and the jobs in the same shape as linkedin.com/search_jobs (id, title, location, the line under it, when it was listed, reposted, promoted, Easy Apply). companyName is null when LinkedIn does not list the company in its filter, which is what an id it does not know gives; a known company with no openings returns total 0. For other filters, use search_jobs with companyIds. Fails with a clear message when the browser is not signed in or LinkedIn limits the account.
Follow LinkedIn company
Follow a LinkedIn company page by URL or bare slug. Safe to repeat: it returns already_following if you already follow it, and not_found when the page doesn't exist. Also returns the company's numeric id, canonical slug, and display name.
Endorse a skill
Endorse one of a LinkedIn profile's listed skills, by profile URL and the exact skill name shown on their Skills page. Safe to call again on a skill already endorsed by this account — it reports that instead of erroring. Refuses if the profile lists no skills, or the given skill isn't among them.
Sales Navigator – Create lead list
Creates a new manual LinkedIn Sales Navigator lead list. Takes a name and optional description, returns the new listId (the join key that feeds save_lead_to_list and get_lead_list). This changes your account and needs a Sales Navigator seat.
Find LinkedIn newsletters by author
List the LinkedIn newsletters published by a given profile or company page. For a profile, reads its Featured section (the dedicated Featured details page); for a company page, reads its Newsletter module on the page's Home tab. Returns each newsletter's name, URL, cadence/subscriber line, description, and logo. An author with no newsletter featured or listed there comes back with an empty list rather than an error.
Archive/restore LinkedIn conversation
Archive or restore a classic LinkedIn messaging conversation (NOT Sales Navigator), by thread URL from list_inbox. LinkedIn exposes this as a single toggle: archiving a conversation removes it from the main inbox, and running this again on an already-archived conversation restores it back to the inbox. Returns which direction was applied (archived/restored).
Mark LinkedIn conversation as unread
Mark a classic LinkedIn messaging conversation (NOT Sales Navigator) as unread, by thread URL from list_inbox. On group conversations (3+ participants), this occasionally times out on a rare page-loading delay on LinkedIn's side — retry the call if that happens.
unarchive_conversation
Move a LinkedIn classic-messaging conversation (not Sales Navigator) out of Archived and back into the main inbox, by its thread url from list_inbox. Returns whether it was unarchived, and already_active if the conversation was not archived to begin with.
Get LinkedIn notifications
Reads the LinkedIn notifications tab and returns each item's text, link, relative time, and read/unread state. Supports filtering by the same sub-tabs LinkedIn shows (all, jobs, my posts, mentions) and paginates via "load more" up to a requested count.
Get LinkedIn newsletter edition
Fetch a single LinkedIn newsletter edition (article) by its permalink. Returns the newsletter it belongs to, the author, publish date, cover image, the full body converted to Markdown, and engagement stats (reactions, comments, reposts). Use get_edition_reactors for who reacted and get_edition_comments for the comment thread.
