LinkedIn Events Scraper
Pricing
Pay per event
LinkedIn Events Scraper
Discover public LinkedIn events and extract event details, schedules, organizers, locations, and registration metadata.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
3 days ago
Last modified
Categories
Share
Discover publicly indexed LinkedIn events by keyword or event URL without supplying a LinkedIn login. The Actor returns one typed dataset row per event with its stable ID, canonical URL, title, indexed description, schedule text, organizer, location, attendance count, virtual-event signal, and external registration URL when those fields are publicly indexed.
Use it to refresh event intelligence, build organizer calendars, discover webinars, prepare partnership research, or feed public event records into a spreadsheet, CRM, database, or monitoring workflow.
What LinkedIn Events Scraper does
The Actor searches the public web index for LinkedIn event pages rather than signing in to LinkedIn. It supports two input routes:
- Keyword discovery — search by topic, organizer, industry, city, event format, or year.
- Event URL resolution — submit one or more known
linkedin.com/events/...URLs and resolve the matching indexed record.
Results are deduplicated by LinkedIn's stable numeric event ID. The Actor applies the same output contract to discovered events and explicit URLs. It never asks for LinkedIn credentials or cookies.
Who is it for
Event intelligence teams
Refresh public calendars of webinars, conferences, product launches, and professional community events.
B2B marketing and partnerships teams
Find events relevant to an industry, organizer, account list, or campaign theme before planning sponsorships and outreach.
Analysts and researchers
Export event titles, descriptions, public schedules, and registration links for one-time or recurring analysis.
Automation builders
Send deduplicated event records to Google Sheets, Airtable, a warehouse, an Apify webhook, Make, Zapier, n8n, or your own API.
Developers and AI agents
Call the Actor through the Apify API or MCP and receive JSON records instead of parsing search pages themselves.
Why use this Actor
- No LinkedIn login, password, or session cookie is required.
- Both keyword queries and real event URLs use one stable output schema.
- Numeric event IDs provide deterministic deduplication across repeated runs.
- Bounded retries and conservative pacing handle temporary search throttling.
maxItemsand per-query page limits keep runs predictable.- Pay-per-event billing means failed, duplicate, and rejected records are not charged as event items.
- Null fields are explicit; the Actor does not invent organizer, attendance, location, or registration data.
What data can be extracted
| Field | Type | Meaning |
|---|---|---|
eventId | string | Stable numeric LinkedIn event identifier. |
eventUrl | string | Canonical public LinkedIn event URL returned by the index. |
title | string | Indexed event title. |
description | string or null | Indexed event description or search snippet. |
dateText | string or null | Public date or schedule text, kept as displayed by the index. |
organizerName | string or null | Organizer only when explicit hosted-by, organized-by, or presented-by text exists. |
location | string or null | Explicit venue/location text, or Online for a clearly virtual event. |
attendanceCount | integer or null | Public attendee, going, or registration count when indexed. |
registrationUrl | string or null | External, non-LinkedIn registration URL when indexed. |
isVirtual | boolean or null | Virtual/in-person signal only when the indexed text makes it explicit. |
sourceQuery | string | Keyword or event URL that produced the row. |
sourceType | string | query or url. |
searchResultRank | integer | Deduplicated output order for this run. |
pageNumber | integer | Search page where the event was found. |
scrapedAt | string | UTC extraction timestamp. |
Field completeness depends on what the public search index exposes for each event. A null value means the field was not present clearly enough to extract safely.
How to get started
- Open the Actor input page.
- Add one or more values to Event search queries, such as
AI webinarorcybersecurity conference. - Optionally add known LinkedIn event URLs under LinkedIn event URLs.
- Choose a practical
maxItemsvalue. - Keep one search page per query for a quick run, or increase the page limit for broader indexed coverage.
- Select a language-market preference such as
en-USorde-DE. - Start the Actor.
- Open the LinkedIn events dataset view or export the dataset as JSON, CSV, Excel, XML, or RSS.
Start with narrow, descriptive queries. Adding an organizer, topic, region, or year usually produces more relevant records than a one-word query.
Input parameters
queries
An array of public event search phrases.
The Actor automatically scopes every phrase to LinkedIn event pages.
Do not add site:linkedin.com/events/ yourself.
Examples:
["AI webinar","Microsoft future of work event","cybersecurity conference London"]
startUrls
Optional LinkedIn event URLs. Both numeric URLs and slug-plus-ID URLs are accepted. Other LinkedIn pages and non-LinkedIn URLs fail input validation.
[{ "url": "https://www.linkedin.com/events/7038508574142074880/" }]
Set queries to an empty array when you want a URL-only run.
maxItems
Maximum unique event rows saved across all inputs. The default is 50 and the maximum is 1,000. The Actor stops accepting rows as soon as this limit is reached.
maxPagesPerQuery
Maximum public search pages requested for each query or URL. The default is 2 and the maximum is 10. More pages can increase coverage, runtime, and the chance of temporary index throttling.
market
Language-market preference sent to the public index.
Use values such as en-US, en-GB, de-DE, or es-ES.
This influences result language and ranking; it is not a strict geographic event filter.
requestDelayMillis
Delay between search pages. The default is 1,500 milliseconds. Increase it for large recurring runs if the index starts returning temporary throttling responses.
Example input: discover AI webinars
{"queries": ["AI webinar"],"startUrls": [],"maxItems": 5,"maxPagesPerQuery": 1,"market": "en-US","requestDelayMillis": 1500}
Example input: resolve an event URL
{"queries": [],"startUrls": [{ "url": "https://www.linkedin.com/events/7038508574142074880/" }],"maxItems": 1,"maxPagesPerQuery": 1,"market": "en-US"}
Example output
This record reflects the Actor's current URL-resolution behavior:
{"eventId": "7038508574142074880","eventUrl": "https://www.linkedin.com/events/7038508574142074880/","title": "The Future of Work: Reinventing Productivity with AI","description": "Join us for a special event with Satya Nadella and Jared Spataro to learn how AI will power a whole new way of working for every person and organization. The live stream starts at 8 AM Pacific Time on March 16.","dateText": "March 16","organizerName": null,"location": null,"attendanceCount": null,"registrationUrl": null,"isVirtual": true,"sourceQuery": "https://www.linkedin.com/events/7038508574142074880/","sourceType": "url","searchResultRank": 1,"pageNumber": 1,"scrapedAt": "2026-07-31T02:12:51.429Z"}
The example shows why nullable fields matter: a useful public event identity and description can be available even when the index does not expose organizer or attendance metadata.
How much does it cost to discover LinkedIn events?
This Actor uses pay-per-event pricing:
- one small Start charge is applied once per run;
- one Item processed charge is applied for each unique event row saved;
- duplicate, malformed, empty, and failed candidates do not create item charges;
- per-item prices decrease through Apify's volume tiers.
The active one-time start price is $0.005 per run. Active item prices are:
| Apify tier | Price per saved event |
|---|---|
| FREE | $0.020392 |
| BRONZE | $0.017732 |
| SILVER | $0.013831 |
| GOLD | $0.010639 |
| PLATINUM | $0.0070928 |
| DIAMOND | $0.004965 |
At BRONZE pricing, a run saving 1 event costs about $0.0227, 10 events about $0.1823, 25 events about $0.4483, and 100 events about $1.7782, including the start charge.
The same calculation is 0.005 + saved events × your active item-tier price.
A URL-only test with one saved row is the cheapest way to verify that the output fits your workflow.
Larger recurring searches benefit from lower per-event volume tiers.
Infrastructure usage, including the Actor's datacenter proxy requests, is covered by the pay-per-event model rather than billed as a separate output type.
Event discovery workflow patterns
Build a public webinar calendar
Schedule daily or weekly queries for a topic and append records to a warehouse.
Use eventId as the primary key and compare the nullable metadata fields between runs.
Monitor an organizer and topic together
Use several focused phrases such as Microsoft AI event and Microsoft future of work event.
Deduplicate downstream on eventId and preserve sourceQuery to explain why each record matched.
Enrich a known URL list
Feed event URLs collected from posts, newsletters, or CRM notes into startUrls.
Set queries to [] and retain the output alongside the original URL source.
Export to a spreadsheet
Open the run dataset, choose CSV or Excel, and select the overview fields. For scheduled exports, fetch the default dataset through the API after each successful run.
Trigger downstream automation
Configure an Apify webhook for successful runs. Pass the dataset ID to Make, Zapier, n8n, or an internal worker that loads new event rows.
API usage with cURL
Set APIFY_TOKEN in your environment and run:
curl -X POST \"https://api.apify.com/v2/acts/automation-lab~linkedin-events-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"queries": ["AI webinar"],"startUrls": [],"maxItems": 10,"maxPagesPerQuery": 1,"market": "en-US"}'
To wait for completion and receive dataset items directly:
curl -X POST \"https://api.apify.com/v2/acts/automation-lab~linkedin-events-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"queries":["AI webinar"],"maxItems":5,"maxPagesPerQuery":1}'
Do not commit your Apify token to source control.
API usage with JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/linkedin-events-scraper').call({queries: ['Microsoft AI event'],startUrls: [],maxItems: 20,maxPagesPerQuery: 2,market: 'en-US',});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
API usage with Python
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ["APIFY_TOKEN"])run = client.actor("automation-lab/linkedin-events-scraper").call(run_input={"queries": ["cybersecurity conference"],"startUrls": [],"maxItems": 20,"maxPagesPerQuery": 2,"market": "en-US",})items = client.dataset(run["defaultDatasetId"]).list_items().itemsfor item in items:print(item["eventId"], item["title"], item["eventUrl"])
Use LinkedIn Events Scraper with MCP
Claude Code setup
Add the Actor to Claude Code through Apify MCP:
claude mcp add --transport http apify \"https://mcp.apify.com?tools=automation-lab/linkedin-events-scraper"
Claude Desktop setup
Use this HTTP MCP configuration in Claude Desktop:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=automation-lab/linkedin-events-scraper"}}}
Cursor setup
Add the same mcpServers.apify.url value in Cursor's MCP settings.
VS Code setup
Add the same HTTP MCP server URL through your VS Code MCP extension or workspace MCP settings.
Example prompts:
- “Run LinkedIn Events Scraper for AI webinars and return at most 10 events.”
- “Resolve this LinkedIn event URL and summarize only metadata present in the dataset.”
- “Search for Microsoft future-of-work events and format the resulting event IDs and URLs as CSV.”
MCP clients still use your Apify account and the Actor's active pricing.
Reliability and failure behavior
The Actor retries temporary network, HTTP 429, and server failures with bounded exponential backoff. It does not retry malformed URLs or permanent client errors indefinitely.
If every search request fails, the run fails instead of silently returning an empty successful dataset. If a valid query has no indexed matches, the run can succeed with zero rows. When one query fails but another succeeds, the Actor records a warning and preserves useful rows from the successful query.
Use conservative page counts and delays for recurring workloads. Split very large topic lists across scheduled runs if relevance and freshness matter more than one large batch.
Limits and data freshness
- The Actor reads public search-index records, not LinkedIn's private authenticated event API.
- LinkedIn can require login when opening the event URL even though the public index still contains metadata.
- Index coverage and freshness are controlled by the search provider and LinkedIn.
- Deleted, private, login-only, or newly created events may be absent.
- Historic events can rank for broad queries; include a year or specific organizer when that matters.
- Schedule text is kept as indexed text because timezone and year may be omitted.
- Organizer, attendance, location, and registration metadata are nullable.
marketinfluences ranking and language but does not guarantee event geography.- The Actor does not scrape attendees, profiles, private conversations, or login-only fields.
Tips for better results
- Combine a topic with
webinar,conference,summit,workshop, or a year. - Include an organizer or company for calendar-refresh workflows.
- Use multiple narrow queries instead of one very broad phrase.
- Keep
maxPagesPerQueryat 1 while validating a new query. - Store
eventIdas your downstream unique key. - Compare nullable metadata across scheduled runs rather than assuming every field is always present.
- Set
queriesto[]for URL-only resolution. - Inspect warnings before increasing request volume.
Responsible and legal use
Only collect public event information for a legitimate purpose. Follow LinkedIn's terms, the event organizer's terms, applicable privacy and database laws, and your organization's data-retention policy.
Do not use the Actor to infer sensitive traits, evade access controls, scrape private event participation, or automate unsolicited outreach. Avoid combining public event records with personal data unless you have a lawful basis and appropriate safeguards.
You are responsible for deciding whether your intended collection and downstream use are permitted in your jurisdiction. This documentation is operational guidance, not legal advice.
Troubleshooting
Why did my query return no events?
Try a more specific phrase, add a year or organizer, and test the same phrase in another supported market. The public index may not contain a new, private, deleted, or login-only event. A successful zero-row run is possible when no public result matches.
Why are some metadata fields null?
The Actor only returns organizer, schedule, location, attendance, and registration values when they are explicit in indexed text. Null is safer than an inferred or fabricated value. The canonical URL, ID, title, and description can still make the row useful.
Why does the event URL open a login page?
LinkedIn controls its first-party event page separately from the public search index. This Actor extracts publicly indexed metadata without promising that every event detail page remains guest-accessible.
What should I do after throttling warnings?
Reduce maxPagesPerQuery, increase requestDelayMillis, or split the query list into smaller scheduled runs.
Do not repeatedly restart an unchanged failing run.
Why was my URL rejected?
Only linkedin.com/events/<numeric-id>/ and linkedin.com/events/<slug-with-numeric-id>/ forms are accepted.
Company, post, profile, generic events-directory, and non-LinkedIn URLs are rejected intentionally.
FAQ
Does this Actor require LinkedIn cookies?
No. It uses public search-index pages and does not accept a LinkedIn username, password, or cookie.
Can it discover events by organizer?
Yes, include the organizer name in a query. This is public index matching, not a guaranteed complete organizer directory.
Does it return event attendees?
No. It can return a public attendance count when indexed, but it does not collect attendee identities or profiles.
Can I schedule recurring runs?
Yes.
Use Apify Schedules and keep eventId as the downstream key for new/changed-record comparisons.
Can I export to CSV or Excel?
Yes. Every run writes normal Apify dataset items, which can be downloaded in JSON, JSONL, CSV, Excel, XML, and RSS formats.
Are the results real-time?
No. They reflect the public search index at run time, and index freshness varies.
Will explicit URLs always return a row?
No. The event must be publicly indexed, and the numeric event ID must match the returned result.
Related Automation Lab Actors
- LinkedIn Public Profile Search Scraper — discover public professional profiles after identifying relevant event organizers or speakers.
- Webinar Landing Page Extractor — extract structured details from external webinar and registration landing pages found in event metadata.
Choose this Actor for LinkedIn event identity and indexed metadata. Choose Webinar Landing Page Extractor when the external registration page is the primary source you need to parse.