StubHub API endpoint
Returns the performer-page alternative, recently viewed, maybe-interested, and trending-event carousel sections. Obtain performer_slug and performer_id from a real StubHub performer URL or another StubHub result.
/stubhub/carouselQuery parameters:
performer_slug (required): the performer slug from a StubHub performer URL, such as g-e-m-tickets.performer_id (required): the numeric performer id from that URL, such as 1503169.top_level_category_id (required): 1 (Theater), 2 (Sports), or 3 (Concerts).category_id (required): StubHub's category id for the performer request.lat and lon (required): location coordinates used by StubHub for local discovery.max (optional): maximum items per carousel section, from 1 to 50; defaults to 10.Returns the anonymous performer-page discovery sections: alternative performers, recently viewed performers, maybe-interested performers, and trending events. Empty sections are valid for an anonymous caller. This is a discovery endpoint, not a ticket-inventory or listing-pricing endpoint.
The response contains absolute StubHub URLs and the exact source URL used for the upstream call.
| Field | Filled in, of 10 checked | Values in the sample |
|---|---|---|
| name | 10 | “The Weeknd” and 9 other values |
| image_url | 10 | media.stubhubstatic.com |
| url | 10 | stubhub.com |
| image_credit_name | 10 | median 12 characters |
| category_id | 10 | |
| formatted_local_events_dates | 10 | “Oct 24 - Oct 31” and 9 other values |
| available_local_events | 10 | 2 to 4, median 3 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| performer_slug | string | Yes | StubHub performer URL slug | g-e-m-tickets | |
| performer_id | integer | Yes | StubHub performer numeric id | 1503169 | |
| top_level_category_id | integer | Yes | Top-level category: 1 (Theater), 2 (Sports), or 3 (Concerts) Allowed values: 1, 2, 3. | 1 | |
| category_id | integer | Yes | StubHub category id | 23022 | |
| lat | number | Yes | Latitude | 22.364 | |
| lon | number | Yes | Longitude | 114.109 | |
| max | integer | No | 10 | Maximum items per carousel section; defaults to 10 Minimum: 1. Maximum: 50. | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/stubhub/carousel?performer_slug=g-e-m-tickets&performer_id=1503169&top_level_category_id=1&category_id=23022&lat=22.364&lon=114.109" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"performer_slug": "g-e-m-tickets",
"performer_id": 1503169,
"top_level_category_id": 3,
"category_id": 23022,
"lat": 22.364,
"lon": 114.109,
"max": 10,
"alternative_performers": [
{
"name": "The Weeknd",
"url": "https://www.stubhub.com/the-weeknd-tickets/performer/714235",
"category_id": 26202
}
],
"recently_viewed": [],
"maybe_interested_in": [],
"trending_events": [
{
"event_id": 161204289,
"name": "BTS",
"url": "https://www.stubhub.com/bts-tickets/event/161204289",
"local_event_date": "Mar 06 2027",
"local_event_time": "7:30 PM",
"category_id": 33253,
"min_price": 99
}
],
"source_url": "https://www.stubhub.com/g-e-m-tickets/performer/1503169?method=GetCarouselItems&topLevelCategoryId=3&categoryId=23022&recentlyViewedCarousel=true&alternativePerformersCarousel=true&maybeInterestedInCarousel=true&trendingEventsCarousel=true&max=10<=22.364&lg=114.109",
"fetched_at": "2026-09-22T12:00:00Z"
}
}Request schema
No body schema
Response schema
#/definitions/stubhub.carouselResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | stubhub.CarouselResponse | No | ||||
| data.alternative_performers | array | No | ||||
| data.alternative_performers[].available_local_events | integer | No | 4 | |||
| data.alternative_performers[].category_id | integer | No | 26202 | |||
| data.alternative_performers[].formatted_local_events_dates | string | No | Nov 27 - Dec 06 | |||
| data.alternative_performers[].image_credit_name | string | No | ||||
| data.alternative_performers[].image_url | string | No | ||||
| data.alternative_performers[].name | string | No | The Weeknd | |||
| data.alternative_performers[].url | string | No | ||||
| data.category_id | integer | No | ||||
| data.fetched_at | string | No | ||||
| data.lat | number | No | ||||
| data.lon | number | No | ||||
| data.max | integer | No | ||||
| data.maybe_interested_in | array | No | ||||
| data.maybe_interested_in[].available_local_events | integer | No | 4 | |||
| data.maybe_interested_in[].category_id | integer | No | 26202 | |||
| data.maybe_interested_in[].formatted_local_events_dates | string | No | Nov 27 - Dec 06 | |||
| data.maybe_interested_in[].image_credit_name | string | No | ||||
| data.maybe_interested_in[].image_url | string | No | ||||
| data.maybe_interested_in[].name | string | No | The Weeknd | |||
| data.maybe_interested_in[].url | string | No | ||||
| data.performer_id | integer | No | ||||
| data.performer_slug | string | No | ||||
| data.recently_viewed | array | No | ||||
| data.recently_viewed[].available_local_events | integer | No | 4 | |||
| data.recently_viewed[].category_id | integer | No | 26202 | |||
| data.recently_viewed[].formatted_local_events_dates | string | No | Nov 27 - Dec 06 | |||
| data.recently_viewed[].image_credit_name | string | No | ||||
| data.recently_viewed[].image_url | string | No | ||||
| data.recently_viewed[].name | string | No | The Weeknd | |||
| data.recently_viewed[].url | string | No | ||||
| data.source_url | string | No | ||||
| data.top_level_category_id | integer | No | ||||
| data.trending_events | array | No | ||||
| data.trending_events[].category_id | integer | No | 33253 | |||
| data.trending_events[].day_of_week | string | No | Sat | |||
| data.trending_events[].event_id | integer | No | 161204289 | |||
| data.trending_events[].image_url | string | No | ||||
| data.trending_events[].is_date_confirmed | boolean | No | ||||
| data.trending_events[].is_time_confirmed | boolean | No | ||||
| data.trending_events[].local_event_date | string | No | Mar 06 2027 | |||
| data.trending_events[].local_event_time | string | No | 7:30 PM | |||
| data.trending_events[].location | string | No | Kai Tak, Kowloon City | |||
| data.trending_events[].min_price | number | No | 99 | |||
| data.trending_events[].name | string | No | BTS | |||
| data.trending_events[].url | string | No | ||||
| data.trending_events[].venue_name | string | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/stubhub/carousel?performer_slug=g-e-m-tickets&performer_id=1503169&top_level_category_id=1&category_id=23022&lat=22.364&lon=114.109" \
-H "x-api-key: $CRAWLORA_API_KEY"