StubHub Events Discovery Scraper avatar

StubHub Events Discovery Scraper

Pricing

Pay per event

Go to Apify Store
StubHub Events Discovery Scraper

StubHub Events Discovery Scraper

🎟️ Discover public StubHub events around any coordinates. Export schedules, venues, IDs, canonical URLs, images, displayed prices, and availability flags.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Discover public events on StubHub by geographic coordinates and export clean, structured schedules for analysis, aggregation, and monitoring.

This Apify Actor reads StubHub's public Explore data surface. It returns one dataset row per event with event and category IDs, dates, venues, canonical URLs, images, displayed prices, and availability flags.

Use it when you need repeatable event discovery without manually browsing city pages.

  • 🎟️ Find events around any latitude and longitude
  • πŸ“… Normalize event dates while preserving StubHub's displayed labels
  • 🏟️ Export venue IDs, names, and locations
  • πŸ”Ž Filter by category ID, date, active listings, and parking status
  • πŸ”— Send results to datasets, APIs, webhooks, Google Sheets, or your database

What does the StubHub Events Discovery Scraper do?

The Actor queries public StubHub Explore batches for the coordinates you provide.

It paginates conservatively, deduplicates events by eventId, applies your filters, and writes typed records to the default Apify dataset.

The Actor is deliberately scoped to event discovery.

It does not claim to scrape protected seat maps or seat-level ticket inventory.

That narrow scope keeps runs fast, predictable, and useful for schedule intelligence.

Who is it for?

Event aggregators

Build or refresh city event calendars with stable event IDs, canonical links, dates, and venue information.

Venue and promoter intelligence teams

Watch which events appear around a market, compare venue schedules, and detect additions over time.

Travel and hospitality planners

Monitor future concerts, sports, and live entertainment that may affect visitor demand.

Ticket-market analysts

Collect public availability flags, price classes, and displayed starting-price labels for recurring analysis.

Developers and data engineers

Feed normalized StubHub event records into an application, warehouse, alerting workflow, or enrichment pipeline.

Why use this StubHub event scraper?

Manual Explore browsing is hard to repeat and awkward to export.

This Actor provides a stable input and output contract suitable for automation.

  • βœ… No StubHub login is required for the supported Explore scope
  • βœ… Coordinates make geographic provenance explicit
  • βœ… Pagination and deduplication are handled automatically
  • βœ… Date and category filters fail closed instead of leaking unknown records
  • βœ… Every output row links back to its public StubHub event URL
  • βœ… Pay-per-event billing aligns spend with delivered data

What data can you extract?

FieldDescription
eventIdStable StubHub event identifier
categoryIdStubHub category identifier
namePublic event name
urlCanonical StubHub event URL
eventDateDate normalized to YYYY-MM-DD when present in the URL
formattedDateDate label displayed by StubHub
formattedTimeTime label displayed by StubHub
isDateConfirmedWhether StubHub marks the date as confirmed
isTimeConfirmedWhether StubHub marks the time as confirmed
isTbdWhether date or time is still to be determined
eventStateNumeric source event-state value
venueIdStubHub venue identifier
venueNameVenue name
venueLocationDisplayed city, region, and country
formattedFromPriceSource-formatted starting-price label when provided
hasActiveListingsActive-listings flag from Explore
allowPublicPurchasePublic-purchase flag from Explore
isParkingEventWhether the row is a separate parking event
imageUrlPublic event image URL
sourceLatitudeLatitude used for discovery
sourceLongitudeLongitude used for discovery
sourcePageExplore page that produced the row
scrapedAtUTC extraction timestamp

How to scrape StubHub events

  1. Open the Actor input form.
  2. Enter the latitude and longitude for your target market.
  3. Set a small maxItems value for your first run.
  4. Optionally add category IDs or date boundaries.
  5. Click Start.
  6. Preview the StubHub events dataset view.
  7. Export results as JSON, CSV, Excel, XML, or RSS.
  8. Schedule the Actor if you want recurring monitoring.

Input parameters

Location

latitude and longitude define the geographic center used by StubHub Explore.

New York City (40.7128, -74.006) is prefilled for a quick smoke test.

Use decimal coordinates and keep them within normal geographic ranges.

Event collection

maxItems controls how many unique matching events are saved.

The Actor may inspect more source rows than it saves when filters are active.

Filters

categoryIds accepts exact numeric IDs found in earlier discovery results.

fromDate and toDate use YYYY-MM-DD.

activeListingsOnly keeps only events whose Explore record reports active listings.

includeParkingEvents controls separate parking-event records.

Advanced safety limit

maxPages bounds the number of Explore batches checked.

Increase it only when narrow filters require deeper traversal.

Example input

{
"latitude": 40.7128,
"longitude": -74.006,
"maxItems": 20,
"maxPages": 5,
"includeParkingEvents": false
}

A category-monitoring input can reuse an ID learned from an earlier dataset:

{
"latitude": 40.7128,
"longitude": -74.006,
"categoryIds": [20519],
"maxItems": 50,
"maxPages": 25
}

Example output

{
"eventId": 160262128,
"categoryId": 33253,
"name": "BTS",
"url": "https://www.stubhub.com/bts-east-rutherford-tickets-8-1-2026/event/160262128/",
"eventDate": "2026-08-01",
"formattedDate": "Aug 01",
"formattedTime": "8:00 PM",
"isTbd": false,
"isDateConfirmed": true,
"isTimeConfirmed": true,
"venueId": 12236,
"venueName": "MetLife Stadium",
"venueLocation": "East Rutherford, NJ, USA",
"allowPublicPurchase": true,
"hasActiveListings": false,
"isParkingEvent": false,
"sourceLatitude": 40.7128,
"sourceLongitude": -74.006,
"sourcePage": 0,
"source": "stubhub-explore"
}

Fields that StubHub omits are omitted rather than replaced with misleading values.

How much does it cost to scrape StubHub events?

The Actor uses pay-per-event pricing.

A small one-time start charge covers run initialization, followed by a charge for each unique event saved.

The start charge is currently $0.005.

Per-event prices use Apify plan tiers and are shown in the Actor pricing panel before each run.

For a quick estimate, multiply your expected event count by your displayed tier price and add the start charge.

The Apify Free plan can be used for small evaluations subject to your account credits and the live pricing panel.

Tips for reliable results

  • 🎯 Start with 10–20 events before scheduling a larger job.
  • πŸ“ Use coordinates near the center of the market you care about.
  • 🧭 Run neighboring coordinates separately when market boundaries matter.
  • 🏷️ Discover category IDs broadly before using a category-only monitor.
  • πŸ“† Keep date windows realistic because Explore prioritizes upcoming events.
  • πŸ…ΏοΈ Leave parking records disabled unless they are part of your workflow.
  • πŸ” Use eventId as the primary key when comparing scheduled runs.

Scheduling and event monitoring

Apify schedules can run the Actor hourly, daily, or weekly.

Store each run in its default dataset or send results to a webhook.

For change detection, compare the newest dataset with your prior snapshot using eventId.

Useful signals include:

  • Newly discovered event IDs
  • Changes to confirmation flags
  • Changes to active-listing status
  • New displayed starting-price labels
  • Venue schedule additions

Integrations

Google Sheets

Export a dataset as CSV or connect through Make to refresh an event-planning sheet.

Webhooks and Slack

Trigger a webhook after a run, diff the results, and send new events to a Slack channel.

Data warehouses

Load JSON records into BigQuery, Snowflake, PostgreSQL, or another warehouse keyed by eventId and scrapedAt.

Travel demand models

Join event dates and venue locations to hotel, flight, or foot-traffic datasets.

Venue intelligence

Group rows by venueId to build recurring venue calendars and market comparisons.

JavaScript API example

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/stubhub-events-discovery-scraper').call({
latitude: 40.7128,
longitude: -74.006,
maxItems: 20,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python API example

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("automation-lab/stubhub-events-discovery-scraper").call(run_input={
"latitude": 34.0522,
"longitude": -118.2437,
"maxItems": 20,
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)

cURL API example

curl -X POST \
"https://api.apify.com/v2/acts/automation-lab~stubhub-events-discovery-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"latitude":40.7128,"longitude":-74.006,"maxItems":20}'

Fetch results with the dataset ID returned by the run:

$curl "https://api.apify.com/v2/datasets/DATASET_ID/items?clean=true&format=json"

Use with Apify MCP

Connect the Actor to Claude Code:

$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/stubhub-events-discovery-scraper"

For Claude Desktop, Cursor, or VS Code, add an HTTP MCP server:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=automation-lab/stubhub-events-discovery-scraper"
}
}
}

Example prompts:

  • β€œFind upcoming StubHub events near New York and summarize them by venue.”
  • β€œRun the StubHub event extractor for Los Angeles and return active listings only.”
  • β€œCompare the newest event IDs with yesterday's dataset.”

Data quality and limitations

The Actor reports the public Explore fields available at run time.

A displayed starting price is a formatted source label, not a guaranteed checkout price.

Explore ordering and availability may change between runs.

Coordinates influence the discovery market but do not define a strict radius filter.

Date normalization relies on the canonical event URL; when the source URL lacks a parseable date, eventDate is omitted.

Seat maps, individual ticket listings, and checkout details are outside this Actor's scope.

Public event information can have legitimate uses such as aggregation, research, and market monitoring.

You are responsible for your use case, applicable laws, contractual restrictions, and personal-data obligations.

Avoid excessive request volumes and do not use the Actor to bypass access controls.

This Actor accesses only the supported public Explore surface and uses conservative sequential requests.

Troubleshooting

Why did my filtered run return no events?

Your category or date window may not occur in the Explore pages checked.

Remove filters, run a broad discovery, inspect category IDs, and then narrow the next run.

The Actor exits with an error instead of silently reporting success with an empty dataset.

Why does hasActiveListings look different later?

It is a live source flag and can change as inventory changes.

Use scrapedAt to distinguish snapshots.

Why is a nearby event outside my city?

Coordinates select StubHub's discovery market; they are not a hard-radius boundary.

Filter venueLocation downstream or run multiple precise coordinates when needed.

Why is eventDate missing?

The Actor only emits a normalized date when it can parse one safely from the canonical URL.

It preserves formattedDate and confirmation flags for the remaining cases.

FAQ

Does it require a StubHub account?

No account is required for the supported public Explore discovery workflow.

Can it scrape ticket seats and rows?

No. Seat-level listings are intentionally outside v1 because they use a different, more protected detail workflow.

Can I search by city name?

Use the city's latitude and longitude. This avoids ambiguous city names and makes repeat runs reproducible.

Can I filter by category?

Yes. Supply numeric categoryIds discovered in a previous broad run.

Can I export CSV or Excel?

Yes. Apify datasets support JSON, CSV, Excel, XML, RSS, and API access.

Are duplicate events removed?

Yes. Each run deduplicates by StubHub eventId.

Combine this Actor with other automation-lab event data tools:

Cross-source workflows can join records by date, venue, performer name, and canonical source ID while preserving each platform's provenance.

Support

If a run fails, share its Apify run URL through the Actor issue form.

Include the coordinates, filters, expected event, and approximate run time.

That context helps distinguish an input mismatch from a source change quickly.