# LinkedIn Events Scraper (`maximedupre/linkedin-events`) Actor

Find public LinkedIn events with one search phrase or known event URLs. Get titles, links, schedule text, descriptions, organizers, locations, attendance counts, registration links, and source details when public pages provide them.

- **URL**: https://apify.com/maximedupre/linkedin-events.md
- **Developed by:** [Maxime Dupré](https://apify.com/maximedupre) (community)
- **Categories:** Social media, Lead generation, Marketing
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.70 / 1,000 public events

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

### 🔎 Find public LinkedIn events

Event researchers, marketers, sales teams, recruiters, and analysts can use this Actor to find public LinkedIn events. Enter one search phrase or known public event URLs. It returns structured dataset rows with event titles, links, schedule text, descriptions, organizers, locations, attendance counts, registration links, and the source that first found each event when those details are public.

- Use [**LinkedIn Events**](https://apify.com/maximedupre/linkedin-events/examples/linkedin-events) to collect public event pages for a topic or market.
- Find public webinars with [**LinkedIn Webinar Events**](https://apify.com/maximedupre/linkedin-events/examples/linkedin-webinar-events).
- Learn a repeatable workflow with [**How To Use LinkedIn Events**](https://apify.com/maximedupre/linkedin-events/examples/how-to-use-linkedin-events).
- Review search ideas with [**LinkedIn Events Best Practices**](https://apify.com/maximedupre/linkedin-events/examples/linkedin-events-best-practices).
- Start a topic search with [**How To Find LinkedIn Events**](https://apify.com/maximedupre/linkedin-events/examples/how-to-find-linkedin-events).

#### 📦 LinkedIn event records

Each saved row describes one public LinkedIn event when a public match is available. The row can keep the event ID, canonical link, title, description, schedule, format, organizer, location, attendance count, registration links, and discovery source. Missing public values stay `null` instead of being inferred.

When the same event appears more than once, the Actor keeps the first eligible match. `sourceType` and `sourceInput` show the search or URL that first produced that row. Later matching values are ignored.

#### ▶️ Search or resolve public events

**Quick start**

1. Choose **Discover public events** or **Resolve event URLs**.
2. For discovery, enter one search phrase and add any filters that help narrow the public index.
3. For URL lookup, add one or more full public LinkedIn event URLs.
4. Run the Actor and open the linked dataset.

Use a search phrase for a broad starting point, or use topics, organizers, industries, cities, years, locations, timing, format, and search market to narrow the request. If you already know the event links, URL lookup can check those links without a separate search.

#### ⚙️ Input

**Input fields**

| Field | Type | What it does |
| --- | --- | --- |
| `target` | string | Chooses public event discovery or public event URL lookup. |
| `searchQuery` | string | One free-text phrase for public event discovery. |
| `topics` | string array | Topic words that narrow public event discovery. |
| `organizers` | string array | Organizer names that narrow public event discovery. |
| `industries` | string array | Industry words that narrow public event discovery. |
| `cities` | string array | City names that narrow public event discovery. |
| `years` | string array | Four-digit years that narrow public event discovery. |
| `locations` | string array | Country, region, venue, or other location text used to narrow discovery. |
| `eventTiming` | string | Uses any time, upcoming events, or past events as the public timing signal. |
| `eventFormat` | string | Uses any format, virtual, in person, or hybrid as the public format signal. |
| `searchMarket` | string | Language or market code for public-index discovery, or automatic selection. |
| `eventUrls` | string array | Full public LinkedIn event URLs to check in URL lookup mode. |

`target` is required. Discovery fields apply to **Discover public events**. `eventUrls` applies to **Resolve event URLs**, and each URL must use the public LinkedIn events path. Empty filter arrays leave that filter unused. The search market accepts values such as `auto`, `en`, `en-US`, `en-GB`, `fr`, `de`, `es`, `it`, or `pt`.

**Example input**

This example is copied from a successful current-beta default-input run.

```json
{
  "target": "discover",
  "searchQuery": "event",
  "eventTiming": "any",
  "eventFormat": "hybrid",
  "searchMarket": "auto"
}
```

#### 🧾 Output

The run output links to the default dataset. Each dataset row has one public event shape.

**Dataset link**

| Field | Type | What it does |
| --- | --- | --- |
| `dataset` | string | Links to the dataset with public LinkedIn event records. |

**Event row**

| Field | Type | What it does |
| --- | --- | --- |
| `eventId` | string or null | Stable public ID of the event when one is available. |
| `eventUrl` | string or null | Canonical public LinkedIn event link when one is available. |
| `title` | string or null | Public event title when one is available. |
| `description` | string or null | Public event description or search text when one is available. |
| `scheduleText` | string or null | Public schedule text when one is available. |
| `format` | string or null | Public format signal: `virtual`, `inPerson`, or `hybrid`; otherwise `null`. |
| `organizer` | object or null | Public organizer details when they are available. |
| `organizer.name` | string or null | Public organizer name when one is available. |
| `organizer.url` | string or null | Public organizer link when one is available. |
| `location` | object or null | Public event location details when they are available. |
| `location.text` | string or null | Public location text when one is available. |
| `location.name` | string or null | Public venue name when one is available. |
| `location.city` | string or null | Public location city when one is available. |
| `location.region` | string or null | Public location region when one is available. |
| `location.country` | string or null | Public location country when one is available. |
| `attendanceCount` | integer or null | Public aggregate attendance count when one is available. |
| `registrationUrls` | URL array or null | Public external registration links when they are available. |
| `sourceType` | string | The first source kind, either `search` or `url`. |
| `sourceInput` | string | The search phrase or public LinkedIn event URL that first produced the row. |

This is a genuine row from a successful current-beta run:

```json
{
  "eventId": "5",
  "eventUrl": "https://mcommunity.linkedin.com/events/how-to-get-the-most-from-your-customer-success-tech-stack-5/",
  "title": "How to get the most from your Customer Success tech stack!, Fri, 30 ...",
  "description": "It's time to register for our upcoming Customer Success event on 15th August 2020. In our webinar we'll be covering: What tools you need for real customer ...",
  "scheduleText": "It's time to register for our upcoming Customer Success event on 15th August 2020. In our webinar we'll be covering: What tools you need for real customer ...",
  "format": null,
  "organizer": null,
  "location": null,
  "attendanceCount": null,
  "registrationUrls": null,
  "sourceType": "search",
  "sourceInput": "site:linkedin.com/events \"technology events\""
}
```

#### 💳 Pricing

This Actor uses pay-per-event pricing. One accepted public event saved to the dataset is one billable event. The price shown in the Actor's pricing panel depends on your Apify plan.

#### 🔌 Integrations

Use the Apify API to start runs and read the default dataset. You can also use Apify exports, schedules, webhooks, and integrations.

https://www.youtube.com/watch?v=bNACk1\_S\_6w\&list=PLObrtcm1Kw6MUrlLNDbK9QRg8VDJg0gOW\&index=4

#### ❓ FAQ

##### Can I use a known LinkedIn event URL?

Yes. Set **Target** to **Resolve event URLs** and add one or more full public event URLs. The Actor checks those links and does not run a separate search for them.

##### What happens when the same event appears more than once?

The first eligible match is saved. Its `sourceType` and `sourceInput` show the search or URL that first produced the row. Later matching inputs are ignored.

##### Can I get private LinkedIn event data?

No. This Actor uses public-index pages and public event records. It does not cover private, login-only, or private participation data.

##### Why are some output fields empty?

Public pages do not always show every optional field. When a value is unavailable, the Actor leaves it `null` instead of inferring it.

##### Can I find upcoming or past events?

Yes. Set **Timing** to **Upcoming events** or **Past events**. Choose **Any time** when you also want events without a known schedule.

##### Can I narrow a search by city or organizer?

Yes. Add cities, organizers, topics, industries, years, or locations. You can also choose a public timing or format signal and a search market.

### 📝 Changelog

**0.0: Initial release**

### 🆘 Support

For issues, questions, or feature requests, [file a ticket](https://console.apify.com/actors/maximedupre~linkedin-events/issues) and I'll fix or implement it in less than 24h 🫡

### 🔗 Related Actors

- [10times Events Scraper](https://apify.com/maximedupre/10times-events-scraper) - Compare public LinkedIn event research with trade shows, conferences, and other event listings.
- [Partiful Events Scraper](https://apify.com/maximedupre/partiful) - Review public event pages, schedules, locations, hosts, and RSVP signals from Partiful.
- [Linkedin Event Scraper](https://apify.com/bhansalisoft/linkedin-event-scraper) - Compare another LinkedIn event collection option for event research.
- [LinkedIn Event Scraper](https://apify.com/silentflow/linkedin-events-scraper) - Review another LinkedIn event search option when you need a second source.
- [LinkedIn Events Scraper](https://apify.com/crawlerbros/linkedin-events-scraper) - Check another LinkedIn event search and URL lookup option.

**Made with ❤️ by Maxime Dupré**

# Actor input Schema

## `target` (type: `string`):

Choose whether to find public events from one search or check known public event URLs.

## `searchQuery` (type: `string`):

Enter one free-text phrase for public event discovery. Use the filters below to narrow by topic, organizer, industry, city, year, location, timing, or format. This is one discovery request. Run another job for a different set of filters.

## `topics` (type: `array`):

Add topic words to narrow public event discovery. Leave this empty to use only the search query and other filters.

## `organizers` (type: `array`):

Add organizer names to narrow public event discovery. Leave this empty if you do not need an organizer filter.

## `industries` (type: `array`):

Add industry words to narrow public event discovery. Leave this empty if you do not need an industry filter.

## `cities` (type: `array`):

Add city names to narrow public event discovery. Leave this empty if you do not need a city filter.

## `years` (type: `array`):

Add four-digit years to narrow public event discovery. Leave this empty to include events from any year.

## `locations` (type: `array`):

Add a country, region, venue, or other location text. Use Cities for city names. Leave this empty if you do not need another location filter.

## `eventTiming` (type: `string`):

Choose the timing signal for public event discovery. Any time includes events with no known schedule.

## `eventFormat` (type: `string`):

Choose the public format signal for event discovery. Any format includes events with no known format.

## `searchMarket` (type: `string`):

Choose a language or market code for public-index discovery, such as en, fr, or en-US. Leave this empty for automatic selection.

## `eventUrls` (type: `array`):

Add one or more full public LinkedIn event URLs, one per line. This target checks the submitted links and does not run a separate search for them.

## Actor input object example

```json
{
  "target": "discover",
  "searchQuery": "technology events",
  "eventTiming": "any",
  "eventFormat": "any",
  "searchMarket": "auto"
}
```

# Actor output Schema

## `dataset` (type: `string`):

A link to dataset rows with public LinkedIn event details and the search or URL that first found each event.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "target": "discover",
    "searchQuery": "technology events",
    "eventTiming": "any",
    "eventFormat": "any",
    "searchMarket": "auto"
};

// Run the Actor and wait for it to finish
const run = await client.actor("maximedupre/linkedin-events").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "target": "discover",
    "searchQuery": "technology events",
    "eventTiming": "any",
    "eventFormat": "any",
    "searchMarket": "auto",
}

# Run the Actor and wait for it to finish
run = client.actor("maximedupre/linkedin-events").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "target": "discover",
  "searchQuery": "technology events",
  "eventTiming": "any",
  "eventFormat": "any",
  "searchMarket": "auto"
}' |
apify call maximedupre/linkedin-events --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,maximedupre/linkedin-events"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/8mO1sFubwGgYKdSgu/builds/64iBZy2fOQ3aWeML3/openapi.json
