# Eventective Scraper — Event Vendor & Venue Leads + Emails (`scrapersdelight/eventective-scraper`) Actor

Scrape Eventective for event vendor & venue leads by city and category — caterers, DJs, planners, photographers, venues — with public phone, website & social profiles, plus optional email enrichment. Catch new listings on a schedule with Slack/email/webhook alerts. $4 per 1,000 leads.

- **URL**: https://apify.com/scrapersdelight/eventective-scraper.md
- **Developed by:** [Scrapers Delight](https://apify.com/scrapersdelight) (community)
- **Categories:** Automation, Lead generation, Agents
- **Stats:** 1 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.00 / 1,000 per record returneds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## 🎉 Eventective Scraper — Event Vendor & Venue Leads + Emails

**Build event-industry lead lists in minutes. Pick a city and the categories you want — caterers, DJs, event planners, photographers, party rentals, **venues**, and more — and this actor pulls every Eventective listing with its public **phone, website, and social profiles**, then optionally finds an **email** off each vendor's own site. The cleanest event-vendor lead source on Apify.**

No login, no anti-bot. Eventective is server-rendered and exposes real contacts — unlike The Knot / WeddingWire / GigSalad, which wall their data behind anti-bot and "request a quote" forms.

***

### Why this one

Most event/wedding directory scrapers fight an anti-bot wall (The Knot, WeddingWire, GigSalad, Thumbtack) or return listings with **no usable contact**. Eventective is different:

- ✅ **Phone is public** on every profile (validated: 6/6 in testing)
- ✅ **Website is public** (6/6) — which we then mine for an **email** (≈ 50% of vendors)
- ✅ **Socials** (Facebook, Instagram, etc.) when listed
- ✅ **Venues *and* vendors** — the venue side isn't covered by other Apify actors

***

### What you get (per lead)

`name` · `category` · **`phone`** · **`website`** · **`email`** (enriched) · all `emails` · `socials` · `city` · `state` · `description` · `eventective_id` · `profile_url` · `scraped_at`

Export to CSV/JSON/Excel or pull via the Apify API into your CRM, Clay, n8n, or Make.

***

### How to use it

1. Click **Try for free**.
2. Enter a **city** (e.g. `Austin, TX`) and the **categories** you want.
3. Keep **Enrich with emails** on.
4. Click **Start**, then open the **Dataset** tab.

#### Quick start

```json
{ "searchArea": "Austin, TX", "categories": ["venues", "caterers", "djs"], "findEmails": true }
```

**Categories:** venues · wedding-venues · caterers · djs · planners · photographers · videographers · florists · bands · party-rentals · limousines · bakeries · entertainment · photo-booths · officiants (or any raw Eventective slug).

***

### Who it's for

- 🎯 **Event vendors** prospecting complementary vendors & venues to partner with
- 🏢 **Event-tech / SaaS** selling to caterers, planners, venues
- 📣 **Agencies & lead-gen** in the wedding/events space
- 🍽️ **Suppliers & rentals** targeting venues and caterers

***

### Pricing (pay-per-event)

| Event | What it covers | Suggested price |
|-------|----------------|-----------------|
| `lot-scraped` | each vendor/venue lead returned | ~$3–4 / 1,000 |
| `lot-detail-enriched` | each website crawled for an email | ~$3–4 / 1,000 |

***

### Notes

- **Public directory data.** Names, phones, websites, and socials are public on Eventective; emails are scraped from each vendor's own website. **You are responsible** for compliant outreach — follow **CAN-SPAM / GDPR / CASL**.
- **Email yield varies** by vendor (~50% in testing) — but **phone + website come back for nearly all**, so every lead is actionable.

***

### FAQ

**Why not The Knot / WeddingWire / GigSalad?** They're anti-bot-walled and their contact is gated behind quote forms. Eventective is server-rendered with public phone + website, so runs are reliable and the leads are usable.

**Does it find venues too?** Yes — use `venues` (or `wedding-venues`). The venue side isn't covered by other Apify actors.

**How do I get emails?** Keep `findEmails` on — it crawls each vendor's own website (contact/about pages) and picks the best email.

# Actor input Schema

## `searchArea` (type: `string`):

The city + state to pull vendors/venues for. Accepts 'Austin, TX' or the Eventective slug 'austin-tx'.

## `categories` (type: `array`):

What to scrape. Friendly names: venues, wedding-venues, caterers, djs, planners, photographers, videographers, florists, bands, party-rentals, limousines, bakeries, entertainment, photo-booths, officiants. (Or any raw Eventective category slug.)

## `maxPagesPerCategory` (type: `integer`):

How many listing pages (~45 leads each) to walk per category. Raise for bigger pulls.

## `maxResults` (type: `integer`):

Cap on total leads per run. Raise for bigger pulls (email enrichment is the slow part — give the run more time/timeout for large caps).

## `findEmails` (type: `boolean`):

Crawl each vendor's own website to find an email (Eventective exposes phone + website, not email).

## `maxPagesPerSite` (type: `integer`):

Pages of each vendor website to crawl for an email.

## `requireContact` (type: `boolean`):

Output only leads that have a phone, website, or email.

## `concurrency` (type: `integer`):

How many profiles to scrape/enrich in parallel.

## `proxyConfiguration` (type: `object`):

Proxy settings. Datacenter rotation is plenty (Eventective is server-rendered, no anti-bot).

## `diagnose` (type: `boolean`):

Dev only. Logs the first parsed profile (with email), then exits.

## Actor input object example

```json
{
  "searchArea": "Austin, TX",
  "categories": [
    "venues",
    "caterers"
  ],
  "maxPagesPerCategory": 2,
  "maxResults": 50,
  "findEmails": true,
  "maxPagesPerSite": 3,
  "requireContact": false,
  "concurrency": 8,
  "proxyConfiguration": {
    "useApifyProxy": true
  },
  "diagnose": false
}
```

# Actor output Schema

## `leads` (type: `string`):

The dataset of event vendors & venues (one item per lead).

# 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 = {
    "searchArea": "Austin, TX",
    "categories": [
        "venues",
        "caterers"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapersdelight/eventective-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 = {
    "searchArea": "Austin, TX",
    "categories": [
        "venues",
        "caterers",
    ],
}

# Run the Actor and wait for it to finish
run = client.actor("scrapersdelight/eventective-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 '{
  "searchArea": "Austin, TX",
  "categories": [
    "venues",
    "caterers"
  ]
}' |
apify call scrapersdelight/eventective-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scrapersdelight/eventective-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/K2Sj22u7iMhVaAvkK/builds/cAsnPNYzljMlb02ke/openapi.json
