# StubHub Scraper | Ticket Prices, Events, Venues & Performers (`lentic_clockss/stubhub-scraper`) Actor

Extract StubHub ticket prices, events, venues and performers — concerts, sports, theater, comedy and festivals worldwide. Search, entity autocomplete, ticket listings and price-drop tracking. A StubHub API alternative for price monitoring and market research.

- **URL**: https://apify.com/lentic\_clockss/stubhub-scraper.md
- **Developed by:** [kane liu](https://apify.com/lentic_clockss) (community)
- **Categories:** Developer tools, Automation, E-commerce
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.20 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#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

## StubHub Scraper — Ticket Prices, Events, Performers & Venues

Extract **event and ticket pricing data from StubHub** — the world's largest ticket resale marketplace — covering **concerts, sports, theater, comedy, and festivals worldwide**. Search by keyword, artist, team, venue, or category; resolve any entity to its StubHub id; pull full event rows with dates, venues, floor prices, and availability; and capture **ticket listings** (section / price rows) from event pages.

Use this Actor as a practical **StubHub API alternative** for ticket price monitoring, resale market research, event discovery, performer tour tracking, and venue analysis. A managed anti-bot stack (real-Chrome browser + residential egress + unlocker fallback) handles StubHub's DataDome / AWS WAF protection for you — **no proxies or StubHub account required**.

- **10 collection modes**: search, performer (with city filter), venue, grouping (tours/shows), category, explore-by-geo, event detail + ticket listings, plus entity helpers — `suggest` (autocomplete), `categories` (live category tree), and `cities` (performer city presets)
- **Rich event rows**: title, date/time, venue (name/city/country), floor price + currency, availability state, sold-out flags, on-sale scheduling, under-$100 flag, favorites count
- **Performer & venue intelligence**: genres, Spotify top track, hottest event, hourly viewer counts, venue capacity and geo coordinates
- **Price & inventory tracking**: snapshot listings per run, diff across scheduled runs, webhook alerts on price drops and sold listings
- **Pay-per-event pricing**: $0.005 per run start + $3.00 per 1,000 results (volume tiers down to $1.60) — blocked pages are never billed

Free Apify-plan users (developer policy): **10 runs** / **200 results** per run.

> Unofficial community Actor — **not affiliated with StubHub Inc.** Collects only publicly available page data. You are responsible for complying with StubHub terms and applicable law. Checkout / purchase flows are out of scope.

***

### What StubHub data can I extract?

| Data | Search / Suggest | Performer / Cities | Venue / Grouping / Category | Event detail |
| --- | :---: | :---: | :---: | :---: |
| Event id / title / URL | ✅ | ✅ | ✅ | ✅ |
| Date, time & door time | ✅ | ✅ | ✅ | ✅ |
| Venue name / city / country / address | ✅ | ✅ | ✅ | ✅ |
| Floor price & currency (`lowestPrice`) | ✅ | ✅ | ✅ | ✅ |
| Availability state & sold-out message | ✅ | ✅ | ✅ | ✅ |
| On-sale scheduling (`onSaleDateTimeData`) | ✅ | ✅ | ✅ | — |
| Under-$100 & parking flags | ✅ | ✅ | ✅ | — |
| Performer names / event type | ✅ | ✅ | ✅ | ✅ |
| Entity resolution (ids for performers, venues, categories) | ✅ (`suggest`) | — | — | — |
| Performer profile (genres, Spotify top track, hottest event, viewer counts) | — | ✅ | — | — |
| Venue profile (capacity, lat/lon, address, categories) | — | — | ✅ | — |
| City presets (lat/lon, event count, cityId) | — | ✅ (`cities`) | — | — |
| Live category tree (Sports / Concerts / Theatre & Comedy + 36 subs) | — | — | ✅ (`categories`) | — |
| Ticket listings (seat-level: section/row/seat, price, quantity, deal score) | — | — | — | ✅\* |
| Price/inventory change tracking | — | — | — | ✅\* |

\*Event listings come from StubHub's own inventory feed (reverse-engineered `IndexShGridOnly` contract): page 1 is server-rendered in the event page, deeper pages are paginated through the site's JSON endpoint inside a managed browser session. Rows are seat-level and structured — `listingId`, section/row/seat, all-in `price` (buyer currency), available quantities, deal score, seller notes, face value. `listings.complete=true` means the full inventory was captured (`maxShowMore` caps pagination steps; default 5 = up to 60 listings).

***

### Popular use cases

#### 1. Ticket price monitoring & drop alerts

**In plain English:** point the Actor at a hot event URL on a schedule → get notified when prices drop or seats sell out.

**You give:** `mode=event`, the canonical `eventUrl`, `trackChanges=true`, and your `alertWebhookUrl`.

**You get back (per run):**

| Field | Example |
| --- | --- |
| Event | NBA Preseason: Nuggets at Lakers |
| Floor price | $77.17 USD |
| Listings snapshot | 3 rows ($109–$250) |
| Changes | `priceDrops: 1`, `newListings: 2` |

#### 2. Performer tour tracking

**In plain English:** follow an artist's whole tour — every city, date, venue, and floor price — in one table.

**You give:** `mode=performer`, the performer id (find it with `mode=suggest`), optional `citySlug`+`cityId` to filter one city, `maxPages` for full tours.

**You get back:** one row per show (Stockholm, London, Mexico City, Tokyo…) plus a performer profile row with genres, Spotify top track, hottest event, and hourly viewer demand.

#### 3. Venue research & capacity intelligence

**In plain English:** build a venue database — capacity, address, geo coordinates, and everything playing there.

**You give:** `mode=venue`, a venue id (e.g. `601` for Crypto.com Arena).

**You get back:** a venue profile row (capacity 18,118, lat/lon, full address, categories) followed by the full upcoming-events table.

#### 4. Event discovery & market research

**In plain English:** search any keyword ("nba", "taylor swift", "hamilton") and export a clean dataset for your pricing models, event calendars, or dashboards.

**You give:** `mode=search`, `query`, `maxResults` (up to 500/run on paid plans).

**You get back:** deduped event rows with dates, venues, countries, floor prices, availability, and inventory signals — ready for Excel, CSV, or JSON export.

***

### More Actors like this

Scraping another ticket or event site? Use the dedicated Actor — structured fields, better coverage, usually lower cost.

**Tickets & Events**

- [SeatGeek Scraper](https://apify.com/lentic_clockss/seatgeek-scraper) — Events, performers, venues & listings
- [Ticketmaster Scraper](https://apify.com/lentic_clockss/ticketmaster-scraper) — Events, artists, venues & categories
- [Eventim Scraper](https://apify.com/lentic_clockss/eventim-scraper) — CTS Eventim events & tickets, 40+ countries
- [Eventbrite Scraper](https://apify.com/lentic_clockss/eventbrite-scraper) — Events, tickets, venues & organizers
- [Polymarket Scraper](https://apify.com/lentic_clockss/polymarket-scraper) — Prediction market events, odds & volume

**Beyond tickets — top picks by category**

- Jobs: [LinkedIn Jobs Scraper](https://apify.com/lentic_clockss/linkedin-jobs-scraper) · [Indeed Jobs Scraper](https://apify.com/lentic_clockss/indeed-jobs-scraper)
- E-commerce: [Amazon Search Scraper](https://apify.com/lentic_clockss/amazon-search-results-collector) · [Walmart Product Scraper](https://apify.com/lentic_clockss/walmart-scraper)
- Real estate: [Zillow & Zumper Scraper](https://apify.com/lentic_clockss/us-real-estate-scraper) · [Rightmove Scraper](https://apify.com/lentic_clockss/rightmove-property-scraper)
- Travel: [Booking.com & Airbnb Scraper](https://apify.com/lentic_clockss/booking-airbnb-scraper) · [Expedia Scraper](https://apify.com/lentic_clockss/expedia-scraper)
- Leads & local: [Google Maps Scraper](https://apify.com/lentic_clockss/google-maps-scraper)
- Ads intelligence: [Facebook Ad Library Scraper](https://apify.com/lentic_clockss/facebook-ad-library-scraper) · [TikTok Ads Scraper](https://apify.com/lentic_clockss/tiktok-ads-top-ads-actor)
- Social: [TikTok Scraper](https://apify.com/lentic_clockss/tiktok-scraper) · [Reddit Scraper](https://apify.com/lentic_clockss/reddit-scraper)
- Any other protected site: [Stealth Web Scraper](https://apify.com/lentic_clockss/stealth-web-scraper)

→ Full catalog in [Related Actors](#related-actors) below, or browse [apify.com/lentic\_clockss](https://apify.com/lentic_clockss).

***

### How to use (no code required)

1. Click **"Try for Free"** at the top of this page
2. Pick a **mode** (e.g. `search`) and enter a query or an id
3. Don't know an id? Run `mode=suggest` with a name first — it returns the numeric ids StubHub uses
4. *(Optional)* Set `proxyCountry` (e.g. `gb`) when targeting country-specific inventory
5. Click **Start** — results appear in the Dataset tab within minutes

**Download as CSV, Excel, or JSON.** That's it.

#### Input examples

Search events:

```json
{
  "mode": "search",
  "query": "taylor swift",
  "maxResults": 20
}
```

Performer with city filter:

```json
{
  "mode": "performer",
  "performerId": "714235",
  "performerSlug": "the-weeknd",
  "citySlug": "london",
  "cityId": "4031",
  "maxResults": 20
}
```

Event detail with listings + price tracking:

```json
{
  "mode": "event",
  "eventUrl": "https://www.stubhub.com/los-angeles-lakers-los-angeles-tickets-10-16-2026/event/161677522/",
  "includeListings": true,
  "trackChanges": true,
  "alertWebhookUrl": "https://your-webhook.example/alerts"
}
```

***

### Modes

| Mode | What it scrapes | Required input |
| --- | --- | --- |
| `search` | Free-text event search (`/secure/search`) | `query` |
| `performer` | All events for an artist/team; optional city filter; prepends a **performer profile** row (genres, Spotify top track, hottest event, hourly viewer count, league/team flags) — disable with `includePerformerProfile=false` | `performerId` (e.g. `714235`) or `performerSlug`; optional `citySlug`+`cityId` |
| `venue` | Upcoming events at a venue; prepends a **venue profile** row (capacity, lat/lon, full address, categories) — disable with `includeVenueProfile=false` | `venueId` (e.g. `137012189`) |
| `grouping` | Events in a tour/show grouping | `groupingId` (e.g. `130466796`) |
| `category` | Events in a category | `categoryId` (slug-only falls back to search) |
| `explore` | Events near a location (**degraded**, see note) | `city` (preset) or `lat`+`lon` |
| `event` | Single event detail + ticket listings | `eventId` or `eventUrl` (canonical URL from your browser works best) |
| `suggest` | **Entity autocomplete** — resolves a query to performers/venues/categories with ids and URLs (great for finding ids) | `query` |
| `categories` | **Live category tree** — 3 top categories (Sports / Concerts / Theatre & Comedy) and 36 subcategories with ids and URLs | — |
| `cities` | **City preset harvest** — every city a performer plays in, with lat/lon, event count, and the `citySlug`/`cityId` pair needed for performer city filters | `performerId` or `performerSlug` |
| *(override)* | Any explicit StubHub URLs | `startUrls` / `detailUrls` / `listingIds` |

> **Explore mode note:** StubHub's `/explore` page redirects to your *network egress* location (the requested `lat`/`lon` is overridden by IP geo) and loads events only via client-side XHR, so automated sessions currently return no rows for it. The same inventory is fully covered by `search`, `performer`, and `venue` modes; the category tree is available via `mode=categories`.

> **UK note (`host=stubhub.co.uk`):** the UK TLD is a separate site with **no server-rendered data layer** (pure client-side SPA), so rows from it are best-effort only. UK inventory is fully reachable through the default `stubhub.com` host — set `proxyCountry=gb` when targeting UK event pages directly.

**Finding ids:** use `mode=suggest` with a name to resolve performers/venues/categories to their numeric ids, or copy them from any StubHub URL — `/{slug}-tickets/performer/{performerId}`, `/{slug}-tickets/venue/{venueId}/`, `/{slug}-tickets/grouping/{groupingId}`, `.../event/{eventId}/`. For a performer's city filter ids, run `mode=cities`.

**Deep pagination:** list pagination on StubHub is client-side XHR (URL parameters are ignored), so `maxPages > 1` drives a click-through browser session (slower, uses the fallback provider). Rows also carry inventory signals: `eventAvailabilityState`, `isUnderHundred`, `isParkingEvent`, `soldOutMessage`, `aggregateFavorites`, and `onSaleDateTimeData` (on-sale scheduling).

***

### What you get back

Every event row carries stable, analysis-ready fields:

- **Identity** — `eventId`, `title`, canonical `url`, `eventType` (`MusicEvent` / `SportsEvent` / `TheaterEvent`)
- **Schedule** — `datetimeLocal`, `doorTime`, `formattedDate`/`formattedTime`, date/time confirmation flags
- **Venue** — `venueName`, `venueCity`, `venueCountry(Code)`, address on detail rows
- **Pricing** — `lowestPrice` + `priceCurrency` (floor price from the event's offer aggregate)
- **Inventory signals** — `eventAvailabilityState`, `hasActiveListings`, `soldOutMessage`, `isUnderHundred`, `isParkingEvent`, `aggregateFavorites`, `onSaleDateTimeData`
- **Context** — `performerNames`, mode context (`performerId`, `cityId`, …), `scrapedAt`, `sourceLayer` (which extraction layer produced the row)

Non-event rows are typed via `rowType`: `suggestion`, `category`, `city`, plus `performer` / `venue` profile rows.

#### Output example (event row)

```json
{
  "id": "159358887",
  "eventId": "159358887",
  "title": "The Weeknd",
  "eventType": "MusicEvent",
  "datetimeLocal": "2026-08-09T19:30:00",
  "formattedDate": "Aug 09",
  "formattedTime": "7:30 PM",
  "venueName": "Strawberry Arena (formerly Friends Arena)",
  "venueCity": "Stockholm - Solna",
  "venueCountryCode": "SE",
  "hasActiveListings": true,
  "eventAvailabilityState": 0,
  "isUnderHundred": false,
  "performerNames": ["The Weeknd"],
  "url": "https://www.stubhub.com/the-weeknd-stockholm-tickets-8-9-2026/event/159358887/",
  "source": "stubhub",
  "sourceLayer": "performer+jsonld",
  "scrapedAt": "2026-08-09T12:00:00.000000+00:00"
}
```

***

### Pricing

**Pay per event: $0.005 per run start + $3.00 per 1,000 results.** Only rows written to the dataset are billed — blocked pages and empty runs cost nothing beyond the start fee. Platform compute is covered by the developer (you don't pay Apify usage costs on top).

| What triggers a charge | Price |
| --- | --- |
| Actor start | $0.005 per run |
| Result (dataset row) | $3.00 per 1,000 results |

**Store subscription tiers** (automatic discount by your Apify plan):

| Tier | $/1,000 results | per result |
| --- | --- | --- |
| FREE\* | $3.00 | $0.003 |
| BRONZE | $3.00 | $0.003 |
| SILVER | $2.60 | $0.0026 |
| GOLD | $2.20 | $0.0022 |
| PLATINUM | $2.00 | $0.002 |
| DIAMOND | $1.60 | $0.0016 |

\*FREE = the pay-as-you-go rate without a Store subscription.

| Volume | Estimated cost (FREE/BRONZE) |
| --- | --- |
| 100 results | ~$0.31 |
| 1,000 results | ~$3.01 |
| 10,000 results | ~$30.01 |

The free **$5 monthly Apify credit** covers roughly **1,600 results** — enough to test real workflows before spending anything.

**How this compares:** building your own StubHub pipeline means fighting DataDome + AWS WAF, managing residential proxies, and maintaining parsers (20+ hours upfront, ongoing maintenance). This Actor: **pay only when you scrape, no subscription required.**

***

### Price & inventory tracking

With `trackChanges: true` on `mode=event`, each run snapshots the event's listings into a persistent store and diffs them against the previous run:

- `newListings` / `soldListings` — inventory velocity (removed listings ≈ sold)
- `priceDrops` / `priceIncreases` with per-listing `priceChanges`
- Optional `alertWebhookUrl` — get a JSON POST when prices drop or inventory moves (never on the first snapshot)

Schedule the Actor (e.g. hourly) to build a price history for hot events.

***

### Connect to your tools

| Platform | How to connect |
| --- | --- |
| **Make.com** | Search "Apify" → "Run Actor" → Actor ID: `lentic_clockss/stubhub-scraper` |
| **n8n** | Add Apify node → "Run Actor" action → same Actor ID |
| **Zapier** | Apify integration → "Run Actor" trigger |
| **LangChain** | `ApifyActorsTool("lentic_clockss/stubhub-scraper")` |
| **Apify MCP** | Ask your AI agent to run the StubHub Scraper actor |
| **Python / Node.js** | Apify SDK or direct HTTPS call |

#### API call example

```bash
curl "https://api.apify.com/v2/acts/lentic_clockss~stubhub-scraper/runs" \
  -X POST \
  -H "Authorization: Bearer YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"mode": "search", "query": "bruno mars", "maxResults": 20}'
```

Results come back via the Apify Dataset API:

```
GET https://api.apify.com/v2/datasets/{datasetId}/items?format=json
```

***

### FAQ

**Is there an official StubHub API?**
StubHub retired its public developer API years ago; remaining access is partner-only. This Actor is a practical **StubHub API alternative** that reads the same public pages you see in a browser and returns clean structured rows.

**Is StubHub one site or many country sites?**
Primarily one global host — `www.stubhub.com` serves all markets (US, UK, EU, Japan, LatAm) with localized currency. A separate UK TLD (`stubhub.co.uk`) exists but is a pure client-side app with no server-rendered data; UK inventory is fully covered via the global host with `proxyCountry=gb`.

**Do I need my own proxies?**
No. The managed worker ships its own residential egress and unlocker credentials. `proxyCountry` optionally pins the egress country (ISO-2) for geo-sensitive inventory.

**Are seat-level ticket listings guaranteed?**
Listings are extracted through StubHub's own inventory endpoint (reverse-engineered): page 1 server-rendered + JSON pagination for the rest. Each row carries the authoritative `listingId`, section/row/seat, all-in price, and available quantities, and `listings.complete` tells you when the full inventory was captured. Inventory depth still depends on the event itself (sold-out or map-only events may show no rows); event metadata (date, venue, floor price) is always returned.

**Why do prices appear in different currencies?**
StubHub localizes prices to the viewer's market. The worker browses from US residential egress by default, so USD is typical; `priceCurrency` always tells you which currency a row is in.

**Can I track a performer's whole tour?**
Yes — `mode=performer` with `maxPages` covers full tours (deep pagination uses a click-through browser session). Add `citySlug`/`cityId` from `mode=cities` to filter one city.

**What are the free-plan limits?**
Free Apify plans: 10 runs total, 200 results per run (developer policy). Paid plans: unlimited runs, up to 500 results per run.

***

### Input reference

| Parameter | Type | Description |
| --- | --- | --- |
| `mode` | string | `search` (default), `performer`, `event`, `venue`, `grouping`, `category`, `explore`, `suggest`, `categories`, `cities` |
| `query` | string | Free-text query for `search` / `suggest` |
| `performerId` / `performerSlug` | string | Performer target for `performer` / `cities` |
| `citySlug` / `cityId` | string | City filter for `performer` (get values from `cities` mode) |
| `venueId` / `venueSlug` | string | Venue target for `venue` |
| `groupingId` / `groupingSlug` | string | Tour/show target for `grouping` |
| `categoryId` / `categorySlug` | string | Category target for `category` (ids from `categories` mode) |
| `eventId` / `eventUrl` | string | Event target for `event` (canonical URL preferred) |
| `host` | string | `stubhub.com` (default) or `stubhub.co.uk` (best-effort, SPA-only) |
| `proxyCountry` | string | ISO-2 egress pin, e.g. `gb` for UK inventory |
| `city` / `lat` / `lon` | string/number | Geo anchor for `explore` |
| `maxResults` | integer | Rows cap, 1–500 (free tier: 200) |
| `maxPages` | integer | List pages; 2+ uses a click-through browser session |
| `includeListings` | boolean | `event`: extract ticket listings (default true) |
| `maxShowMore` | integer | `event`: show-more clicks for listings expansion (0–20) |
| `includePerformerProfile` / `includeVenueProfile` | boolean | Prepend the entity profile row (default true) |
| `trackChanges` | boolean | `event`: snapshot listings and diff across runs |
| `alertWebhookUrl` | string | POST target for price/inventory alerts |
| `startUrls` / `detailUrls` / `listingIds` | array | Explicit URL/id overrides (mode inferred per URL) |

***

### Free-tier limits (free Apify plan)

| Cap | Value |
| --- | --- |
| Runs of this Actor | **10** total |
| Results per run | **200** |
| Paid Apify plans | Unlimited runs (schema max 500/run) |

These limits are set by the **Actor developer**, not Apify. When the run quota is exhausted the run finishes as `SUCCEEDED` with a `FREE_TIER_LIMIT` summary explaining how to upgrade.

***

### Related Actors

All public Actors from [lentic\_clockss](https://apify.com/lentic_clockss), by category. Click a name to open its Store page.

#### Tickets & Events

- [StubHub Scraper](https://apify.com/lentic_clockss/stubhub-scraper)
- [SeatGeek Scraper](https://apify.com/lentic_clockss/seatgeek-scraper)
- [Ticketmaster Scraper](https://apify.com/lentic_clockss/ticketmaster-scraper)
- [Eventim Scraper](https://apify.com/lentic_clockss/eventim-scraper)
- [Eventbrite Scraper](https://apify.com/lentic_clockss/eventbrite-scraper)
- [Polymarket Scraper](https://apify.com/lentic_clockss/polymarket-scraper)

#### Jobs & Freelance

- [LinkedIn Jobs Scraper](https://apify.com/lentic_clockss/linkedin-jobs-scraper)
- [Indeed Jobs Scraper](https://apify.com/lentic_clockss/indeed-jobs-scraper)
- [Upwork Jobs Scraper](https://apify.com/lentic_clockss/upwork-jobs-scraper)
- [Glassdoor Scraper](https://apify.com/lentic_clockss/glassdoor-scraper)
- [SEEK Jobs Scraper](https://apify.com/lentic_clockss/seek-scraper)
- [Bayt Jobs Scraper](https://apify.com/lentic_clockss/bayt-scraper)
- [Freelancer.com Scraper](https://apify.com/lentic_clockss/freelancer-scraper)
- [Fiverr Gig Scraper](https://apify.com/lentic_clockss/fiverr-programming-tech-gigs-scraper)
- [RemoteOK Jobs Scraper](https://apify.com/lentic_clockss/remoteok-all-jobs-scraper)
- [Jobicy Remote Jobs Scraper](https://apify.com/lentic_clockss/jobicy-remote-jobs-scraper)
- [Himalayas Jobs Scraper](https://apify.com/lentic_clockss/himalayas-jobs-scraper)

#### Real Estate

- [Zillow & Zumper Scraper](https://apify.com/lentic_clockss/us-real-estate-scraper)
- [Zillow Group Scraper](https://apify.com/lentic_clockss/zillow-group-scraper)
- [Realtor.com Scraper](https://apify.com/lentic_clockss/realtor-com-scraper)
- [Realtor.com Agents Scraper](https://apify.com/lentic_clockss/realtor-com-agents-scraper)
- [Realtor.ca Scraper](https://apify.com/lentic_clockss/realtor-ca-scraper)
- [Apartments.com Rental Scraper](https://apify.com/lentic_clockss/apartments-com-rental-scraper)
- [Craigslist Housing Scraper](https://apify.com/lentic_clockss/craigslist-housing-scraper)
- [realestate.com.au Scraper](https://apify.com/lentic_clockss/realestate-com-au-scraper)
- [Rightmove Scraper](https://apify.com/lentic_clockss/rightmove-property-scraper)
- [SeLoger Scraper](https://apify.com/lentic_clockss/seloger-property-scraper)
- [ImmoScout24 Scraper](https://apify.com/lentic_clockss/immobilienscout24-scraper)
- [Idealista Scraper](https://apify.com/lentic_clockss/idealista-scraper)
- [Immobiliare.it Scraper](https://apify.com/lentic_clockss/immobiliare-property-scraper)
- [Funda Scraper](https://apify.com/lentic_clockss/funda-scraper)
- [Daft.ie Scraper](https://apify.com/lentic_clockss/daft-property-scraper)
- [FINN.no Scraper](https://apify.com/lentic_clockss/finn-scraper)
- [Booli Scraper](https://apify.com/lentic_clockss/booli-scraper)
- [Otodom Scraper](https://apify.com/lentic_clockss/otodom-scraper)
- [SUUMO Scraper](https://apify.com/lentic_clockss/suumo-property-scraper)
- [Naver Land Scraper](https://apify.com/lentic_clockss/naver-land-scraper)
- [Hepsiemlak Scraper](https://apify.com/lentic_clockss/hepsiemlak-scraper)
- [OpenSooq Scraper](https://apify.com/lentic_clockss/opensooq-real-estate-scraper)
- [Property Finder Scraper](https://apify.com/lentic_clockss/property-finder-uae-scraper)
- [Bayut Scraper](https://apify.com/lentic_clockss/bayut-uae-scraper)
- [PropertyGuru Scraper](https://apify.com/lentic_clockss/propertyguru-sg-scraper)
- [99.co Scraper](https://apify.com/lentic_clockss/ninetynine-co-sg-scraper)
- [Dot Property Scraper](https://apify.com/lentic_clockss/dot-property-th-scraper)

#### E-commerce & Retail

- [Amazon Search Scraper](https://apify.com/lentic_clockss/amazon-search-results-collector)
- [Walmart Product Scraper](https://apify.com/lentic_clockss/walmart-scraper)
- [eBay Product Scraper](https://apify.com/lentic_clockss/ecommerce-scraper)
- [Shopee Scraper](https://apify.com/lentic_clockss/shopee-search-scraper)
- [Lazada Product Scraper](https://apify.com/lentic_clockss/lazada-ph-search-results-collector)
- [MercadoLibre Scraper](https://apify.com/lentic_clockss/mercadolibre-scraper)
- [Allegro Scraper](https://apify.com/lentic_clockss/allegro-scraper)
- [Cdiscount Product Scraper](https://apify.com/lentic_clockss/cdiscount-scraper)
- [ASOS Product Scraper](https://apify.com/lentic_clockss/asos-scraper)
- [Costco Product Scraper](https://apify.com/lentic_clockss/costco-scraper)
- [Coupang Product Scraper](https://apify.com/lentic_clockss/coupang-scraper)
- [Etsy Scraper](https://apify.com/lentic_clockss/etsy-scraper)
- [Mercari Japan Scraper](https://apify.com/lentic_clockss/mercari-scraper)
- [Rakuten Japan Scraper](https://apify.com/lentic_clockss/rakuten-scraper)
- [SHEIN Product Scraper](https://apify.com/lentic_clockss/shein-scraper)
- [Target Product Scraper](https://apify.com/lentic_clockss/target-scraper)
- [Temu Product Scraper](https://apify.com/lentic_clockss/temu-scraper)
- [TikTok Shop Product Scraper](https://apify.com/lentic_clockss/tiktok-shop-scraper)
- [1688 Global Product Scraper](https://apify.com/lentic_clockss/1688-global-scraper)

#### B2B & Wholesale Marketplaces

- [Europages Scraper](https://apify.com/lentic_clockss/europages-scraper)
- [Kompass Scraper](https://apify.com/lentic_clockss/kompass-scraper)
- [IndiaMART Scraper](https://apify.com/lentic_clockss/indiamart-scraper)
- [GlobalSources Scraper](https://apify.com/lentic_clockss/globalsources-scraper)
- [DHgate Wholesale Scraper](https://apify.com/lentic_clockss/dhgate-scraper)
- [Faire Scraper](https://apify.com/lentic_clockss/faire-scraper)
- [Thomasnet Scraper](https://apify.com/lentic_clockss/thomasnet-scraper)
- [MonotaRO Scraper](https://apify.com/lentic_clockss/monotaro-scraper)
- [iPROS Scraper](https://apify.com/lentic_clockss/ipros-scraper)
- [Xometry Scraper](https://apify.com/lentic_clockss/xometry-scraper)

#### Food Delivery & Grocery

- [DoorDash Scraper](https://apify.com/lentic_clockss/doordash-scraper)
- [Uber Eats Scraper](https://apify.com/lentic_clockss/ubereats-scraper)
- [Deliveroo Scraper](https://apify.com/lentic_clockss/deliveroo-scraper)
- [Wolt Scraper](https://apify.com/lentic_clockss/wolt-scraper)
- [foodora Scraper](https://apify.com/lentic_clockss/foodora-scraper)
- [foodpanda Scraper](https://apify.com/lentic_clockss/foodpanda-scraper)
- [Grab Scraper](https://apify.com/lentic_clockss/grab-scraper)
- [iFood Scraper](https://apify.com/lentic_clockss/ifood-scraper)
- [PedidosYa Scraper](https://apify.com/lentic_clockss/pedidosya-scraper)
- [Talabat Scraper](https://apify.com/lentic_clockss/talabat-scraper)
- [Rappi Scraper](https://apify.com/lentic_clockss/rappi-scraper)
- [Instacart Scraper](https://apify.com/lentic_clockss/instacart-scraper)

#### Travel & Stays

- [Booking.com & Airbnb Scraper](https://apify.com/lentic_clockss/booking-airbnb-scraper)
- [Booking.com Hotels Scraper](https://apify.com/lentic_clockss/booking-hotels-scraper)
- [Airbnb Listings Scraper](https://apify.com/lentic_clockss/airbnb-listings-scraper)
- [Expedia Scraper](https://apify.com/lentic_clockss/expedia-scraper)
- [Trip.com Scraper](https://apify.com/lentic_clockss/trip-com-scraper)
- [TripAdvisor Scraper](https://apify.com/lentic_clockss/tripadvisor-scraper)
- [Agoda Scraper](https://apify.com/lentic_clockss/agoda-scraper)
- [Traveloka Scraper](https://apify.com/lentic_clockss/traveloka-scraper)
- [Travelstart Flights Scraper](https://apify.com/lentic_clockss/travelstart-scraper)
- [Despegar Scraper](https://apify.com/lentic_clockss/despegar-scraper)

#### Social & Content

- [TikTok Scraper](https://apify.com/lentic_clockss/tiktok-scraper)
- [Reddit Scraper](https://apify.com/lentic_clockss/reddit-scraper)
- [YouTube Research Scraper](https://apify.com/lentic_clockss/youtube-research-scraper)
- [YouTube Shorts Scraper](https://apify.com/lentic_clockss/youtube-shorts-scraper)
- [Hacker News Scraper](https://apify.com/lentic_clockss/hacker-news-scraper)

#### Ads Intelligence

- [Facebook Ad Library Scraper](https://apify.com/lentic_clockss/facebook-ad-library-scraper)
- [TikTok Ads Scraper](https://apify.com/lentic_clockss/tiktok-ads-top-ads-actor)
- [Google Ads Transparency Scraper](https://apify.com/lentic_clockss/google-ads-transparency-center-vn)

#### Local & Maps

- [Google Maps Scraper](https://apify.com/lentic_clockss/google-maps-scraper)

#### General Tools

- [Stealth Web Scraper](https://apify.com/lentic_clockss/stealth-web-scraper)
- [Email Validator](https://apify.com/lentic_clockss/email-risk-validator)
- [Phone Number Validator](https://apify.com/lentic_clockss/phone-number-intelligence)

→ Browse the full profile: [apify.com/lentic\_clockss](https://apify.com/lentic_clockss)

***

### Changelog

#### 0.1 (2026-08-09, later same day)

- **Listings rebuilt on the reverse-engineered inventory contract**: SSR page-1 cards + `IndexShGridOnly` JSON pagination inside a managed session — seat-level rows (listingId, section/row/seat, all-in `price`, quantities, deal score, notes, face value) with `complete`/`fetched`/`total` coverage flags; `maxShowMore` now maps to pagination steps (10 listings each)
- Geo-pinned listings sessions for currency consistency

#### 0.1 (2026-08-09)

- Initial release: search / performer (+city filter) / venue / grouping / category / explore / event modes
- Entity modes: `suggest` (autocomplete), `categories` (live tree), `cities` (city presets)
- Performer & venue profile rows; rich inventory signals on event rows
- Deep pagination via click-through browser session; `proxyCountry` geo pin; `host` multi-TLD plumbing
- Pay-per-event pricing: $0.005 start + $3.00/1,000 results with Store tier discounts

# Actor input Schema

## `mode` (type: `string`):

search | performer | event | venue | grouping | category | explore | suggest (entity autocomplete rows, needs query) | categories (live category tree: 3 tops, 36 subs) | cities (performer city presets with lat/lon/cityId, needs performerId/performerSlug)

## `host` (type: `string`):

stubhub.com (default, global inventory incl. GB/EU/JP events) or stubhub.co.uk. NOTE: stubhub.co.uk is a pure SPA shell with no server-rendered data layer (verified 2026-08-09) — UK inventory is best reached via stubhub.com + proxyCountry=gb.

## `proxyCountry` (type: `string`):

Pin the egress country, e.g. gb for UK inventory. Event LDPs redirect to a regional homepage when the egress geo mismatches the event country; also pins the Bright Data browser session (deep pagination, listings, explore).

## `includePerformerProfile` (type: `boolean`):

mode=performer: prepend a performer metadata row (genres, spotifyTopTrackId, hottest event, hourly viewer count, leagueId/isTeamSport, available-event totals).

## `includeVenueProfile` (type: `boolean`):

mode=venue: prepend a venue metadata row (capacity, lat/lon, full address, topLevelCategories).

## `query` (type: `string`):

Free-text search for mode=search, e.g. 'weeknd', 'lakers', 'hamilton'. Maps to stubhub.com/secure/search.

## `performerId` (type: `string`):

StubHub numeric performer id for mode=performer, e.g. 714235 (The Weeknd). From /{slug}-tickets/performer/{id}.

## `performerSlug` (type: `string`):

Performer slug, e.g. the-weeknd. Optional when performerId is given (slug mismatch redirects to canonical).

## `citySlug` (type: `string`):

Optional city filter for mode=performer, e.g. london. Pairs with cityId.

## `cityId` (type: `string`):

Optional city filter id for mode=performer, e.g. 4031 (london). Path-encoded /{citySlug}-city/{cityId}.

## `venueId` (type: `string`):

StubHub numeric venue id for mode=venue, e.g. 137012189 (PGE Narodowy).

## `venueSlug` (type: `string`):

Venue slug (optional alongside venueId).

## `groupingId` (type: `string`):

StubHub numeric grouping (tour/show) id for mode=grouping, e.g. 130466796 (The Notebook The Musical).

## `groupingSlug` (type: `string`):

Grouping slug (optional alongside groupingId).

## `categoryId` (type: `string`):

StubHub numeric category id for mode=category (/category/{id}).

## `categorySlug` (type: `string`):

Category slug for mode=category. Without categoryId, falls back to a search query with this text.

## `eventId` (type: `string`):

StubHub numeric event id for mode=event, e.g. 159358883.

## `eventUrl` (type: `string`):

Full StubHub event URL for mode=event (eventId derived if missing).

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

City name for mode=explore (geo preset: nyc, la, london, warsaw, tokyo, sydney, ...). Or pass explicit lat/lon.

## `lat` (type: `number`):

Explicit latitude for mode=explore (overrides city preset).

## `lon` (type: `number`):

Explicit longitude for mode=explore (overrides city preset).

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

Maximum events to emit (1-500). Free-tier capped at 200.

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

List pages to fetch. StubHub pagination is client-side XHR (URL params are ignored), so pages 2+ are click-through via a Bright Data browser session when page 1 succeeds (adds runtime + BD cost).

## `includeListings` (type: `boolean`):

For mode=event: extract ticket listings via StubHub's inventory feed (reverse-engineered): SSR page-1 + JSON pagination, seat-level rows (listingId, section/row/seat, all-in price, quantities, deal score). listings.complete marks full capture. Event metadata is always returned.

## `maxShowMore` (type: `integer`):

For mode=event with includeListings: max listings pagination steps beyond page 1 (0-20; each step loads 10 more listings).

## `trackChanges` (type: `boolean`):

For mode=event with includeListings: snapshot listings to a persistent store and diff against the previous run — adds a changes object (newListings, soldListings, priceDrops, priceChanges). Schedule the Actor to build price history over time.

## `alertWebhookUrl` (type: `string`):

With trackChanges: POST a JSON alert to this URL when prices drop or inventory moves (never on the first snapshot).

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

Explicit StubHub URLs; mode is inferred per URL (/event/{id} = detail, others = list).

## `detailUrls` (type: `array`):

Event detail URLs (alias of startUrls for event LDP).

## `listingIds` (type: `array`):

StubHub numeric event ids.

## `workerBaseUrl` (type: `string`):

Override Cloud Run worker origin (allowlisted HTTPS). Default from Actor env.

## Actor input object example

```json
{
  "mode": "search",
  "host": "stubhub.com",
  "proxyCountry": "gb",
  "includePerformerProfile": true,
  "includeVenueProfile": true,
  "query": "weeknd",
  "performerId": "714235",
  "performerSlug": "the-weeknd",
  "citySlug": "london",
  "cityId": "4031",
  "venueId": "137012189",
  "groupingId": "130466796",
  "eventId": "159358883",
  "city": "london",
  "maxResults": 20,
  "maxPages": 1,
  "includeListings": true,
  "maxShowMore": 5,
  "trackChanges": false
}
```

# Actor output Schema

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

One row per event (search / performer / venue / grouping / category / explore modes), per entity (suggest / categories / cities modes), or per event detail with the full seat-level ticket listings inventory (event mode).

## `runSummary` (type: `string`):

JSON summary of the run: mode, counts, warnings and worker diagnostics.

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("lentic_clockss/stubhub-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 = {}

# Run the Actor and wait for it to finish
run = client.actor("lentic_clockss/stubhub-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 '{}' |
apify call lentic_clockss/stubhub-scraper --silent --output-dataset

```

## MCP server setup

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