yogastudiozuerich APIyogastudiozuerich.ch ↗
Access class schedules, team profiles, pricing in CHF, and studio rental details from yogastudiozuerich.ch via 5 structured endpoints.
What is the yogastudiozuerich API?
The Yoga Studio Zürich API exposes 5 endpoints covering live class schedules, instructor profiles, CHF pricing, studio rental tiers, and full page content from yogastudiozuerich.ch. The get_class_schedule endpoint returns the current week's yoga and pilates classes with teacher names, spot availability, start/end times, and cancellation status pulled from the Eversports booking system. All endpoints return structured JSON ready for direct integration.
curl -X GET 'https://api.parse.bot/scraper/00e81762-4075-4045-8d74-59e545287c37/get_page_content?page=home' \ -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 yogastudiozuerich-ch-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: Yoga Pilates Studio Zürich SDK — browse schedule, team, and pricing."""
from parse_apis.yogastudiozuerich_ch_api import YogaStudio, Page, PageNotFound
client = YogaStudio()
# Fetch the current week's class schedule and show available classes.
schedule = client.schedules.get_current()
print(f"Week: {schedule.week_start} – {schedule.week_end} ({schedule.total_classes} classes)")
for cls in schedule.classes[:5]:
print(f" {cls.name} | {cls.start} | teacher: {cls.teacher.name} | spots: {cls.spots.free}/{cls.spots.total}")
# Get team members and their specialties.
team = client.teams.get()
print(f"\n{team.title} — {team.subtitle} ({team.total_members} members)")
for member in team.members[:3]:
print(f" {member.name} ({member.role}): {member.specialties}")
# Retrieve pricing for yoga and pilates subscriptions.
pricing = client.pricing.get()
for item in pricing.yoga_prices:
print(f" Yoga: {item.item} → {item.price}")
for item in pricing.pilates_prices:
print(f" Pilates: {item.item} → {item.price}")
# Fetch a specific page's structured content using the Page enum.
try:
page = client.page_contents.get(page=Page.ANGEBOT)
print(f"\nPage '{page.page}' has {len(page.sections)} sections, {len(page.images)} images")
except PageNotFound as e:
print(f"Page not found: {e.message}")
# Studio rental info: location and one-time pricing.
rental = client.rentals.get()
loc = rental.location
print(f"\nStudio: {loc.address}, {loc.zip} {loc.city} ({loc.district})")
for rate in rental.pricing.one_time_yoga_room:
print(f" Yoga room: {rate.duration} → {rate.price}")
print("\nexercised: schedules.get_current / teams.get / pricing.get / page_contents.get / rentals.get")
Extracts structured content from a specific page of the website including headings, text, navigation links, images, and internal links. Returns all visible content organized by sections for site recreation.
| Param | Type | Description |
|---|---|---|
| page | string | Which page to extract content from. |
{
"type": "object",
"fields": {
"url": "string - full URL of the page",
"page": "string - the page identifier",
"links": "array of all page links with text and URL",
"images": "array of image objects with src URL and alt text",
"sections": "array of heading objects with heading text, level, and associated content",
"navigation": "array of navigation link objects",
"text_content": "array of text elements with tag type and text"
},
"sample": {
"data": {
"url": "https://www.yogastudiozuerich.ch/",
"page": "home",
"links": [
{
"url": "https://www.yogastudiozuerich.ch",
"text": "HOME"
}
],
"footer": null,
"images": [
{
"alt": "Instagram",
"src": "https://static.wixstatic.com/media/01c3aff52f2a4dffa526d7a9843d46ea.png/v1/fill/w_20,h_20,al_c,q_85/01c3aff52f2a4dffa526d7a9843d46ea.png"
}
],
"sections": [
{
"level": "h6",
"content": null,
"heading": "dein Ausgleich, deine Zeit."
},
{
"level": "h2",
"content": null,
"heading": "dein Studio im Kreis 4."
}
],
"navigation": [
{
"href": "https://www.yogastudiozuerich.ch",
"label": "HOME"
},
{
"href": "https://www.yogastudiozuerich.ch/angebot",
"label": "ANGEBOT"
}
],
"text_content": [
{
"tag": "h6",
"text": "dein Ausgleich, deine Zeit."
},
{
"tag": "h2",
"text": "dein Studio im Kreis 4."
},
{
"tag": "p",
"text": "Mitten im lebendigen Kreis 4 findest du Raum für Ruhe, Bewegung und neue Energie."
}
]
},
"status": "success"
}
}About the yogastudiozuerich API
Class Schedules and Booking Data
The get_class_schedule endpoint returns the current week's full class lineup. Each class object includes a unique id, name, category, teacher, ISO-formatted start and end times, available spots, and a cancellation status flag. The response also includes week_start and week_end window timestamps and a total_classes count. The schedule refreshes weekly and reflects the Eversports booking system in real time.
Team, Pricing, and Studio Rental
get_team returns every instructor and therapist listed on the team page, including each member's name, role, and specialties array, along with an introductory paragraph and total_members count. get_pricing delivers yoga and pilates price lists as CHF-denominated arrays (yoga_prices, pilates_prices), plus schnupper_abo trial details, abo_information terms, and payment_info. get_studio_rental breaks down rental costs across four spaces — yoga room, pilates room, therapy room, and full house — with separate one-time and monthly pricing arrays, a cancellation_policy array, location fields including address and district, a contact_email, and a studio_description object listing facilities, equipment, and suitable activities.
General Page Content
get_page_content accepts an optional page parameter and returns structured content for any page on the site. The response includes sections (headings with level and associated body text), navigation links, images with src and alt, internal links, and a text_content array of tagged text elements. This endpoint provides everything needed to mirror or index the full site content.
The yogastudiozuerich API is a managed, monitored endpoint for yogastudiozuerich.ch — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when yogastudiozuerich.ch 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 yogastudiozuerich.ch 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 the current weekly yoga and pilates schedule on a third-party booking or wellness aggregator app using
get_class_schedule. - Show real-time spot availability and cancellation flags for each class to help users plan attendance.
- Build an instructor directory page using
name,role, andspecialtiesfromget_team. - Render a localized pricing table in CHF for yoga and pilates subscriptions and single entries from
get_pricing. - List studio rental options with per-room rates and cancellation terms for event or therapy space seekers via
get_studio_rental. - Recreate or mirror the full yogastudiozuerich.ch site structure using
get_page_contentwith thepageparameter. - Extract location and directions data from
get_studio_rentalto embed in a maps widget.
| 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 yogastudiozuerich.ch have an official developer API?+
What does `get_class_schedule` return and how current is it?+
id, name, category, teacher, ISO start/end times, spots remaining, and a cancellation status. The week_start and week_end fields show the time window covered. The schedule refreshes weekly in line with the Eversports booking system.Does the API return individual instructor biography pages or photos?+
get_team returns each member's name, role, and specialties along with the team page introduction. Individual biography pages and instructor photos are not currently returned as separate objects. You can fork this API on Parse and revise it to add an endpoint targeting individual instructor profile pages.Can I retrieve pricing for a specific class type only, or is it all returned together?+
get_pricing returns all pricing in one response: separate yoga_prices and pilates_prices arrays, schnupper_abo trial details, abo_information terms, and payment_info. There is no filter parameter to request one category in isolation. You can fork this API on Parse and revise it to add a filter parameter if you need category-scoped responses.Is historical class schedule data available?+
get_class_schedule covers the current week only. Past schedules and historical attendance data are not exposed. You can fork this API on Parse and revise it to add scheduling logic that archives weekly snapshots.