Export Any LinkedIn Search to Google Sheets
Scrape LinkedIn search results with pagination. Paste a fetch() from DevTools to extract profiles matching your search query. Supports LinkedIn's SDUI/RSC API format.
Key Takeaways
- Export any LinkedIn people search - Works with any search query you can run on LinkedIn
- Automatic pagination - Loops through up to 50 pages of results with 3-second delays between requests
- Real-time export - Profiles are saved to Google Sheets as each page is processed
- Structured profile data - Extracts name, headline, location, LinkedIn URL, and more
- DevTools-based - You paste a fetch() request copied from your browser
- SDUI compatible - Supports LinkedIn's latest SDUI/RSC API format (flagship-web endpoint)
What This Workflow Does
This workflow takes a LinkedIn search API request (copied from your browser's DevTools), pages through all results, extracts profile data from each page, and saves each profile to Google Sheets in real time. You run a search on LinkedIn, copy the network request, paste it into the workflow, and get a spreadsheet of matching profiles.
Use cases:
- Build targeted lead lists by job title, location, or industry
- Source candidates for open roles
- Export search results that LinkedIn does not let you download natively
- Create prospecting lists for outreach campaigns
How It Works
| Step | What Happens |
|---|---|
| 1. Manual trigger | You paste a fetch() request copied from LinkedIn DevTools |
| 2. Parse request | Code node extracts the search URL, headers, body, and CSRF token |
| 3. Loop through pages | Fetches each page of results (up to 50 pages, 3-second delay each) |
| 4. Extract profiles | Code node pulls name, headline, location, LinkedIn URL per profile |
| 5. Save to Google Sheets | GPT-4.1 writes each batch of profiles to your spreadsheet |
The loop updates the SDUI page state (intValue) in the request body to advance through pages. Each page returns approximately 10 profiles.
Data Extracted
| Field | Description |
|---|---|
| name | Full name |
| linkedin_url | Profile URL |
| headline | Professional headline |
| location | Geographic location |
| public_identifier | LinkedIn username |
| connection_degree | 1st, 2nd, or 3rd degree |
| search_query | The original search keywords |
AI Models Used
| Model | Provider | Role |
|---|---|---|
| GPT-4.1 | OpenAI | Writes extracted data to Google Sheets |
Setup Instructions
- Click "Use template" on this page
- Copy the template Google Sheet linked inside the workflow and paste your own sheet URL into the AI node
- Connect your Google Sheets account
- Go to LinkedIn and perform your desired people search
- Open DevTools (F12), go to the Network tab
- Find the POST request to
flagship-web/search/results/people/ - Right-click it and select "Copy as fetch"
- Important: Make sure the fetch includes the
cookieheader with yourli_atvalue. If missing, go to DevTools > Application > Cookies > linkedin.com, copy theli_atvalue, and add it to the fetch headers as"cookie": "li_at=YOUR_VALUE" - Paste the fetch() into the Manual Trigger node
- Run the workflow
Google Sheets Output
| Column | Field |
|---|---|
| A | name |
| B | linkedin_url |
| C | headline |
| D | job_title |
| E | company |
| F | location |
| G | |
| H | search_query |
Customization
| What You Can Change | How |
|---|---|
| Search query | Run a different LinkedIn search and copy the new fetch() request |
| Google Sheet columns | Modify the AI node prompt to change which columns are written |
| Delay between pages | Edit the wait node duration (default is 3 seconds) |
| Max pages | Change the loop condition (default is 50 pages) |
FAQ
Q: Does this require LinkedIn Sales Navigator? A: No, it works with a free LinkedIn account. Sales Navigator gives more search filters but is not required.
Q: Why do I need to copy a fetch() from DevTools? A: The workflow uses your authenticated LinkedIn session to make API requests. The fetch() contains your session cookies, CSRF token, and the SDUI request body that LinkedIn uses for search.
Q: What if I get errors after a while? A: Your LinkedIn session may have expired. Log back in and copy a fresh fetch() request.
Q: Can I search by company or industry? A: Yes. Use LinkedIn's search filters before copying the fetch request. The workflow processes whatever search results the API returns. All filters (network, geo, industry, seniority, etc.) are preserved in the SDUI request body.
Q: What changed with the LinkedIn API?
A: LinkedIn migrated from the Voyager REST API to a new SDUI (Server-Driven UI) format using the flagship-web/search/results/people/ endpoint. This template handles both the new SDUI/RSC response format and falls back to the legacy Voyager format if needed.
Want to showcase your own workflows?
Become a Needle workflow partner and turn your expertise into recurring revenue.