Export LinkedIn Event Attendees to Google Sheets
Scrape all attendees from any LinkedIn event and export their profiles to Google Sheets automatically. Extracts name, LinkedIn URL, headline, location, connection degree, and summary — with full pagination support.
Key Takeaways
- Export every attendee from any LinkedIn event - Scrape all people attending a LinkedIn event and get their data in Google Sheets
- Full profile data - Extracts name, LinkedIn URL, headline, location, summary, and connection degree
- Paginated scraping - Loops through all pages of attendees with 4-second delays between requests
- Two input methods - Paste a fetch request from DevTools or provide event ID, CSRF token, and cookie manually
- Saves as you go - Each page of attendees is written to Google Sheets in real time
What This Workflow Does
This workflow scrapes all attendees from a LinkedIn event and exports their profiles to Google Sheets. You navigate to the event's attendee list in LinkedIn, copy a network request from DevTools, paste it into the workflow, and run it. The workflow parses the event ID and authentication headers, paginates through all attendees using LinkedIn's Voyager API, and writes each batch to your spreadsheet.
Use cases:
- Building outreach lists after hosting or attending an event
- Following up with everyone who attended your conference or meetup
- Lead generation from industry events and webinars
- Networking at scale by exporting attendee data for personalized outreach
- Post-event engagement campaigns with attendee profiles
How It Works
| Step | What Happens |
|---|---|
| 1. Manual trigger | You paste the fetch() request or provide event ID, CSRF token, and cookie |
| 2. Parse input | A code node extracts the event ID, authentication headers, and builds the API URL |
| 3. Pagination loop | Iterates through attendee pages (25 per page, up to 100 pages) |
| 4. Build page URL | Updates the API URL with the current page offset |
| 5. Wait 4 seconds | Pauses between requests to respect rate limits |
| 6. HTTP request | Fetches the current page of attendees from LinkedIn's Voyager API |
| 7. Extract profiles | Parses the API response, extracts profile data from included entities, deduplicates |
| 8. Save to Google Sheets | Writes the batch of profiles as rows to your spreadsheet |
| 9. Check pagination | Determines if there are more pages and continues the loop |
Workflow Nodes
| Node | Role |
|---|---|
| Manual Trigger | Accepts the pasted fetch() request or key-value input from DevTools |
| Code (Parse Input) | Extracts event ID, CSRF token, cookie, and builds the Voyager API URL |
| Loop | Iterates through attendee pages (condition: hasMore and page < 100) |
| Code (Build URL) | Constructs the API URL for the current page offset |
| Wait (4s) | Delays 4 seconds between API calls |
| HTTP Request | Sends a GET request to LinkedIn's Voyager search API with event filter |
| Merge | Combines the HTTP response with the build context (search keywords, page info) |
| Code (Extract Profiles) | Parses the Voyager response, extracts attendee data from included entities, deduplicates |
| Code (Emit Profiles) | Returns the profiles array for the Google Sheets node |
| Google Sheets (Add Rows) | Appends profiles as rows to the spreadsheet |
| Code (Sheets Done) | Signals that the save is complete |
| Code (Pagination) | Passes pagination state (hasMore, totalResults) to the merge |
| Merge | Combines save completion with pagination data |
| Code (Final Pagination) | Extracts hasMore and totalResults for the next loop iteration |
Data Exported Per Attendee
| Column | Field | Description |
|---|---|---|
| A | name | Full name as shown on LinkedIn |
| B | linkedin_url | Full LinkedIn profile URL |
| C | headline | Professional headline |
| D | location | Geographic location (when available) |
| E | summary | Additional context from search results |
| F | connection_degree | Connection degree (1st, 2nd, 3rd) |
| G | search_query | Reference to the event scraped |
Setup Instructions
- Add the "Export LinkedIn Event Attendees to Google Sheets" template to Needle
- Go to a LinkedIn Event page and click "Attending" to see the attendee list
- Open browser DevTools (F12) and go to the Network tab
- Scroll the attendees list to trigger the API request
- Find the request containing
eventAttendingin the URL - Right-click the request, then select Copy, then Copy as fetch
- Paste the copied fetch() into the Manual Trigger node
- Important: Make sure the fetch includes the
cookieheader with yourli_atvalue. If it is missing, go to DevTools > Application > Cookies > linkedin.com, copy theli_atvalue, and add it to your headers - Connect your Google Sheets account in the Google Sheets node
- Set your Spreadsheet ID in the Google Sheets node
- Run the workflow
Alternative input method: Instead of a fetch request, paste three lines into the trigger:
eventId: YOUR_EVENT_ID csrfToken: YOUR_CSRF_TOKEN cookie: li_at=YOUR_LI_AT_VALUE
Customization
| What You Can Change | How |
|---|---|
| Google Sheet columns | Update the rows expression in the Google Sheets node |
| Target spreadsheet | Change the Spreadsheet ID in the Google Sheets node |
| Page delay | Change the Wait node duration (default: 4 seconds) |
| Max pages | Change the loop condition (default: page < 100) |
FAQ
Q: How do I find the right network request to copy?
A: In the Network tab, filter by "eventAttending" or "clusters". The request URL will contain eventAttending:List(EVENT_ID) and return a JSON response with attendee profile data.
Q: My workflow is returning errors or empty results. What should I do?
A: Your LinkedIn session cookie expires after roughly 24 hours. Go back to LinkedIn, open DevTools, and copy a fresh fetch() request. Make sure the li_at cookie is included.
Q: Where do I find the event ID?
A: The event ID is the long number in the LinkedIn event URL, for example linkedin.com/events/7439004355225100288. If you copy the fetch request, the workflow extracts it automatically.
Q: Does this work with any LinkedIn event? A: Yes, it works with any event where you can see the attendee list. You do not need to be the event organizer.
Q: How many attendees can I scrape? A: The default limit is 100 pages at 25 per page (2,500 attendees). Most events have far fewer attendees. The workflow auto-stops when there are no more results.
Q: Can I use this for post-event outreach? A: Yes. Export the attendees to Google Sheets, then use Needle's LinkedIn Connection Outreach template to send personalized connection requests with a note referencing the event.
Want to showcase your own workflows?
Become a Needle workflow partner and turn your expertise into recurring revenue.