# The Vendry Scraper - Event Venues & Vendors, Emails, Capacity (`scrapersdelight/thevendry-scraper`) Actor

Scrape thevendry.com event venues and vendors by city or search link: email, phone, website, booking link, address, coordinates, venue type, seated/standing capacity, rooms with layouts, sq ft and prices, catering and bar policy, amenities, event types, ownership flags. Monitor new venues.

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

## Pricing

$2.70 / 1,000 per row 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?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

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

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### What does The Vendry Scraper do?

**The Vendry Scraper** extracts event venues and event vendors from [thevendry.com](https://thevendry.com) - the venue and
vendor directory event planners use to source hotels, restaurants, rooftops, event spaces, caterers, AV companies and
planners. Give it a city (or paste any The Vendry search link) and it returns one row per venue or vendor with the
**contact email, phone, website and booking link**, the full address and coordinates, the venue type, **seated and
standing capacity**, every room with its layout capacities, square feet and price, catering and bar policies, amenities,
event types and ownership flags.

- **Every venue in a city, not just the first page.** The site shows a signed-out visitor 24 venues per search; the actor
  splits the search by venue type and by map area until it has read them all, and reports the site's own total next to
  what it read (Austin: 1,080 of 1,080; New York: 6,306 venues within the city's 30-mile radius).
- **Contacts on every row**: email (70-81% of venues, 89% of vendors), phone (93-94% of venues), website (99.7%+).
- **Rooms, capacities and policies**: per-room seated / standing / theater / banquet / reception / classroom capacity,
  square feet, price notes, event uses and amenities; catering, bar and A/V policy per venue.
- **Venues and vendors**: planners, caterers, AV & production, florals, photographers, DJs, rentals - all 65 of the site's
  vendor categories, with their services and price ranges.
- **The site's own filters**: venue type, space type (rooftop, private dining room, outdoor...), guest count, square feet,
  hotel guest rooms, price level, radius, keyword.
- **Monitor mode** for scheduled runs: only venues and vendors that are new since the last run.
- No login, no cookies, no browser. Export to JSON, CSV, Excel, or pull it through the Apify API, MCP, Make, Zapier or n8n.

### What data can you get from The Vendry?

<table>
<tr><td>🏛️ Venue name, type and subtype</td><td>📧 Email</td><td>📞 Phone</td></tr>
<tr><td>🌐 Website + booking / RFP link</td><td>📸 Instagram</td><td>📍 Street, city, state, postal code</td></tr>
<tr><td>🗺️ Latitude / longitude, neighbourhood</td><td>📏 Distance from the city centre</td><td>🆔 Google place id, Yelp id</td></tr>
<tr><td>👥 Max seated / standing capacity</td><td>🚪 Rooms (spaces) with layouts</td><td>📐 Square feet per room</td></tr>
<tr><td>💲 Room prices + pricing notes</td><td>🏷️ Price level (1-4)</td><td>🍽️ Catering / bar / A/V policy</td></tr>
<tr><td>🎉 Event types (private dining, meetings...)</td><td>✨ Amenities (outdoor area, stage, rooftop...)</td><td>🏨 Hotel guest rooms, meeting rooms, room rates</td></tr>
<tr><td>🧑‍🍳 Vendor categories + services with price ranges</td><td>✅ Claimed / accepting inquiries</td><td>🏳️ Women-, Black-, veteran-, LGBTQ+-, Asian-, Latino-owned flags</td></tr>
<tr><td>🖼️ Logo, cover photo, up to 20 photos</td><td>📄 Brochures / event packets (PDF)</td><td>📰 Press mentions</td></tr>
</table>

### How to scrape The Vendry with The Vendry Scraper

1. [Create a free Apify account](https://console.apify.com/sign-up) - it comes with monthly free credit.
2. Open **The Vendry Scraper** and pick **Event venues** or **Event vendors**.
3. Type one or more cities (`Austin, TX`, `New York, NY`, `London, United Kingdom`) or paste thevendry.com search links.
4. Optionally narrow it down: venue types, space types, guest count, keyword, price level - and set **Max rows**.
5. Click **Start**.
6. Download the rows as JSON, CSV or Excel, or open the **Contacts** and **Capacity & rooms** views in the dataset.

### ⬇️ Input

| Parameter | Type | Description |
|---|---|---|
| `searchType` | select | `venues` (default) or `vendors`. A pasted link decides this for itself. |
| `cities` | list | One city per line: `"Austin, TX"`, `"London, United Kingdom"`, `"Toronto, ON, Canada"`. |
| `startUrls` | list | thevendry.com search links (with any filters in them) or profile links (`/venue/287`, `/pro/3941`). |
| `venueTypes` | multi-select | Hotel, Restaurant, Event Space, Bar / Club, Museum / Gallery, Brewery / Distillery... (31 types). |
| `spaceTypes` | multi-select | Rooftop, Outdoor Space, Private Dining Room, Meeting Room, Auditorium, Restaurant Full Buyout, Event Space. |
| `vendorTypes` | multi-select | Caterer, Planning & Production, AV Rental & Production, Photography, Florals & Design, DJ... (65 categories). |
| `keyword` | text | The site's own keyword search, e.g. `rooftop`. |
| `radiusMiles` | number | Venues within N miles of each city's centre instead of the site's city area. |
| `minCapacity` / `maxCapacity` | number | Guest count range. |
| `minSquareFeet` | number | Minimum total event space. |
| `minGuestRooms` | number | Hotels with at least N guest rooms. |
| `priceLevels` | multi-select | The site's price tier, 1-4. |
| `keywords` / `excludeKeywords` | list | Keep / drop rows that mention these words (name, description, rooms, amenities). |
| `withEmailOnly`, `withPhoneOnly` | boolean | Only rows with that contact. |
| `claimedOnly`, `acceptingInquiriesOnly` | boolean | Only claimed profiles / profiles that take inquiries. |
| `ownership` | multi-select | Women-, veteran-, LGBTQ+-, Black-, Asian- or Latino-owned. |
| `includeDetails` | boolean | Default **on**: reads each profile for email, booking link, ownership, claimed status, press, brochures. |
| `includeSpaces` | boolean | Default **on**: one entry per room. |
| `monitorMode`, `monitorKey` | boolean, text | Only businesses not delivered by an earlier run of the same search. |
| `maxItems` | number | Rows for the whole run (default 100; 0 = no limit). |
| `maxItemsPerSearch` | number | Rows per city / link (0 = no limit). |
| `compact` | boolean | Core fields only. |
| `proxyConfiguration`, `maxConcurrency` | advanced | Not needed - the site answers without a proxy. |

Nothing is required: an empty input runs the demo search (`Austin, TX`, 100 rows).

#### Input JSON

```json
{
    "cities": ["Austin, TX", "New York, NY"],
    "venueTypes": ["restaurants", "event-spaces"],
    "spaceTypes": ["rooftop"],
    "minCapacity": 50,
    "withEmailOnly": true,
    "maxItems": 500
}
```

#### Paste a search link to keep every filter you set on the site

Set the filters on thevendry.com (type, guests, neighbourhood, space type, price) and copy the address bar, e.g.
`https://thevendry.com/venues/search/usa/ny/new-york/hotels?v=25&c1=200`. Every filter in the link is passed to the same
search the page runs. Vendor links (`/vendors/search/usa/ca/los-angeles/catering`) work the same way.

#### Use the city name the site uses

US cities take the two-letter state (`Portland, OR`); other cities take the country (`London, United Kingdom`,
`Berlin, Germany`). A city search covers the site's own city area - 30 miles around the centre for New York, Austin,
London and most cities - so suburbs are included; add `radiusMiles` (e.g. 5) for the centre only.

### ⬆️ Output

One row per venue or vendor. A real venue row from the Austin run (rooms and photos trimmed):

```json
{
  "businessId": 165144,
  "businessType": "venue",
  "name": "Mattie's",
  "profileUrl": "https://thevendry.com/venue/165144",
  "venueType": "Restaurant",
  "venueSubtype": "American",
  "email": "mail@mattiesaustin.com",
  "phone": "+15124441888",
  "websiteUrl": "http://mattiesaustin.com/private-events",
  "street": "811 West Live Oak Street",
  "city": "Austin", "state": "TX", "postalCode": "78704",
  "neighborhood": "Bouldin Creek",
  "latitude": 30.245335, "longitude": -97.7628288, "distanceMiles": 1.87,
  "maxSeatedCapacity": 160,
  "spaceCount": 3,
  "priceLevel": 3,
  "catering": "In-house catering",
  "beverages": "In-house beverage service",
  "eventTypes": ["Private Dining"],
  "amenities": ["A/V Equipment", "Air Conditioning", "Heating"],
  "acceptingInquiries": true
}
```

Each entry of `spaces`: `{"name": "The Table Royale", "spaceType": "Multi-use / Event Space", "seatedCapacity": 16,
"privacy": "Private", "eventUses": ["Private Dining"], "amenities": ["A/V Equipment", "Air Conditioning", "Heating"], ...}`
plus theater / banquet / reception / classroom / conference / U-shape capacity, square feet, length, width, ceiling
height, setting (indoor / outdoor), price, pricing notes, floor-plan count and a photo.

A real vendor row (Austin vendors run):

```json
{
  "businessId": 61195,
  "businessType": "vendor",
  "name": "Austin's Best DJs & Photo Booths",
  "vendorTypes": ["DJ", "Photo Booth"],
  "email": "austinbestdjs@gmail.com",
  "phone": "210-901-8935",
  "websiteUrl": "http://austinbestdjs.com",
  "city": "Austin", "state": "TX",
  "serviceCount": 2,
  "services": [{"name": "DJ", "pricing": "For the package as a whole", "priceFrom": 895, "priceTo": 2495, "pricingDetails": "Prices depend on the event needs."}],
  "yearEstablished": 2012
}
```

#### Fields and how often they are filled

Measured on full runs on 2026-10-16: **Austin venues** (1,080 rows), **New York venues** (6,306 rows), **Austin vendors** (508 rows).

| Field | Austin venues | New York venues | Austin vendors |
|---|---|---|---|
| `email` | 69.7% | 81.3% | 89.0% |
| `phone` | 93.3% | 94.4% | 42.1% |
| `websiteUrl` | 99.8% | 99.7% | 99.8% |
| `instagram` | 64.4% | 77.3% | 34.3% |
| `bookingUrl` | 7.0% | 11.9% | 6.1% |
| `street` / `postalCode` | 99.9% / 99.8% | 99.3% / 99.6% | 36.0% / 83.7% |
| `latitude` / `longitude`, `googlePlaceId` | 100% | 100% | 100% |
| `neighborhood` | 79.2% | 88.2% | 79.3% |
| `maxSeatedCapacity` / `maxStandingCapacity` | 32.7% / 30.6% | 35.2% / 28.2% | - |
| `spaces` (rooms) | 60.1% (2,332 rooms) | 62.6% (10,742 rooms) | - |
| `catering` | 61.9% | 74.8% | - |
| `guestRoomCount` (hotels) | 27.5% | 13.6% | - |
| `priceLevel` | 8.9% | 12.6% | - |
| `startingSpacePrice` | 2.2% | 2.9% | - |
| `eventTypes` / `amenities` | 34.1% / 48.5% | 39.1% / 41.3% | - |
| `yelpId` | 43.5% | 53.4% | 2.6% |
| `photoUrls` | 86.2% | 86.5% | 11.2% |
| `services` | - | - | 24.8% |
| `claimed`, `acceptingInquiries`, ownership flags | 100% | 100% | 100% |

Hotels make the capacity numbers look low: most hotels are listed from a hotel database with no rooms, while restaurants,
event spaces and bars carry their rooms (Austin: 1,557 of 2,332 rooms have a seated capacity). Ratings and reviews are
not in the data: The Vendry does not publish any.

### Use cases

- 🎯 **Event-planning and DMC sales teams**: a list of every venue in a city that seats 100+, with the events email.
- 🏨 **Hotel and venue sales**: competitor sets by neighbourhood, capacity and price level.
- 🧑‍🍳 **Caterers, AV and rental companies**: venues whose catering is "All catering welcome" or that use preferred vendors.
- 📇 **CRM enrichment**: match on Google place id or Yelp id and fill in capacity, rooms and contacts.
- 🗺️ **Venue directories and booking sites**: seed a city with coordinates, rooms and photos.
- 🔔 **Market monitoring**: a weekly monitor run that returns only newly listed venues or vendors.

### How much does it cost to scrape The Vendry?

**$0.0027 per row** (per venue or vendor delivered). No start fee: a run that matches nothing costs nothing. Rows removed by
your filters, outside the searched area, already delivered in monitor mode, or duplicated across searches are not charged.

| Rows | Price |
|---|---|
| 10 | $0.027 |
| 100 | $0.27 |
| 1,000 | $2.70 |
| All of Austin (1,080 venues) | $2.92 |
| All of New York (6,306 venues) | $17.03 |

Set **Max rows** or a maximum charge per run to cap any run.

### Integrations, API, scheduling & MCP

- **Schedule** a weekly run with **monitor mode** on to get only new venues or vendors, and send them to Google Sheets,
  Slack, a webhook or your CRM.
- **Make, Zapier, n8n**: use the Apify app / node with this actor's id.
- **API**: start runs and read the dataset with the [Apify API](https://apify.com/scrapersdelight/thevendry-scraper/api)
  or the `apify-client` package for [Python](https://apify.com/scrapersdelight/thevendry-scraper/api/python) and
  [JavaScript](https://apify.com/scrapersdelight/thevendry-scraper/api/javascript).
- **MCP**: AI agents can call it through the [Apify MCP server](https://apify.com/scrapersdelight/thevendry-scraper/api/mcp);
  turn on `compact` for lighter rows.

### More event venue and vendor scrapers

- [Eventective Scraper](https://apify.com/scrapersdelight/eventective-scraper) - Eventective venues and vendors with phone, website and emails.
- [Tagvenue Scraper](https://apify.com/scrapersdelight/tagvenue-scraper) - party and event venue rooms with capacity, price and ratings.
- [PartySlate Scraper](https://apify.com/scrapersdelight/partyslate-venue-scraper) - PartySlate venues and event vendors.
- [Giggster Scraper](https://apify.com/scrapersdelight/giggster-space-scraper) - event, film and photo spaces.
- All our actors: [apify.com/scrapersdelight](https://apify.com/scrapersdelight)

### Limits & empty runs

- The site shows 24 venues per search to a signed-out visitor; the actor splits each search by venue type and then by map
  area. Austin took 222 searches for 1,080 venues (70 s); New York 953 searches for 6,306 venues (about 7 minutes).
- A **city** covers the site's city radius (30 miles for the cities measured). The site's own city count leaves some
  hotels out (New York: 635 hotels in its count, 938 hotels inside the 30 miles); the actor delivers every venue inside
  the radius, so New York returns 6,306 rows against the site's 6,007. `RUN_SUMMARY` shows both numbers.
- More than 24 venues at one identical address cannot be told apart by map; the summary counts them (`unsplittable`, 0 in
  the runs above).
- Vendors are paged by the site (24 per page, every page readable: Austin 508 of 508).
- An empty run means the search matched nothing (or every match was filtered out); nothing is charged and `RUN_SUMMARY`
  says what was read and why rows were dropped.

### FAQ

#### How many venues can The Vendry Scraper get from one city?

All of them. Austin returned 1,080 of the site's 1,080 venues and New York 6,306 venues inside its 30-mile city area.
Set `maxItems: 0` for no limit.

#### Does The Vendry Scraper get emails?

Yes - the email each business publishes on its profile, on 70-81% of venues and 89% of vendors in the runs above.
`withEmailOnly` keeps only those rows. Turning `includeDetails` off skips the profile read and the email.

#### Can The Vendry Scraper find venues by capacity, type or neighbourhood?

Yes. Use `venueTypes`, `spaceTypes`, `minCapacity` / `maxCapacity`, `minSquareFeet`, `minGuestRooms`, `priceLevels`,
`keyword` - or set any filter on thevendry.com (neighbourhoods included) and paste the link.

#### Can I scrape event vendors (caterers, planners, AV) with The Vendry Scraper?

Yes: set `searchType` to `vendors` and pick `vendorTypes`, or paste a `/vendors/search/...` link.

#### How do I get only new venues with The Vendry Scraper?

Turn on `monitorMode` and schedule the run. Each run delivers only businesses that earlier runs of the same search did
not deliver; give the memory a name with `monitorKey` to keep it when you change other inputs.

#### Can I use The Vendry Scraper with the Apify API or Python?

Yes - start it with `apify-client` (Python or JavaScript) or plain HTTP and read the dataset. See the API tab.

#### Can AI agents use The Vendry Scraper through MCP?

Yes, through the Apify MCP server. `compact: true` returns only the core fields.

#### Do I need a The Vendry account, login or proxy?

No. The actor reads the public directory without signing in and without a proxy.

#### Why did my The Vendry Scraper run return no results?

The search matched nothing - check the city spelling (`Austin, TX`, not `Austin`) and loosen filters. The status
message and `RUN_SUMMARY` show the site's own count and what each filter removed. Nothing is charged for an empty run.

#### Is The Vendry Scraper affiliated with The Vendry?

No. This Actor is an independent tool and is not affiliated with, endorsed by or sponsored by The Vendry or Groupize.

#### Your feedback

Found a bug or need a field? Open an issue on the actor's [Issues tab](https://apify.com/scrapersdelight/thevendry-scraper/issues/open) - we read every one.

# Actor input Schema

## `searchType` (type: `string`):

Event venues (hotels, restaurants, event spaces, rooftops...) or event vendors (planners, caterers, AV, florists, photographers...). A pasted link decides this for itself.

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

One city per line, as the site names it: "Austin, TX", "New York, NY", "London, United Kingdom", "Toronto, ON, Canada". A city search covers the site's own city area (30 miles around the centre for most cities).

## `startUrls` (type: `array`):

Search pages with their filters (e.g. https://thevendry.com/venues/search/usa/ny/new-york/hotels?v=25 or https://thevendry.com/vendors/search/usa/ca/los-angeles) or profile pages (https://thevendry.com/venue/287). A link's own filters win over the form.

## `venueTypes` (type: `array`):

Only these venue types (the site's own filter). Empty = every type.

## `spaceTypes` (type: `array`):

Only venues with one of these kinds of space, e.g. Rooftop or Private Dining Room. Empty = any.

## `vendorTypes` (type: `array`):

Vendor searches only: these vendor categories, e.g. Caterer, Photography. Empty = every category.

## `keyword` (type: `string`):

The site's own keyword search, e.g. "rooftop", "loft", "wedding".

## `radiusMiles` (type: `integer`):

Venues within this many miles of each city's centre instead of the site's city area, e.g. 5 for downtown only. Empty = the site's city area.

## `minCapacity` (type: `integer`):

Venues whose spaces hold at least this many guests (the site's capacity filter).

## `maxCapacity` (type: `integer`):

Venues whose spaces hold at most this many guests.

## `minSquareFeet` (type: `integer`):

Venues with at least this much total event space.

## `minGuestRooms` (type: `integer`):

Hotels with at least this many guest rooms (group stays).

## `priceLevels` (type: `array`):

The site's price tier for a venue, 1 (lowest) to 4 (highest). Most venues have none set, so this narrows a search a lot.

## `keywords` (type: `array`):

Keep a row only if its name, description, type, rooms, event uses or amenities mention one of these words, e.g. "rooftop", "wedding". Empty = keep all.

## `excludeKeywords` (type: `array`):

Drop a row that mentions any of these words, e.g. "hostel".

## `withEmailOnly` (type: `boolean`):

Only rows with a published email.

## `withPhoneOnly` (type: `boolean`):

Only rows with a published phone number.

## `claimedOnly` (type: `boolean`):

Only profiles the business has claimed on the site (managed by the venue or vendor).

## `acceptingInquiriesOnly` (type: `boolean`):

Only profiles that take inquiries through the site.

## `ownership` (type: `array`):

Only businesses that list one of these ownership flags on the site. Empty = any.

## `includeDetails` (type: `boolean`):

Read each profile for its email, booking link, ownership flags, claimed status, press mentions and brochures (one small request per row). Off = search data only: no email.

## `includeSpaces` (type: `boolean`):

Venues: one entry per room with seated / standing / theater / banquet / reception capacities, square feet, price, event uses and amenities.

## `monitorMode` (type: `boolean`):

Deliver only businesses not delivered by an earlier run of the same search (memory kept in a named key-value store). Pairs with a daily or weekly schedule.

## `monitorKey` (type: `string`):

Optional name for the monitor memory, e.g. "austin-rooftops". Empty = derived from the search, so a changed search starts fresh.

## `maxItems` (type: `integer`):

Most rows for the whole run (and your cost). 0 = no limit: a big city holds thousands of venues (New York ~6,300, Austin ~1,080).

## `maxItemsPerSearch` (type: `integer`):

Most rows from each city or link. 0 = no per-search limit.

## `compact` (type: `boolean`):

Core fields only (name, type, contacts, address, capacity, price level) - lighter for spreadsheets and AI/MCP pipelines.

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

Not needed: the site answers without a proxy. If it refuses, the run moves to a residential proxy by itself (within a small budget).

## `maxConcurrency` (type: `integer`):

How many profile requests run at once.

## Actor input object example

```json
{
  "searchType": "venues",
  "cities": [
    "Austin, TX"
  ],
  "withEmailOnly": false,
  "withPhoneOnly": false,
  "claimedOnly": false,
  "acceptingInquiriesOnly": false,
  "includeDetails": true,
  "includeSpaces": true,
  "monitorMode": false,
  "maxItems": 20,
  "compact": false,
  "proxyConfiguration": {
    "useApifyProxy": false
  },
  "maxConcurrency": 12
}
```

# Actor output Schema

## `results` (type: `string`):

One item per venue or vendor.

## `summary` (type: `string`):

Per-search site totals, rows read / delivered / filtered / out of area, how each search was split, transport stats.

# 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 = {
    "cities": [
        "Austin, TX"
    ],
    "maxItems": 20
};

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

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

```

## MCP server setup

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