# Serp Events Scraper (`payai/serp-events-scraper`) Actor

🚀 Scrape professional networking events, conferences & business meetups from Google Events via SerpAPI. Get 400+ real events across 10 major US cities in minutes!

- **URL**: https://apify.com/payai/serp-events-scraper.md
- **Developed by:** [PayAI](https://apify.com/payai) (community)
- **Categories:** Developer tools, Social media, Lead generation
- **Stats:** 16 total users, 2 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

$10.00/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period. You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

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

## 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

## SerpAPI Professional Events Scraper

A high-performance Apify actor that fetches real professional events from Google Events using SerpAPI. Designed for daily database updates with 20 events per city across 10 major US cities.

### Features

- 🌐 **Real Google Events Data**: Uses SerpAPI to fetch actual events from Google
- 🏙️ **10 Major US Cities**: New York, Los Angeles, Chicago, San Francisco, Miami, Austin, Seattle, Boston, Denver, Atlanta
- 📊 **40 Events Per City**: Default configuration for comprehensive coverage
- 🔄 **Daily Database Updates**: Optimized for scheduled daily runs
- ✅ **No Mock Data**: Only returns real events from Google
- 📅 **Event Details**: Title, date, time, venue, organizer, description, links
- 🎯 **Professional Focus**: Targets business, networking, and conference events

### Configuration

#### Default Settings

- **Cities**: 10 major US cities (fully customizable via input)
- **Events per city**: 40 (adjustable from 1-100)
- **API**: SerpAPI with Google Events engine
- **Categories**: Professional networking, business conferences, tech meetups

#### Input Parameters

```json
{
  "cities": [
    "New York",
    "Los Angeles",
    "Chicago",
    "San Francisco",
    "Miami",
    "Austin",
    "Seattle",
    "Boston",
    "Denver",
    "Atlanta"
  ],
  "eventsPerCity": 40,
  "searchKeywords": "professional networking business conference",
  "includeVirtualEvents": true
}
```

### Output Format

Each event includes:

- `title`: Event name
- `date`: Event date (formatted)
- `time`: Event time
- `city`: City name
- `location`: Full address
- `venue`: Venue name
- `organizer`: Event organizer
- `description`: Event description
- `eventUrl`: Link to event page
- `thumbnail`: Event image
- `category`: Event category
- `source`: "Google Events (via SerpAPI)"
- `extractedAt`: Timestamp of extraction

### Usage

#### For Daily Database Updates

1. Schedule the actor to run daily
2. Events are automatically fetched for all configured cities (default: 10)
3. Results are saved to the dataset (40 events per city by default)
4. Export to your database via API or webhooks

#### API Integration

```javascript
// Fetch results via Apify API
const response = await fetch('https://apify.com/service/https://api.apify.com/v2/datasets/%7BDATASET_ID%7D/items');
const events = await response.json();
```

### Rate Limits & Costs

- SerpAPI allows 100 searches/month on free tier
- Each city search counts as 2-5 API calls (depending on event count)
- Daily run = ~50 API calls (for 10 cities with 40 events each)
- Monthly = ~1500 API calls (requires paid SerpAPI plan)

### Support

For issues or questions about this actor, please contact support or create an issue in the repository.

***

**Built for TopEvents.ai** - Professional events discovery platform

# Actor input Schema

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

List of cities to search for events. Defaults to 10 major US cities.

## `eventsPerCity` (type: `integer`):

Number of events to fetch per city

## `searchKeywords` (type: `string`):

Additional keywords to include in searches

## `includeVirtualEvents` (type: `boolean`):

Whether to include online/virtual events

## Actor input object example

```json
{
  "cities": [
    "New York",
    "Los Angeles",
    "Chicago",
    "San Francisco",
    "Miami",
    "Austin",
    "Seattle",
    "Boston",
    "Denver",
    "Atlanta"
  ],
  "eventsPerCity": 40,
  "searchKeywords": "professional networking business conference",
  "includeVirtualEvents": true
}
```

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("payai/serp-events-scraper").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("payai/serp-events-scraper").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 '{}' |
apify call payai/serp-events-scraper --silent --output-dataset

```

## MCP server setup

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

```

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/J0BZKG6w9VVSYkbFR/builds/A7wUjGlGzzvIdr2oq/openapi.json
