Fetching event dates¶
In this tutorial you will learn how to go from a product group to the individual event dates it contains — each with its own date, venue, city, and ticket availability.
Prerequisites¶
- Completed Your first Eventim query
- pyventim installed
What are products?¶
In Eventim's data model:
- A product group is the top-level event or tour (e.g. "Rammstein Stadium Tour 2025").
- A product is one specific date of that tour — a single concert at a single venue.
products() uses a different endpoint than the public search API; it fetches data from Eventim's private component API and parses HTML-embedded JSON. This is why it requires a product_group_id rather than a search term.
Step 1 — Find a product group ID¶
From the previous tutorial you know how to iterate product groups. The product_group_id attribute holds the ID you need:
from pyventim import EventimClient, EventimMarket
client = EventimClient(EventimMarket.GERMANY)
for product_group in client.product_groups(categories=["Concerts"], page_limit=1):
print(product_group.product_group_id, product_group.name)
break # just grab the first one
Step 2 — Fetch individual dates¶
Pass the product_group_id to products():
for event in client.products(product_group_id=12345, page_limit=1):
print(event.name, event.start_date, event.city)
products() returns an iterator of EventimPrivateCalendarContentEvent objects, each representing one bookable date.
Step 3 — Putting it together¶
from pyventim import EventimClient, EventimMarket
client = EventimClient(EventimMarket.GERMANY)
# Find a product group
for product_group in client.product_groups(categories=["Concerts"], page_limit=1):
print(f"Tour: {product_group.name}")
# Fetch its individual dates
for event in client.products(product_group.product_group_id, page_limit=1):
print(f" {event.start_date} {event.name} ({event.city})")
break # only process the first product group
Run it:
What you learned¶
- The difference between product groups and products (individual dates)
- How to use
products()with aproduct_group_id - That
products()uses a private API endpoint under the hood
Next steps¶
Now that you can fetch events and dates, the how-to guides show you how to narrow results using filters like date ranges, cities, and ticket types.