# Posh.vip Scraper: Events, Tickets & Organizers (`softprodlabs/posh-vip-scraper`) Actor

Scrape public Posh.vip event details, ticket tiers and organizer events. Discover events in six US cities with pagination. Filter by date, keyword and available ticket price. Export UTC schedules, venues, lineup, hosts and fee-inclusive prices.

- **URL**: https://apify.com/softprodlabs/posh-vip-scraper.md
- **Developed by:** [Software Production Labs](https://apify.com/softprodlabs) (community)
- **Categories:** Social media, Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.70 / 1,000 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

## Posh.vip Scraper — events, tickets and organizers

Turn public Posh.vip event pages, organizer profiles and city feeds into structured event records. Each saved event includes its schedule, venue, public organizer details, lineup and visible ticket tiers.

Use it to research nightlife, track organizers, compare available ticket prices or build an event calendar. No Posh login is required.

### Quick start

Discover five upcoming or ongoing New York City events:

```json
{"city":"new_york_city","maxItems":5,"upcomingOnly":true}
```

Extract a specific event:

```json
{"urls":["https://posh.vip/e/a-harlem-good-time-1"],"maxItems":1}
```

That example is a past event. Its published ticket prices can remain visible even though the tickets are no longer available.

Follow an organizer's public events:

```json
{"urls":["https://posh.vip/g/the-uptown-collective"],"upcomingOnly":true,"maxItems":20}
```

An organizer with no upcoming public events correctly returns an empty dataset. Set `upcomingOnly: false` to include past events, newest first after any upcoming events.

### Supported inputs

- Event URLs: `https://posh.vip/e/event-slug`.
- Organizer URLs: `https://posh.vip/g/organizer-slug`.
- City feeds: New York City, Miami, Los Angeles, Washington DC, Boston and Atlanta. City names, their underscore slugs and aliases NYC, LA and DC work in JSON.
- Explore URLs with `location`, and legacy `/explore/city-slug` URLs for those six cities.

City feeds are Posh's current discovery results, not a complete historical archive or strict municipal-boundary search. The actor follows their pagination cursor. Organizer extraction uses events returned by the public profile interface; it does not promise a complete organizer history.

### Filters and limits

`keyword` matches a phrase in title, description, venue or organizer name. `startDateFrom` and `startDateTo` are inclusive YYYY-MM-DD dates in the event's timezone. `upcomingOnly` excludes ended events.

`maxTicketPrice` requires a three-letter `currency` and compares the **lowest available total price**, including published fees. No currency conversion occurs. Events with unknown availability, ended events and sold-out events do not match a price filter.

`maxItems` caps unique saved events across all inputs. `maxPages` caps city pages per input; `maxRequests` caps page/API requests. Each event normally needs two requests. robots.txt checks and transient retries are additional. Very restrictive filters can scan many events and still return none.

Inspect the output links **SUMMARY** and **ERRORS**. SUMMARY reports request, page, item and budget limits and whether each source was exhausted. A limited run is not a complete export. Individual URL failures allow remaining inputs to continue; a run with only failures fails clearly.

### Output and price semantics

One dataset row represents one event. Public organizer information and all visible ticket tiers are nested in that row, with no separate charge per tier or organizer.

| Field | Meaning |
| --- | --- |
| sourceUrl / discoveredFrom | Canonical event link and input that discovered it |
| startDate / endDate | Explicit UTC timestamps from Posh |
| localStartDate / timezone | Event-local date and IANA timezone |
| venueName / venueAddress | Public venue information; hidden locations remain null |
| organizer | Public name, bio, verified flag, image and profile link |
| lineup | Public performers and their published links |
| tickets | Visible tiers, base price, total price, fees and availability |
| lowestPublishedTotalPrice | Cheapest visible tier, which may be sold out or ended |
| lowestAvailableTotalPrice | Cheapest tier known to be available now; null if none is known |
| hasAvailableTickets | true, false or null when availability is unknown |
| isEnded | Whether the event has ended at extraction time |
| retrievedAt | When the record was saved |

Missing values remain null. Ticket availability is a snapshot, not a reservation or guarantee of checkout price. Currency is preserved from the organizer. Fee amounts are calculated only when both base and total prices are published.

### Pricing

The base price is **$2 per 1,000 saved events**. Plan discounts reduce this to $1.90 on Bronze, $1.80 on Silver and $1.70 on Gold, Platinum and Diamond.

There is also a **$0.00025 Actor start charge per allocated GB of memory, minimum one GB**. This applies even to empty or failed runs. At the default 512 MB, five saved events cost $0.01025 before plan discounts.

Duplicates, filtered events and failed event extractions have no result charge. Set Apify's maximum total charge to control spending. Pricing shown in the Store is authoritative.

### Use with AI agents or the API

Choose `softprodlabs/posh-vip-scraper` through your Apify integration and pass the same JSON inputs shown above.

Example task: “Use softprodlabs/posh-vip-scraper to find 20 upcoming Miami events, then compare venue, start time and lowest available ticket price. Keep source links and flag unknown prices.”

For event monitoring, schedule repeated runs and compare event IDs in your own storage. This actor returns snapshots; it does not store a cross-run change history.

### Access and limitations

The actor reads public event and discovery interfaces. It does not log in, unlock password-protected events or tickets, expose private guest lists, reserve tickets or perform purchases. Short links, arbitrary city locations and logged-in account data are unsupported.

Some regions cannot access Posh. The default is direct access from Apify cloud; proxy configuration is optional. A blocked or changed upstream response is reported as an error rather than a fabricated result. Public interfaces can change, so report a reproducible URL and run ID through the Issues tab.

Built by [Software Production Labs](https://softwareproductionlabs.com). This actor is not affiliated with Posh.

# Actor input Schema

## `city` (type: `string`):

Discover the current public city feed. Optional when URLs are supplied.

## `urls` (type: `array`):

Public https://posh.vip/e/event-slug, /g/organizer-slug or /explore?location=city URLs. One event per result; organizer details are nested in events.

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

Maximum unique matching events saved across all inputs. Each saved event includes public ticket tiers.

## `upcomingOnly` (type: `boolean`):

Exclude events that have ended. Organizer feeds visit upcoming events first, then past events newest first. City discovery uses Posh’s current feed and is not a historical search.

## `startDateFrom` (type: `string`):

Inclusive YYYY-MM-DD in each event’s published timezone.

## `startDateTo` (type: `string`):

Inclusive YYYY-MM-DD in each event’s published timezone.

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

Case-insensitive phrase in title, description, venue or organizer name. Filters returned events; not a global Posh search.

## `maxTicketPrice` (type: `number`):

Filter by lowest currently available total ticket price including published fees. Requires currency. Unknown availability, ended and sold-out events are excluded.

## `currency` (type: `string`):

Three-letter currency such as USD. No currency conversion.

## `maxPages` (type: `integer`):

Follow the public cursor up to this many pages per city. SUMMARY reports truncation.

## `maxRequests` (type: `integer`):

Each event typically uses two requests plus listing requests. robots.txt and transient retries are additional. Lower caps can stop before an event is fully extracted.

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

Direct Apify cloud access is the default. Optional proxies may help transient access failures; their costs are borne by the developer under pay-per-event pricing. Private/authenticated content remains unsupported.

## Actor input object example

```json
{
  "urls": [
    "https://posh.vip/explore?location=new_york_city"
  ],
  "maxItems": 20,
  "upcomingOnly": false,
  "maxPages": 10,
  "maxRequests": 150,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

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

No description

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

No description

## `errors` (type: `string`):

No description

# 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 = {
    "urls": [
        "https://posh.vip/explore?location=new_york_city"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("softprodlabs/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 = { "urls": ["https://posh.vip/explore?location=new_york_city"] }

# Run the Actor and wait for it to finish
run = client.actor("softprodlabs/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 '{
  "urls": [
    "https://posh.vip/explore?location=new_york_city"
  ]
}' |
apify call softprodlabs/posh-vip-scraper --silent --output-dataset

```

## MCP server setup

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