Discovery β Events
The Discovery API allows you to search and browse events, venues, and performers. Use these endpoints to display available events to your customers and to obtain the event_id needed for seat browsing, quotes, and orders.
Authentication Required
All Discovery endpoints require a valid Bearer token. See Authentication to get your token.
Endpointsβ
| Method | Endpoint | Description |
|---|---|---|
GET | /v1/events | Search and list events |
GET | /v1/events/{event_id} | Get a single event by ID |
7.1 β Search Eventsβ
Returns a paginated list of events matching your search criteria.
Endpointβ
GET /v1/events
Query Parametersβ
| Parameter | Type | Required | Description |
|---|---|---|---|
q | string | No | Free text search across event name |
event_id | string | No | Filter by a specific event ID |
venue_id | string | No | Filter by venue ID |
venue_name | string | No | Partial match on venue name |
performer_id | string | No | Filter by performer ID |
performer_name | string | No | Partial match on performer name |
date_from | date | No | Events from this date YYYY-MM-DD. Defaults to today |
date_to | date | No | Events up to this date YYYY-MM-DD |
limit | integer | No | Results per page. Default: 20, Max: 100 |
offset | integer | No | Zero-based offset for pagination. Default: 0 |
Requestβ
cURL
curl "https://api.ticketbuyback.com/partner/v1/events?q=Patriots&date_from=2026-09-01&limit=20" \
-H "Authorization: Bearer <token>" \
-H "Accept: application/json"
JavaScript
const params = new URLSearchParams({
q: "Patriots",
date_from: "2026-09-01",
limit: 20,
});
const response = await fetch(
`https://api.ticketbuyback.com/partner/v1/events?${params}`,
{
headers: {
Authorization: `Bearer ${token}`,
Accept: "application/json",
},
}
);
const { data, pagination } = await response.json();
Response β 200 OKβ
{
"success": true,
"data": [
{
"event_id": "5496123",
"event_name": "New England Patriots vs. Buffalo Bills",
"event_datetime_utc": "2026-09-13T17:00:00Z",
"event_datetime_local": "2026-09-13T13:00:00",
"event_timezone": "America/New_York",
"venue": {
"venue_id": "ven_gillette_001",
"venue_name": "Gillette Stadium",
"city": "Foxborough",
"state": "MA",
"country": "US"
},
"performers": [
{
"performer_id": "perf_ne_patriots",
"performer_name": "New England Patriots"
},
{
"performer_id": "perf_buf_bills",
"performer_name": "Buffalo Bills"
}
]
}
],
"pagination": {
"total": 47,
"limit": 20,
"offset": 0,
"has_more": true
},
"meta": {
"request_id": "abc123",
"timestamp": "2026-02-26T10:30:00Z"
}
}
Response Fieldsβ
| Field | Description |
|---|---|
event_id | Unique event identifier β used in all downstream requests |
event_name | Display name of the event |
event_datetime_utc | Event start time in UTC |
event_datetime_local | Event start time in the venue's local timezone |
event_timezone | IANA timezone string for the venue |
venue | Venue details β ID, name, city, state, country |
performers | Array of performers appearing at the event |
Paginationβ
Use limit and offset to page through results. When has_more is true, increment offset by limit to fetch the next page.
Fetch all pages β JavaScript
async function fetchAllEvents(query) {
const limit = 100;
let offset = 0;
let allEvents = [];
let hasMore = true;
while (hasMore) {
const params = new URLSearchParams({ q: query, limit, offset });
const res = await fetch(
`https://api.ticketbuyback.com/partner/v1/events?${params}`,
{ headers: { Authorization: `Bearer ${token}` } }
);
const { data, pagination } = await res.json();
allEvents = [...allEvents, ...data];
hasMore = pagination.has_more;
offset += limit;
}
return allEvents;
}
7.2 β Get Single Eventβ
Returns full details for a single event by its ID.
Endpointβ
GET /v1/events/{event_id}
Path Parametersβ
| Parameter | Type | Required | Description |
|---|---|---|---|
event_id | string | Yes | The event ID from the Search Events response |
Requestβ
cURL
curl "https://api.ticketbuyback.com/partner/v1/events/5496123" \
-H "Authorization: Bearer <token>" \
-H "Accept: application/json"
JavaScript
const response = await fetch(
"https://api.ticketbuyback.com/partner/v1/events/5496123",
{
headers: {
Authorization: `Bearer ${token}`,
Accept: "application/json",
},
}
);
const { data } = await response.json();
Response β 200 OKβ
Same shape as a single item from the Search Events response above.
Error Scenariosβ
| Scenario | HTTP Status | Error Code |
|---|---|---|
| Missing or invalid Bearer token | 401 | UNAUTHORIZED |
| Token expired | 401 | TOKEN_EXPIRED |
| Event not found | 404 | EVENT_NOT_FOUND |
| Event date has passed | 422 | EVENT_EXPIRED |
Next Stepβ
Once you have an event_id, browse available sections and rows:
β Sections & Rows