# Posh (posh.vip) Events Scraper (`solidcode/posh-vip-scraper`) Actor

\[💰 $3 / 1K] Extract events from Posh (posh.vip) — title, schedule, venue, GPS, ticket pricing tiers, fees, lineup, and attendance. Paste event, organizer, or explore URLs, or run search queries. Pull organizer profiles with contact email, website, and socials for lead gen.

- **URL**: https://apify.com/solidcode/posh-vip-scraper.md
- **Developed by:** [SolidCode](https://apify.com/solidcode) (community)
- **Categories:** Lead generation, Automation, Other
- **Stats:** 2 total users, 0 monthly users, 65.4% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 results

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

## Posh (posh.vip) Events Scraper

Pull nightlife and live-event data from Posh (posh.vip) at scale — club nights, day parties, and rooftop events with full schedules, GPS-located venues, per-tier ticket pricing and fees, full event descriptions, and organizer contact profiles. Run keyword searches like "day party" or "Miami techno" that match on event titles, summaries, venues, line-ups and organizer names, or paste event, organizer, and explore URLs, then export clean event rows and lead-ready promoter profiles side by side. Built for event marketers, nightlife promoters, ticketing analysts, and lead-gen teams who need structured Posh event and organizer data without copying it off the site one page at a time.

### Why This Scraper?

- **GPS coordinates on every venue** — exact `latitude` and `longitude` plus the parsed street, city, region, and country, so every event drops straight onto a map.
- **Fees broken out, not buried** — every paid tier carries `price`, all-in `totalPrice`, and the exact `fee` in dollars, on 100% of tiers. Where Posh itemizes the charges behind that total, a `fees` breakdown names each one, its scope (platform, organizer, or event) and whether it is a percentage rate or a flat amount. Rolled up into `lowestPrice` / `highestPrice` per event.
- **Live ticket-sales counts** — `attendeeCount` comes from the event's own live tickets-sold figure, not a guess. Posh publishes it for roughly half of all events, and you get the real number wherever it exists rather than a filled-in estimate.
- **Organizer lead-gen profiles** — a separate record for the promoter behind each event, carrying a public contact email on 56% of profiles and an Instagram link on about two thirds, plus `website` on roughly a third, and any Twitter/X, TikTok, LinkedIn, or booking link they publish, with lifetime `totalAttendees` and a verified-badge flag.
- **Two record types in one run** — `event` rows and `organizer` profiles from the same search, discriminated by a `recordType` field for clean downstream filtering.
- **3 sort modes** — pull the feed by Trending, Newest, or Largest (most popular), with free-vs-paid and in-person-vs-online filters layered on top.
- **City-scoped, date-windowed search** — auto-geocodes a city name and filters to an exact `dateFrom`–`dateTo` window so you only get the events you asked for.
- **100% ticket-tier coverage** — every event returns `ticketTiers`, `lowestPrice`, `highestPrice`, `isFree`, and `isSoldOut` on every row, with the full event `description` alongside them, so pricing analysis never starts with a gap-filling pass. Where an organizer credits a `lineup` or uploads a gallery, `lineup` and `mediaUrls` carry those too.

### Use Cases

**Event Discovery & Aggregation**

- Build a city-by-city calendar of upcoming club nights and day parties
- Surface trending and newest events in any market with one search
- Map every venue on screen using built-in latitude/longitude

**Lead Generation**

- Collect verified contact emails for event promoters and party brands
- Pull organizer Instagram links (on about 2 in 3 profiles) and website URLs for outreach lists
- Rank promoters by lifetime attendee totals to prioritize top accounts

**Market & Pricing Research**

- Benchmark ticket prices across tiers, cities, and event types
- Track free-vs-paid mix and sold-out rates in a nightlife market
- Track which promoters and venues command the highest ticket prices in a market

**Competitive Analysis**

- Watch a rival promoter's full event history from their organizer page
- Compare attendance counts event-over-event across competing brands
- Spot new entrants by sorting a city feed by Newest

### Getting Started

#### Simple Search

One free-text query, scoped to a city:

```json
{
    "searchQueries": ["techno"],
    "location": "Miami",
    "maxResults": 50
}
```

#### Filtered Search (paid, in-person, date window)

Paid in-person events in a specific date range, ranked by popularity:

```json
{
    "searchQueries": ["rooftop party"],
    "location": "New York",
    "dateFrom": "2026-07-01",
    "dateTo": "2026-07-31",
    "eventType": "in_person",
    "pricing": "paid",
    "sort": "largest",
    "maxResults": 200
}
```

#### Organizer Lead-Gen (from URLs)

Pull events plus full organizer contact profiles from a mix of explore and group URLs:

```json
{
    "startUrls": [
        "https://posh.vip/explore",
        "https://posh.vip/g/southhouse"
    ],
    "scrapeOrganizers": true,
    "scrapeEventDetails": true,
    "maxResults": 100
}
```

### Input Reference

#### Sources

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `startUrls` | array | `["https://posh.vip/explore"]` | One or more posh.vip URLs. Accepts direct event pages, organizer/group pages, and explore/discover/search URLs. Mix any types in one list — each event is returned only once. |
| `searchQueries` | array | `[]` | Keywords to look for (e.g. "day party", "Miami techno", "rooftop"). Every word must appear in the event's title, summary, venue, line-up or organizer name; events that don't mention it are skipped and never charged. Each query runs independently, scoped to `location`. |

#### Filters

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `location` | string | null | Restrict searches to a city or area (e.g. "Miami", "New York", "Los Angeles"). Auto-geocoded. Leave empty to search broadly. |
| `dateFrom` | string | null | Only include events starting on or after this date (YYYY-MM-DD). Leave empty for no lower bound. |
| `dateTo` | string | null | Only include events starting on or before this date (YYYY-MM-DD). Leave empty for no upper bound. |
| `eventType` | string | `"All"` | Filter by attendance mode: **All**, **In-person only**, or **Online only**. |
| `pricing` | string | `"All"` | Filter by price: **All**, **Free only**, or **Paid only**. |
| `sort` | string | `"Trending"` | Order events are pulled from the feed: **Trending**, **Newest**, or **Largest (most popular)**. |

#### Output

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `scrapeEventDetails` | boolean | `true` | Fetch the full event payload — description, ticket tiers and fees, lineup, venue, and organizer. Turn off for faster, lighter runs that return only listing-level fields. |
| `scrapeOrganizers` | boolean | `false` | Also return organizer/group profile records — contact email, website, social handles, verification status, total attendees, and event count. Ideal for lead generation. |
| `maxResults` | integer | `100` | Maximum number of events to return across all sources. Set to `0` for no cap. |

### Output

Every row carries a `recordType` field — `event` or `organizer` — so you can filter the two cleanly downstream.

#### Event (`recordType: "event"`)

```json
{
    "recordType": "event",
    "eventId": "6620a1f4c3b2e90012ab34cd",
    "title": "Rooftop Sunset Sessions",
    "url": "https://posh.vip/e/rooftop-sunset-sessions",
    "status": "EventScheduled",
    "startTime": "2026-07-12T23:00:00.000Z",
    "endTime": "2026-07-13T04:00:00.000Z",
    "timezone": "America/New_York",
    "description": "An open-air evening of house and disco with skyline views.",
    "coverImage": "https://posh.vip/cdn/flyers/rooftop-sunset.jpg",
    "mediaUrls": ["https://images.posh.vip/originals/6a67dd9018798732fbff5657", "https://www.youtube.com/watch?v=24rocb7aBu8"],
    "venueName": "The Crown Rooftop",
    "address": "255 Randolph St, Brooklyn, NY 11237, USA",
    "city": "Brooklyn",
    "region": "NY",
    "country": "USA",
    "latitude": 40.7051,
    "longitude": -73.9229,
    "isOnline": false,
    "lowestPrice": 25.0,
    "highestPrice": 75.0,
    "currency": "USD",
    "isFree": false,
    "isSoldOut": false,
    "ticketTiers": [
        {"name": "General Admission", "price": 25.0, "totalPrice": 28.5, "fee": 3.5, "priceHidden": false, "isAvailable": true, "quantityAvailable": 120, "soldOut": false},
        {"name": "VIP Table", "price": 75.0, "totalPrice": 84.0, "fee": 9.0, "priceHidden": false, "isAvailable": true, "quantityAvailable": 8, "soldOut": false}
    ],
    "fees": [
        {"name": "Posh service fee", "scope": "platform", "type": "percent", "amount": 0.13, "appliesToTicketIds": []},
        {"name": "Posh per-ticket fee", "scope": "platform", "type": "flat", "amount": 0.99, "appliesToTicketIds": []},
        {"name": "Facility Fee", "scope": "organizer", "type": "percent", "amount": 0.05, "appliesToTicketIds": []}
    ],
    "attendeeCount": 410,
    "guestlistAvailable": true,
    "lineup": ["DJ Aria", "Marcus Vela"],
    "organizerName": "South House",
    "organizerUrl": "https://posh.vip/g/southhouse",
    "organizerVerified": true,
    "scrapedAt": "2026-06-13T18:04:22.118Z"
}
```

##### Core Fields

| Field | Type | Description |
|-------|------|-------------|
| `recordType` | string | Always `"event"` |
| `eventId` | string | Posh event identifier |
| `title` | string | Event title |
| `url` | string | Canonical posh.vip event URL |
| `status` | string | Event status (e.g. `EventScheduled`) |
| `startTime` | string | Start datetime (ISO 8601, UTC) |
| `endTime` | string | End datetime (ISO 8601, UTC) |
| `timezone` | string | Event timezone (e.g. `America/New_York`) |
| `description` | string | Full event description (detail mode) |
| `coverImage` | string | Cover flyer image URL |
| `mediaUrls` | array | Event photo gallery and promo video links, beyond the cover flyer, where the organizer uploads them |
| `scrapedAt` | string | Capture timestamp (ISO 8601) |

##### Venue & Location

| Field | Type | Description |
|-------|------|-------------|
| `venueName` | string | Venue name |
| `address` | string | Full venue street address |
| `city` | string | Venue city |
| `region` | string | State or region |
| `country` | string | Country |
| `latitude` | number | Venue latitude |
| `longitude` | number | Venue longitude |
| `isOnline` | boolean | Whether the event is virtual/online |

##### Tickets & Attendance

| Field | Type | Description |
|-------|------|-------------|
| `lowestPrice` | number | Lowest ticket price across tiers |
| `highestPrice` | number | Highest ticket price across tiers |
| `currency` | string | Ticket currency (e.g. `USD`) |
| `isFree` | boolean | Whether the event is free |
| `isSoldOut` | boolean | Whether all tiers are sold out |
| `ticketTiers` | array | Per-tier `name`, `price`, `totalPrice` (all-in), `fee` (the exact booking fee in currency), availability, and sold-out flag |
| `fees` | array | The fee rules behind that total, where Posh itemizes them, each with a `name`, a `scope` (`platform`, `organizer`, or `event`), and a `type` that tells you the unit: `percent` means `amount` is a rate (`0.13` = 13% of the subtotal), `flat` means `amount` is a currency figure. `appliesToTicketIds` lists the tiers a rule is limited to, when it is limited at all |
| `attendeeCount` | number | Live tickets-sold count, where Posh publishes one |
| `guestlistAvailable` | boolean | Whether a guestlist option exists |
| `lineup` | array | Performers / artists on the bill, where the organizer credits one |

##### Organizer Reference

| Field | Type | Description |
|-------|------|-------------|
| `organizerId` | string | Organizer/group id (links to the organizer record) |
| `organizerName` | string | Organizer/group display name |
| `organizerUrl` | string | Organizer/group profile URL |
| `organizerVerified` | boolean | Whether the organizer carries a verified badge |

#### Organizer (`recordType: "organizer"`)

Emitted only when `scrapeOrganizers: true`.

```json
{
    "recordType": "organizer",
    "organizerId": "65f0c1a2b3d4e50012990011",
    "name": "South House",
    "url": "https://posh.vip/g/southhouse",
    "bio": "Brooklyn rooftop & warehouse parties. House, disco, and good people.",
    "avatar": "https://posh.vip/cdn/avatars/southhouse.jpg",
    "verified": true,
    "contactEmail": "bookings@southhouse.nyc",
    "website": "https://southhouse.nyc/",
    "instagram": "https://instagram.com/southhouse",
    "twitter": "https://twitter.com/southhouse",
    "tiktok": "https://tiktok.com/@southhouse",
    "socialLinks": ["https://soundcloud.com/southhouse", "https://linkedin.com/company/southhouse"],
    "totalAttendees": 18420,
    "eventCount": 27,
    "scrapedAt": "2026-06-13T18:04:25.402Z"
}
```

| Field | Type | Description |
|-------|------|-------------|
| `recordType` | string | Always `"organizer"` |
| `organizerId` | string | Organizer/group id |
| `name` | string | Organizer/group display name |
| `url` | string | Profile URL |
| `bio` | string | Profile bio |
| `avatar` | string | Avatar image URL |
| `verified` | boolean | Whether the organizer carries a verified badge |
| `contactEmail` | string | Public contact email (lead-gen) |
| `website` | string | Website URL |
| `instagram` | string | Instagram profile URL |
| `twitter` | string | Twitter/X profile URL |
| `tiktok` | string | TikTok profile URL, when the promoter lists one |
| `socialLinks` | array | Every other link on the profile — LinkedIn, Facebook, YouTube, SoundCloud, Spotify, link hubs, booking pages |
| `totalAttendees` | number | Lifetime attendees across the organizer's events |
| `eventCount` | number | Number of events hosted |
| `scrapedAt` | string | Capture timestamp (ISO 8601) |

### Tips for Best Results

- **Set a `location` to focus your search.** A search term alone anchors on New York (Posh's largest market). Add a city like "Miami" or "Los Angeles" to scope results to the market you actually want.
- **Keep keywords broad, then narrow.** Posh is a curated nightlife catalogue, not a web index: "day party" or "rooftop" pull dozens of matches in a big market, while a niche genre may have none on the calendar that month. Start with one or two common words, check the count, then tighten. Every word you add must appear in the event text, so "labor day rooftop party" is far stricter than "rooftop".
- **Keep `scrapeEventDetails` on for pricing and attendance.** Ticket-tier prices, booking fees, live tickets-sold counts, and the in-person/online classification all come from the full event payload — turning it off returns listing-level fields only.
- **Turn on `scrapeOrganizers` for outreach lists, then filter the rows.** This adds a separate `organizer` row per promoter with contact email, website, and social links. Instagram is where nightlife promoters actually live (about 2 in 3 profiles) and email covers a little over half, while Twitter/X and TikTok are rare. About 3 in 4 promoters publish at least one channel, so roughly 1 in 4 publishes no contact details at all — filter on `contactEmail` or `instagram` before you start outreach.
- **Pick the sort that matches your goal.** Use **Largest (most popular)** for top-drawing events, **Newest** to catch just-announced parties, and **Trending** for what's hot right now.
- **Use the date window to cut noise.** A tight `dateFrom`–`dateTo` range strips out events outside the period you care about, so you're not paying for rows you'll discard. Your keywords and date range are checked against the city's whole feed, so narrowing them simply returns fewer events. The online-only and free/paid filters work differently: if very few events in a market match them, the search stops after about 15 pages without new matches and tells you which filters were active — widen them or change city to pull more.
- **Paste an organizer URL to pull their whole catalog.** A `https://posh.vip/g/<name>` URL returns that promoter's full event history in one pass — ideal for competitive tracking.
- **Mix URLs and search queries freely.** You can combine explore feeds, specific event links, organizer pages, and free-text searches in a single run, and overlapping events are de-duplicated automatically.

### Pricing

**From $3.00 per 1,000 results** — undercuts comparable Posh extractors while bundling GPS venues, full ticket-tier pricing, live attendance, and organizer contact profiles at no extra charge. Bronze, Silver, and Gold subscribers pay progressively less; the table below shows total cost at each discount tier.

| Results | No discount | Bronze | Silver | Gold |
|---------|-------------|--------|--------|------|
| 100 | $0.36 | $0.34 | $0.32 | $0.30 |
| 1,000 | $3.60 | $3.40 | $3.20 | $3.00 |
| 10,000 | $36.00 | $34.00 | $32.00 | $30.00 |
| 100,000 | $360.00 | $340.00 | $320.00 | $300.00 |

A "result" is any row in the output dataset — both `event` rows and `organizer` rows count the same. No compute or time-based charges — you pay per result, plus a small fixed per-run start fee.

### Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

- **Zapier** / **Make** / **n8n** — Workflow automation
- **Google Sheets** — Direct spreadsheet export
- **Slack** / **Email** — Notifications on new results
- **Webhooks** — Trigger custom APIs on run completion
- **Apify API** — Full programmatic access

### Legal & Ethical Use

This actor is designed for legitimate event discovery, market research, and business development. Users are responsible for complying with applicable laws and Posh's terms of service, including making reasonable-rate requests and respecting how any extracted data — particularly organizer contact details — is used. Handle personal and contact information in line with applicable privacy regulations, and do not use extracted data for spam, harassment, or any illegal purpose.

# Actor input Schema

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

Paste one or more posh.vip URLs. Accepts direct event pages, organizer/group pages, and explore/discover/search URLs. Mix any types in one list. If sources overlap, each event is returned only once.

## `searchQueries` (type: `array`):

Keywords to look for, e.g. 'day party', 'Miami techno', 'rooftop'. Every word you type must appear in the event's title, summary, venue, line-up or organizer name — events that don't mention it are skipped and never charged. Each query runs on its own, scoped to the Location below. Posh itself has no keyword search of its own, so your words are matched against the city's whole feed — a narrow term simply returns fewer events rather than stopping the search short. Leave empty to get a city's whole feed.

## `location` (type: `string`):

Optional. When set, search queries above are scoped to this city or area (e.g. 'Miami', 'New York', 'Los Angeles'). Leave empty to search broadly.

## `dateFrom` (type: `string`):

Only include events starting on or after this date (YYYY-MM-DD). Leave empty for no lower bound. The whole city feed is checked against your range, so a narrow window simply returns fewer events.

## `dateTo` (type: `string`):

Only include events starting on or before this date (YYYY-MM-DD). Leave empty for no upper bound. The whole city feed is checked against your range, so a narrow window simply returns fewer events.

## `eventType` (type: `string`):

Filter by in-person vs online events. Online filtering inspects each event's detail page, so if very few online events exist in a market the search stops after about 15 pages without new matches — most Posh events are in-person.

## `pricing` (type: `string`):

Filter by free vs paid events. "Free only" keeps events that have a $0 ticket; "Paid only" keeps events whose cheapest ticket costs money, at any price. Events posh.vip publishes no ticket price for are left out while this is set — choose "All" to include them.

## `sort` (type: `string`):

Order in which events are pulled from the discover feed.

## `scrapeEventDetails` (type: `boolean`):

Fetch the full event payload for each result — description, ticket tiers and fees, lineup, venue, and organizer. Turn off for faster, lighter runs that return only listing-level fields.

## `scrapeOrganizers` (type: `boolean`):

Also return organizer/group profile records for the events found — contact email, website, social handles, verification status, total attendees, and event count. Useful for lead generation.

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

Maximum number of events to return across all sources. Set to 0 for no cap.

## Actor input object example

```json
{
  "startUrls": [
    "https://posh.vip/explore"
  ],
  "searchQueries": [],
  "eventType": "all",
  "pricing": "all",
  "sort": "trending",
  "scrapeEventDetails": true,
  "scrapeOrganizers": false,
  "maxResults": 100
}
```

# Actor output Schema

## `overview` (type: `string`):

Table of scraped events with key fields.

## `venues` (type: `string`):

Venue and geo details for each event.

## `organizers` (type: `string`):

Organizer/group profiles with contact and social details.

# 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 = {
    "startUrls": [
        "https://posh.vip/explore"
    ],
    "searchQueries": [],
    "eventType": "all",
    "pricing": "all",
    "sort": "trending",
    "scrapeEventDetails": true,
    "scrapeOrganizers": false,
    "maxResults": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("solidcode/posh-vip-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 = {
    "startUrls": ["https://posh.vip/explore"],
    "searchQueries": [],
    "eventType": "all",
    "pricing": "all",
    "sort": "trending",
    "scrapeEventDetails": True,
    "scrapeOrganizers": False,
    "maxResults": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("solidcode/posh-vip-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 '{
  "startUrls": [
    "https://posh.vip/explore"
  ],
  "searchQueries": [],
  "eventType": "all",
  "pricing": "all",
  "sort": "trending",
  "scrapeEventDetails": true,
  "scrapeOrganizers": false,
  "maxResults": 100
}' |
apify call solidcode/posh-vip-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,solidcode/posh-vip-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/1FCJvhXMfAczR0uiR/builds/gfuFUXKSnr4RfplJ4/openapi.json
