
Google Ads Scraper
scrape.ly/store/querystone/google-ads-scraperLead generationSEO tools
4 monthly users

Scrape posh.vip events by city, keyword, organizer or event link: dates, venues with coordinates, ticket tiers with prices and fees, tickets sold, attendees, lineups and organizer contact emails. No login needed.
Get nightlife, party, concert and social events from posh.vip as clean, structured data: dates, venues with coordinates, every ticket tier with prices and fees, tickets sold, attendee counts, lineups and organizer contacts. Search by city or keyword, or paste organizer, event and flyer links. No login, no cookies, results in seconds.
/f/ flyer short links.| Field | What it does |
|---|---|
locations | City names, e.g. Miami, New York, Austin, TX, London. |
searchQueries | Keywords searched across all posh.vip events, e.g. halloween, rooftop. |
startUrls | posh.vip links: /explore?..., /e/<event>, /g/<organizer> (or /<organizer>), /f/<code>. |
maxEvents | Maximum events per run (0 = no limit). Default 20. |
when | Window for city searches: today, this_week, this_month (default). |
dateFrom / dateTo | Only events starting in this range (YYYY-MM-DD or +3 days). |
maxTicketPrice | Only events whose cheapest ticket costs at most this much (0 = free events only). |
includePastEvents | Also save ended events for organizer pages and keyword search. |
scrapeEventDetails | Full details (default on) or listing data only. |
includeOrganizerProfile | Save one organizer row for each organizer link (default on). |
{
"locations": ["Miami", "Austin, TX"],
"searchQueries": ["rooftop"],
"startUrls": [
{ "url": "https://posh.vip/g/collegiate-nightlife" },
{ "url": "https://posh.vip/explore?location=los_angeles&when=this_week" }
],
"maxEvents": 100,
"maxTicketPrice": 50,
"scrapeEventDetails": true
}
Each event is one row. With full details on, you get:
| Field | Description |
|---|---|
eventTitle, eventUrl, eventId | Event name, page and id |
startDateTime, endDateTime, timezone | Start and end in UTC plus the event's timezone (localStartDateTime too) |
venueName, venueAddress, address, city, stateCode, zipCode, country, coordinates | Venue and parsed address with latitude and longitude |
tickets | Every tier: price, totalPrice (with fees), quantityAvailable, isAvailable, approvalRequired, sale window, sale channels |
lowestPrice, lowestTotalPrice, highestPrice, currency | Price range |
totalTicketsSold, attendingCount | Tickets sold and attendees shown on the event |
isFreeEvent, hasSoldOutTickets, soldOutItems | Free and sold-out flags |
organizerName, organizerUrl, organizerVerified, contactEmail, organizer | Organizer with bio, socials and public contact email |
lineup, performers | Artists with images, links and set times |
description, coverUrl, galleryPhotos, song, youtubeLink | Event content and media |
multiSessionEvent | Recurring series name, link, index and total sessions |
Example (trimmed, from a real run, names and contacts changed):
{
"type": "event",
"eventId": "6a931af955330b8ffcd0b9c4",
"eventUrl": "https://posh.vip/e/example-halloween-pre-party",
"eventTitle": "HALLOWEEN PRE PARTY | HOSTED BY JANE DOE",
"startDateTime": "2026-10-23T02:00:00.000Z",
"endDateTime": "2026-10-23T08:00:00.000Z",
"timezone": "America/New_York",
"venueName": "Kemistry Nightclub",
"venueAddress": "307 SW 2nd St, Fort Lauderdale, FL 33312, USA",
"city": "Fort Lauderdale",
"stateCode": "FL",
"zipCode": "33312",
"coordinates": { "latitude": 26.1206116, "longitude": -80.1468164 },
"tickets": [
{ "name": "Reduced Admission B4 11PM", "price": 10, "totalPrice": 11.99, "quantityAvailable": 3, "isAvailable": true, "approvalRequired": false }
],
"lowestPrice": 10,
"lowestTotalPrice": 11.99,
"highestPrice": 25,
"currency": "USD",
"totalTicketsSold": 412,
"attendingCount": 388,
"organizerName": "Example Nightlife",
"organizerUrl": "https://posh.vip/g/example-nightlife",
"organizerVerified": true,
"contactEmail": "events@example.com",
"detailsScraped": true
}
Organizer links also add one "type": "organizer" row with bio, contactEmail, website, socials, totalAttendees, totalEvents and upcomingEvents. The dataset has three views: Events, Ticket tiers (one row per tier) and Organizers.
You pay per saved row, plus a tiny amount of platform usage (compute and proxy) for the run:
Example (measured on a real 1,000-event New York run): 1,000 events with full details cost $10.00 in event fees plus about $0.06 of platform usage (residential proxy $0.053, compute $0.007). Listing data only: about $5 plus a cent of usage.
Is it legal to scrape posh.vip? The scraper only reads public event and organizer pages that anyone can open without an account. Check posh.vip's terms and your local laws for how you use the data, especially contact details.
Do I need a posh.vip account, cookies or my own proxy? No. It works without login. posh.vip blocks datacenter connections, so the run uses residential US proxies by default; their small cost is part of the platform usage.
How many events can I get? As many as posh.vip lists. A big city has several hundred events in a month (Miami had 532 when we tested). Use Max events to cap a run, or 0 for no limit.
Why are some fields empty? posh.vip only shows what the organizer entered. Secret locations hide the venue until the event day, many organizers do not publish a contact email, and tickets sold is hidden on some events.
Can I schedule it or use it from my code? Yes. Schedule runs (for example every morning for your city) and read the dataset over the API, or connect webhooks and integrations.
I used a similar actor on another platform. Is the input compatible?
Yes. startUrls with explore, event, organizer and flyer links, maxEvents and scrapeEventDetails work the same way.
Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
locationsarrayOptionalCities
City names to search events in, e.g. 'Miami', 'New York', 'Austin, TX', 'London'. Each city is searched the way posh.vip's explore page does it (events around the city center). Add a state or country to pick the right one ('Portland, Oregon').
searchQueriesarrayOptionalSearch keywords
Keywords searched across all posh.vip events, e.g. 'halloween', 'rooftop', 'brunch'. posh.vip's search returns at most about 60 events per keyword.
startUrlsarrayOptionalposh.vip URLs
posh.vip links: explore pages (posh.vip/explore?location=miami&when=this_week), event pages (posh.vip/e/...), organizer pages (posh.vip/g/... or posh.vip/) and flyer short links (posh.vip/f/...).
maxEventsintegerOptionaldefault 20Max events
Maximum number of events to save across all inputs. 0 means no limit. Organizer profile rows do not count toward this limit.
Narrow the events down by date and price. Event links you paste directly are always saved.
whenenumOptionaldefault "this_month"When
Time window for city searches, the same choices as posh.vip's explore page. Explore links keep their own 'when' value.
dateFromstringOptionalFrom date
Only events starting on or after this day (YYYY-MM-DD, or relative like '+3 days').
dateTostringOptionalTo date
Only events starting on or before this day (YYYY-MM-DD, or relative like '+2 weeks').
maxTicketPriceintegerOptionalMax ticket price
Only events whose cheapest ticket (before fees) costs at most this much, in the event's currency. 0 keeps only free events.
includePastEventsbooleanOptionaldefault falseInclude past events
Also save events that have already ended, for organizer pages and keyword search (newest first). City searches only cover upcoming events.
What to save for each event.
scrapeEventDetailsbooleanOptionaldefault trueScrape full event details
Open every event for its ticket tiers with prices and fees, tickets sold, attendee count, full description, venue address and coordinates, lineup and organizer contacts. Turn off for faster, cheaper listing data only.
includeOrganizerProfilebooleanOptionaldefault trueSave organizer profiles
For organizer page links, also save one organizer row (bio, contact email, website and socials, total attendees, number of events).
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["RESIDENTIA…Proxy
posh.vip blocks datacenter connections, so residential US proxies are the default. If another proxy gets blocked, the run switches to residential US by itself.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| type | string | null | Row type: event or organizer |
| eventId | string | null | posh.vip event id |
| eventUrl | string | null | Event page |
| eventTitle | string | null | Event title |
| description | string | null | Full event description |
| shortDescription | string | null | Short description |
| coverUrl | string | null | Flyer image |
| startDateTime | string | null | Start (UTC, ISO 8601) |
| endDateTime | string | null | End (UTC, ISO 8601) |
| localStartDateTime | string | null | Start in the event's local time |
| localEndDateTime | string | null | End in the event's local time |
| timezone | string | null | Event timezone |
| status | string | null | posh.vip event status |
| isLive | boolean | null | Published and not yet ended |
| isRSVPEvent | boolean | null | RSVP event (no paid tickets) |
| venueName | string | null | Venue name |
| venueAddress | string | null | Full venue address |
| address | string | null | Street address |
| city | string | null | City |
| stateCode | string | null | State code |
| zipCode | string | null | ZIP / postal code |
| country | string | null | Country code |
| coordinates | object | null | Venue latitude and longitude |
| venue | object | null | Venue details incl. Google place id and photos |
| organizerId | string | null | Organizer id |
| organizerName | string | null | Organizer name |
| organizerUrl | string | null | Organizer page |
| organizerAvatar | string | null | Organizer logo |
| organizerVerified | boolean | null | Verified organizer |
| organizerCurrency | string | null | Organizer currency |
| contactEmail | string | null | Organizer contact email (when public) |
| organizer | object | null | Organizer details: bio, email, socials |
| performers | array | null | Performer names |
| lineup | array | null | Lineup with images, links and set times |
| performanceCategory | string | null | Lineup section title |
| tickets | array | null | Ticket tiers: price, price with fees, availability, sale window |
| ticketGroups | array | null | Named ticket groups |
| lowestPrice | number | null | Cheapest available ticket before fees |
| lowestTotalPrice | number | null | Cheapest available ticket with fees |
| highestPrice | number | null | Most expensive ticket before fees |
| priceLabel | string | null | Price label from search results |
| currency | string | null | Ticket currency |
| totalTicketsSold | number | null | Tickets sold so far |
| isFreeEvent | boolean | null | All tickets are free |
| hasSoldOutTickets | boolean | null | At least one tier is sold out |
| soldOutItems | array | null | Ids of sold-out tiers |
| hasPasswordProtectedTickets | boolean | null | Has password-protected tiers |
| attendingCount | number | null | Attendees / RSVPs shown on the event |
| guestlistEnabled | boolean | null | Guest list shown |
| activityEnabled | boolean | null | Activity feed enabled |
| displayOnThirdPartySites | boolean | null | Listed on third-party sites |
| isPaymentPlanEligible | boolean | null | Payment plans possible |
| paymentPlansAvailable | boolean | null | Payment plans enabled |
| multiSessionEvent | object | null | Recurring series: name, URL, index, total |
| tablesCount | number | null | Table packages offered |
| song | object | null | Featured song |
| youtubeLink | string | null | YouTube video |
| galleryPhotos | array | null | Gallery photo URLs |
| accentColor | string | null | Event accent color |
| lightmode | boolean | null | Light page theme |
| isPasswordProtected | boolean | null | Event page is password protected |
| externalCheckoutUrl | string | null | External checkout link |
| minPriceWithFees | number | null | Cheapest price incl. fees shown on the event page |
| ticketTypesCount | number | null | Number of visible ticket tiers |
| detailsScraped | boolean | null | Full event details were scraped |
| bio | string | null | Organizer bio (organizer rows) |
| website | string | null | Organizer website (organizer rows) |
| socials | object | null | Organizer social links (organizer rows) |
| totalAttendees | number | null | Organizer's total attendees (organizer rows) |
| totalEvents | number | null | Organizer's events on posh.vip (organizer rows) |
| upcomingEvents | number | null | Organizer's upcoming events (organizer rows) |
| searchInput | string | null | The city, keyword or URL that found this row |
| scrapedAt | string | null | When the row was scraped |
| source | string | null | Source site |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Full event details | Ticket tiers with fees, tickets sold, attendees, venue coordinates and organizer contacts for one event. | $0.005 |
| Event or organizer | One saved posh.vip event (listing data) or organizer profile. | $0.005 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('echofield/posh-scraper').call({
"locations": [
"Miami"
],
"maxEvents": 20,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"RESIDENTIAL"
],
"scrapelyProxyCountry": "US"
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run echofield/posh-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=echofield/posh-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
Paste a posh.vip explore link and get every event with ticket tiers, prices with fees, tickets sold and organizer contacts.
Paste an organizer link to get its profile (bio, email, socials, attendees) and its events with ticket details.
Find upcoming posh.vip events anywhere that match a keyword, with full ticket details.
Fast and cheap: event titles, dates, venues and starting prices without opening each event.
Keep only events whose cheapest ticket is free, with full details.
Type any city name; posh.vip events outside the US work the same way.

Scrape Google Maps places for any search term and city, with no code or with one API call. A real run, its output, its log and its exact cost, plus the limits and the legal side.
Read the article
Paste an Amazon search or product URL into a ready-made Actor and get one row per product with price, ASIN, rating and review count. This guide covers the no-code steps, the API, ZIP code pricing, a real run and its cost.
Read the article
Scrape Google search results by query and country and get each results page as JSON: organic results with positions, People Also Ask and related searches. Run it without code or from Python, with a real run, the cost per page and Google's terms.
Read the articleScrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.