Back to guides
/Linked API

How to Export LinkedIn Search Results to Excel or CSV

You built a search on LinkedIn and want the people in a spreadsheet. This guide shows how to export LinkedIn search results – by hand, with a browser extension, with an AI agent or with a few lines of code – what LinkedIn itself allows, and how to get the file open in Excel or Google Sheets without garbled names.

The short version. There are three practical ways to export LinkedIn search results. For a handful of people, copy the rows into a sheet by hand. For a one-off list, a browser extension can save the results pages you have open to a CSV file. For a list you will refresh, enrich or send on to a CRM, run the same search on your own account through an API or an AI agent and write the rows to a CSV, a sheet or the CRM directly. LinkedIn itself offers no export button for standard search – its Help documents a CSV export only in LinkedIn Recruiter – and it shows a free account at most 250 results per search, so split a larger search into narrower ones. A result row gives you the name, headline, location and profile link; search-result rows contain no email addresses, and finding missing emails is a separate enrichment step.

Can you export LinkedIn search results?

Not from a standard LinkedIn search. What LinkedIn documents, product by product:

ProductNative exportResults you can see
Standard search, free accountNo export option in LinkedIn Help"A maximum of 250 results per search or 25 pages of search results" (LinkedIn Help)
PremiumNo export option in LinkedIn Help"Everything listed above for free members", plus more people searches on Premium Business and above (same page) – no separate number
Sales Navigator"LinkedIn currently doesn't offer the option to export account and lead information from Sales Navigator into a CSV or XLS file"; CRM Sync on Advanced Plus (Sales Navigator Help)Up to 2,500 lead results across 100 pages (Sales Navigator Help)
LinkedIn RecruiterPDF or CSV: "200 profiles per month, per seat via PDF"; by CSV "a total of 5000 unique profiles and 200 files per month, per seat"; "up to 25 candidates per export"; "Recruiter Lite doesn't support exporting to CSV" (Recruiter Help)–

Recruiter's CSV comes from a project's Pipeline, not from a button on the search page. Exporting Sales Navigator leads is its own topic – see our Sales Navigator scraper guide.

Two details people trip over. LinkedIn's data archive, "Download your data", contains your connections and your "Search Queries" – the words and dates of your searches – not the results (LinkedIn Help); exporting your own network is covered in our connections export guide. And export tools commonly state that a standard search reaches 1,000 results (100 pages of 10), while LinkedIn's Help states 250 for a free account. Plan for LinkedIn's figure.

What a LinkedIn search result contains

A search shows a short card per result, and an export captures what is on that card. Linked API's search response returns these fields:

  • People: name, headline, location, profile link and your connection degree (API output also carries the photo URL and a permanent member ID).
  • Companies: name, industry, location and the company page link.

Linked API's search response does not separate current company and title (some extensions split them out of the card); fetch the profile for those fields and for experience, education, skills and the About section. Each profile visit counts toward LinkedIn's commercial use limit, which LinkedIn does not publish as a number (LinkedIn Help), so read profiles only for the rows you will use. Our LinkedIn profile scraper guide covers that step.

Search-result rows contain no email addresses. Finding missing emails is a separate enrichment step, usually charged per email found.

One more thing: results are personal. "LinkedIn uses proprietary relevance algorithms to generate a results order that's unique to each member" (LinkedIn Help), so the same search can return a different list on a colleague's account.

Three ways to export LinkedIn search results

RouteHow it reads LinkedInRows per runWhere the data goesBest for
By handYou, page by pageA page at a timeWherever you pasteUp to a few dozen people
Browser extension or export toolReads the results page in your browser, or runs in the vendor's cloud on your sessionAs the tool allows, within LinkedIn's limitA CSV fileA one-off list
API or AI agent on your own accountRuns the search from your own accountUp to LinkedIn's limit per search, repeatableA CSV, a sheet, a CRM or your productA list you refresh, enrich or act on

Export with a browser extension or export tool

By hand, step by step. Run the search on LinkedIn. Open a sheet with four columns: name, headline, location, profile URL. For each result, copy the name and headline, and right-click the name to copy the profile link. Move to the next page and repeat. It is fine for a few dozen people and slow beyond that.

With a browser extension, step by step. The "LinkedIn → CSV Exporter" extension on the Chrome Web Store describes its own steps: install it and pin it to the toolbar; log in to LinkedIn and run a people search – "Make sure you see a list of people profiles in the results", on a URL like linkedin.com/search/results/people/; click the extension icon; "Select how many result pages you want to export"; then "Click Export Search Results and download your CSV file". Its free tier exports one results page per export.

Tools work in different ways, and the difference matters for your account:

ToolHow it reaches LinkedInStandard searchEmails in the export
LinkedIn → CSV ExporterAn extension in your own browser; "Works only on LinkedIn search pages that show people"Yes – not Sales Navigator or RecruiterNo
PhantomBuster LinkedIn Search ExportRuns in PhantomBuster's cloud on your LinkedIn session cookie, connected through its browser extension or pasted by handYes – Sales Navigator has a separate PhantomNot in the search export
SimularA computer-use agent that, in Simular's words, "runs your search in a real browser on a cloud VM and writes each row into your sheet"Yes, and Sales NavigatorProfile enrichment as a separate step
EvabootA Sales Navigator export tool – its pricing FAQ answers "Do I need a Sales Navigator account?" with yesNoYes, per credit
Linked APIYour own account in a real, dedicated cloud browser; you drive it with code or an AI agentYes, people and companiesNo

Before you pick one, check four things: how it signs in to your account (your browser, your session cookie, your password, or a dedicated browser), the per-run and per-day limits it states, whether emails cost extra, and where the file ends up.

Export with an AI agent

With an AI agent, you describe the list instead of clicking through it:

Find heads of sales at fintech companies in London, up to 200 people, and save them to search-results.csv with name, headline, location and profile link. Tell me how many rows came back.

The agent runs the search on your LinkedIn account and writes the file. Through the MCP server or the AI-agent-friendly CLI, the search tools take keywords and filters – title, location, industry, current and past company, school, connection degree – so the agent rebuilds your search from them. To reuse a search URL you copied from LinkedIn, the agent runs it as a one-action custom workflow: execute_custom_workflow in MCP, or linkedin workflow run in the CLI. Our advanced search guide shows that workflow. Ready-made skills cover people and company search too.

Ask the agent to report the row count. A short result usually means LinkedIn's limit or a narrow search, not a failed export. For how agents connect to a LinkedIn account, see the LinkedIn AI agent guide.

Export with code: a LinkedIn search to CSV

The same search, in your own code. Paste the URL of a people search you built in the browser – or build the search from a keyword and filters – and the script writes search-results.csv. A failed search stops with LinkedIn's message instead of writing an empty file.

import { writeFile } from "node:fs/promises";
import LinkedApi, { LinkedApiError } from "@linkedapi/node";

const linkedapi = new LinkedApi({
  linkedApiToken: "your-linked-api-token",
  identificationToken: "your-identification-token",
});

// The URL of a LinkedIn people search you built in the browser.
const SEARCH_URL =
  "https://www.linkedin.com/search/results/people/?keywords=head%20of%20sales&geoUrn=%5B%22102257491%22%5D";

function csvCell(value: string | null): string {
  const text = value ?? "";
  return /[",\r\n]/.test(text) ? `"${text.replace(/"/g, '""')}"` : text;
}

async function main(): Promise<void> {
  try {
    const workflow = await linkedapi.searchPeople.execute({
      customSearchUrl: SEARCH_URL,
      // Or build the search from filters: term: "head of sales", filter: { locations: ["London"] },
      limit: 250,
    });
    const { data, errors } = await linkedapi.searchPeople.result(workflow.workflowId);
    if (!data) {
      console.error(`Search failed: ${errors.map(({ message }) => message).join("; ")}`);
      process.exitCode = 1;
      return;
    }
    const header = ["name", "headline", "location", "connection_degree", "profile_url"];
    const rows = data.map((person) =>
      [person.name, person.headline, person.location, person.viewerState.connectionDegree, person.publicUrl]
        .map(csvCell)
        .join(","),
    );
    // The byte-order mark tells Excel the file is UTF-8, so non-Latin names open correctly.
    await writeFile("search-results.csv", "" + [header.join(","), ...rows].join("\r\n") + "\r\n", "utf8");
    console.log(`${data.length} rows written to search-results.csv`);
  } catch (caught) {
    if (caught instanceof LinkedApiError) {
      console.error(`Linked API error: ${caught.message}`);
      process.exitCode = 1;
      return;
    }
    throw caught;
  }
}

main();

The limit can go up to 1,000 per call, but LinkedIn still decides how many results your account sees. A company search works the same way with searchCompanies. Every filter is listed under st.searchPeople, with walkthroughs in searching for people and searching for companies. If you are comparing scraper APIs and datasets across profiles, companies and posts, our LinkedIn scraper API guide covers that choice.

Send the results to Excel, Google Sheets or a CRM

Open the file correctly. In Excel, use Data → From Text/CSV, set File Origin to 65001: Unicode (UTF-8) and the delimiter to Comma, then Load – double-clicking a CSV can garble accented and non-Latin names. In Google Sheets, use File → Import → Upload, then choose where the data goes and the separator (Google Docs Help).

Keep a sheet or CRM updated. For a sheet that refreshes, write rows with the Google Sheets API or an n8n or Make workflow; for HubSpot, see the HubSpot integration. Keeping CRM records current is its own job – our CRM hygiene guide covers it. To re-run a saved search and pick up only new people, use the routine in the advanced search guide.

How to export more than 250 results

250 is LinkedIn's figure for a free account; it publishes no separate number for Premium. Either way, the fix is the same: split the search into narrower ones that each fit under the limit – by location, current company, industry, connection degree or title – then merge the files and remove duplicates by profile link. A Boolean search helps you build tight variants.

Judge by the rows you get back, not by the counter. LinkedIn says "Search results are always approximate and the actual results may differ from the results counter at the top of search results page" (LinkedIn Help). If you need bigger lists, Sales Navigator shows up to 2,500 leads per search, and Recruiter's CSV export is counted per seat.

Keep your account in good standing while exporting

Searches and profile visits count toward LinkedIn's commercial use limit, so export what you will actually use and keep a human pace. Linked API runs your own account in a real, dedicated cloud browser – LinkedIn's own pages, at a human pace, within the per-account limits you set – and never stores your password. Like any automation, it carries some risk, which is why volume and pace matter more than the tool. For what LinkedIn's terms say about collecting data, see our guide on how to scrape LinkedIn.

Frequently Asked Questions (FAQ)

Not natively from a standard LinkedIn search – LinkedIn's Help documents an export only in LinkedIn Recruiter, as PDF or CSV from a project. To get a standard search into Excel, copy the rows by hand, use a browser extension that saves the results to CSV, or run the search through an API or an AI agent and write a CSV, then open it in Excel with UTF-8 encoding.

Yes, for small lists. Copying rows by hand costs nothing, and some browser extensions have a free tier – the "LinkedIn → CSV Exporter" extension, for example, exports one results page per export for free.

LinkedIn shows a free account up to 250 results per search, across 25 pages, and publishes no separate number for Premium. Sales Navigator shows up to 2,500 leads per search. To export more from a standard search, split it into narrower searches and merge the files.

Not from the search itself – search-result rows contain no email addresses. Finding missing emails is a separate enrichment step, usually charged per email found.

Three reasons: LinkedIn's limit on how many results an account can see (250 on a free account), a counter LinkedIn itself calls approximate, and results that are ordered and filtered for each member. Split the search into narrower ones and count the rows you actually get.

Build it in, or hand it to an agent

Build search exports into your own product, CRM sync or workflow with the REST API, the Node and Python SDKs or the shell CLI. Or have an AI agent run them out of the box through the MCP server, the agent-friendly CLI or a ready-made skill – searching on your own LinkedIn account and writing the rows wherever you need them. Plans are flat per seat, from $49/mo billed annually – see pricing.

Facts verified November 3, 2026 – LinkedIn Help pages and the vendor pages named here checked on that date.