Biletinial APIbiletinial.com ↗
Fetch Istanbul concert listings from biletinial.com — venues, dates, ticket prices, and session details via two structured endpoints.
What is the Biletinial API?
The Biletinial Istanbul Concerts API exposes 2 endpoints that return upcoming music events from biletinial.com's Istanbul city listing. The list_concerts endpoint returns paginated event records, each with nested sessions covering date, venue, district, and pricing data. The get_concert endpoint returns the same full record for a single event identified by its slug. Fields include start_datetime, minimum_price, venue_address, and per-session seance_id.
curl -X GET 'https://api.parse.bot/scraper/001b3e10-966e-4803-9351-b5a5aa6c9905/list_concerts?page=3&page_size=20' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace biletinial-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Biletinial Istanbul concerts — browse, drill into detail, inspect sessions."""
from parse_apis.biletinial_com_api import Biletinial, ConcertNotFound
client = Biletinial()
# Browse upcoming Istanbul concerts, capped at 5 total items.
for concert in client.concerts.list(limit=5):
price_info = f"from {concert.minimum_price} {concert.currency}" if concert.minimum_price else "price TBA"
print(f"{concert.title} @ {concert.venue_name} — {price_info}")
# Drill into the first concert's full detail via the derived slug.
concert = client.concerts.list(limit=1).first()
if concert is not None:
detail = concert.refresh()
event = detail.event
print(f"\nDetail: {event.title} ({event.start_date} – {event.end_date})")
for session in event.sessions:
print(f" {session.start_date} {session.start_time} at {session.venue_name} — {session.seats_left} seats left")
# Point lookup by slug read from a previous result.
if concert is not None:
try:
detail = client.concerts.get(event_slug=concert.event_slug)
print(f"\nLooked up: {detail.event.title}, {detail.event.session_count} session(s)")
except ConcertNotFound:
print("Concert no longer listed")
print("\nexercised: concerts.list / Concert.refresh / concerts.get / ConcertNotFound")
Returns Istanbul events in the site's music category (the site's own 'Müzik' filter on its Istanbul city listing; theatre, stand-up, sports and other categories are excluded), one record per event with every Istanbul session (date/venue) nested under sessions, so an event playing several dates or venues appears once. Events are sorted ascending by earliest upcoming start_date. Each call reads the whole live listing (all upstream pages) to build the ordered set, then loads one detail page per event on the requested page for artist, address, district, per-category ticket prices, end time and sold-out state; cost therefore grows with page_size (max 20). Top-level venue_name, venue_address, district, start_date and start_time describe the earliest session; end_date is the date of the latest session's end; minimum_price/maximum_price are the lowest and highest listed ticket-category prices across sessions (TRY, excluding the site's service fee; sessions[*].price_from is the site's fee-inclusive 'from' price); availability is available when any session is on sale, sold_out when all are sold out, otherwise unavailable. discount_percentage is always null: the site publishes no discount information on these pages. artist, venue_address, district and prices can be null when the site does not publish them for an event. failed_events lists events on the page whose detail page could not be loaded. Paging: page (default 1) and page_size (default 10, max 20) select a slice of the ordered event set; pagination.has_next says whether a later page exists.
| Param | Type | Description |
|---|---|---|
| page | integer | 1-based page number over the ordered event set. |
| page_size | integer | Events per page; values above 20 are clamped to 20. |
{
"type": "object",
"fields": {
"city": "always \"Istanbul\"",
"events": "array of event records, each with nested sessions (one per Istanbul date/venue)",
"category": "always \"concert\"",
"pagination": "page, page_size, total_events (distinct events in the live listing), total_sessions, has_next",
"failed_events": "events on this page whose detail page failed (event_id, event_slug, status_code)",
"events[*].venues": "distinct Istanbul venue names across sessions",
"events[*].event_id": "site event id, string",
"events[*].sessions": "array of {seance_id, venue_name, venue_address, district, start_date, start_time, start_datetime, end_datetime, minimum_price, maximum_price, price_from, availability, seats_left}",
"events[*].event_slug": "URL slug identifying the event; input for get_concert"
},
"sample": {
"data": {
"city": "Istanbul",
"events": [
{
"city": "Istanbul",
"title": "Musicandle Concerts “Müziğin Aydınlığı ve Işığın Sesi” Konseri",
"artist": "Musicandle Concerts",
"venues": [
"Saint Antuan Kilisesi"
],
"currency": "TRY",
"district": "Beyoğlu",
"end_date": "2026-10-12",
"event_id": "41642",
"sessions": [
{
"district": "Beyoğlu",
"seance_id": "18493981",
"price_from": 1064,
"seats_left": 36,
"start_date": "2026-09-21",
"start_time": "20:30",
"venue_name": "Saint Antuan Kilisesi",
"availability": "available",
"end_datetime": "2026-09-21T22:30",
"maximum_price": 2500,
"minimum_price": 950,
"venue_address": "123 Main St, Springfield, IL 62704",
"start_datetime": "2026-09-21T20:30"
},
{
"district": "Beyoğlu",
"seance_id": "18582650",
"price_from": 1064,
"seats_left": 77,
"start_date": "2026-10-12",
"start_time": "20:30",
"venue_name": "Saint Antuan Kilisesi",
"availability": "available",
"end_datetime": "2026-10-12T22:30",
"maximum_price": 2500,
"minimum_price": 950,
"venue_address": "123 Main St, Springfield, IL 62704",
"start_datetime": "2026-10-12T20:30"
}
],
"image_url": "https://b6s54eznn8xq.merlincdn.net/Uploads/Films/musicandle-concerts-muzigin-aydinligi-ve-isigin-sesi-20252261723334203d9ad86bb434581a07ca8a8d73cf8.jpg",
"event_slug": "musicandle-concerts-muzigin-aydinligi-ve-isigin-sesi",
"start_date": "2026-09-21",
"start_time": "20:30",
"ticket_url": "https://biletinial.com/tr-tr/muzik/musicandle-concerts-muzigin-aydinligi-ve-isigin-sesi",
"venue_name": "Saint Antuan Kilisesi",
"availability": "available",
"maximum_price": 2500,
"minimum_price": 950,
"session_count": 2,
"venue_address": "123 Main St, Springfield, IL 62704",
"discount_percentage": null
}
],
"category": "concert",
"pagination": {
"page": 1,
"has_next": true,
"page_size": 10,
"total_events": 382,
"total_sessions": 780
},
"failed_events": []
},
"status": "success"
}
}About the Biletinial API
Endpoints and Coverage
The API covers biletinial.com's Istanbul music ("Müzik") category exclusively. Theatre, stand-up, sports, and other event categories are not included. list_concerts returns paginated results sorted by earliest date, with a default and maximum page size of 20 events per page. The top-level response includes city (always "Istanbul"), category (always "concert"), a pagination object with page, page_size, total_events, total_sessions, and has_next, plus a failed_events array listing any event slugs that could not be fully fetched on that page.
Event and Session Fields
Each event record in events carries an event_id, event_slug, and a venues array listing the distinct venue names across all sessions. The nested sessions array is the primary data layer: each session object includes seance_id, venue_name, venue_address, district, start_date, start_time, start_datetime, end_datetime, minimum_price, and availability-related fields. A single event may have multiple sessions if it plays at different dates or venues within Istanbul.
Fetching a Single Event
get_concert accepts a single required input, event_slug, which is the slug emitted by list_concerts. The response wraps a single event record with the same field structure as a list result. The event must currently appear in the live Istanbul music listing; events that have expired or been removed will not resolve. Use this endpoint to retrieve or refresh data for a specific concert without paging through the full listing.
The Biletinial API is a managed, monitored endpoint for biletinial.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when biletinial.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official biletinial.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Display an up-to-date Istanbul concert calendar with venue names and dates from
sessions[*].start_datetime - Track ticket price changes over time using
sessions[*].minimum_priceper event - Filter concerts by Istanbul district using
sessions[*].district - Build venue-specific event feeds by grouping
sessions[*].venue_nameacross events - Alert users when a new event appears in the listing by comparing
total_eventsacross polling runs - Populate a concert detail page using
get_concertwith theevent_slugfrom a listing result - Identify events with multiple Istanbul dates by inspecting the count of
sessionsper event record
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does biletinial.com have an official developer API?+
What does the `sessions` array in a concert record contain?+
sessions represents one Istanbul date-and-venue combination for the event. Fields include seance_id, venue_name, venue_address, district, start_date, start_time, start_datetime, end_datetime, and minimum_price. An event with multiple dates or venues will have a corresponding number of session objects.Does the API cover events in Turkish cities other than Istanbul?+
Are non-music events such as theatre or sports included?+
What happens if an event detail page fails to load during a `list_concerts` call?+
failed_events array, which includes the event_id, event_slug, and status_code. These events are excluded from the events array in that response. You can use the event_slug with get_concert to retry them individually.