Aquardens APIaquardens.it ↗
Access Aquardens thermal park data: opening hours by date and area, ticket prices, location/directions, and FAQ entries via 4 structured JSON endpoints.
What is the Aquardens API?
The Aquardens API exposes 4 endpoints covering the full public information surface of the Aquardens thermal park in Verona: date-resolved opening hours per area, current ticket and promotion prices, location and directions, and the official FAQ. The get_opening_hours endpoint resolves park-wide and per-area hours for any calendar date in the Europe/Rome timezone, including special opening overrides and a link to the holiday calendar.
curl -X GET 'https://api.parse.bot/scraper/f89a6e22-585c-476c-89fc-19b2f1079e25/get_opening_hours?date=2026-10-11' \ -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 aquardens-it-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: Aquardens thermal park API — bounded, re-runnable."""
from parse_apis.aquardens_it_api import Aquardens, ShopCategory, InputFormatInvalid
client = Aquardens()
# Check today's opening hours for the whole park and each area.
hours = client.opening_hours.get()
print(f"{hours.date} ({hours.weekday}): {hours.park_hours_on_date.opens}–{hours.park_hours_on_date.closes}")
for area in hours.areas:
print(f" {area.area}: {area.hours_on_date.opens}–{area.hours_on_date.closes}")
# Browse admission tickets with current prices.
for ticket in client.tickets.list(category=ShopCategory.TICKETS, limit=3):
print(f"{ticket.name} €{ticket.price} (list €{ticket.list_price}) online={ticket.purchasable_online}")
# Look up a specific date — handle an invalid format gracefully.
try:
weekend = client.opening_hours.get(date="2026-10-11")
print(f"Weekend hours: {weekend.park_hours_on_date.opens}–{weekend.park_hours_on_date.closes}")
except InputFormatInvalid:
print("Invalid date format supplied")
# Location and directions.
loc = client.locations.get()
print(f"{loc.venue_name}: {loc.address} ({loc.latitude}, {loc.longitude})")
for direction in loc.how_to_reach:
print(f" {direction.mode}: {direction.details[:80]}")
# Search FAQs for booking-related entries.
faq = client.faq_entries.list(query="prenot", limit=3).first()
if faq is not None:
print(f"Q: {faq.question}\nA: {faq.answer[:120]}")
print("exercised: opening_hours.get / tickets.list / locations.get / faq_entries.list")
Returns the park's official opening hours resolved for one calendar date (Europe/Rome), plus the full weekly schedule and upcoming dated special openings. Hours are given park-wide and per area (Area Terme, Area Saune, Area Massage & Beauty). hours_on_date.is_special_opening is true when a dated holiday/special-opening override applies to that date; closing times after midnight appear as e.g. 00:30. special_openings and park_special_openings list only overrides ending on or after the requested date (may be empty). One page fetch.
| Param | Type | Description |
|---|---|---|
| date | string | ISO date YYYY-MM-DD to resolve hours for. Omitted = today in the park's timezone (Europe/Rome). Invalid format returns a 422. |
{
"type": "object",
"fields": {
"date": "resolved ISO date",
"areas": "array per area: {area, weekly_hours[{days[], opens, closes}], hours_on_date{opens, closes, is_special_opening}, special_openings[]}",
"weekday": "english weekday name of date",
"timezone": "IANA timezone the hours refer to",
"park_weekly_hours": "object keyed by english weekday with {opens, closes}",
"park_hours_on_date": "object {opens, closes, is_special_opening} for the whole park on date",
"holiday_calendar_url": "link to the site's published holiday calendar document",
"park_special_openings": "array of dated overrides {from_date, to_date, opens, closes} ending on/after date"
},
"sample": {
"data": {
"date": "2026-10-04",
"areas": [
{
"area": "Area Terme",
"weekly_hours": [
{
"days": [
"monday",
"tuesday",
"wednesday",
"thursday"
],
"opens": "10:00",
"closes": "23:00"
},
{
"days": [
"sunday"
],
"opens": "09:00",
"closes": "23:00"
}
],
"hours_on_date": {
"opens": "09:00",
"closes": "23:00",
"is_special_opening": false
},
"special_openings": []
},
{
"area": "Area Saune",
"weekly_hours": [
{
"days": [
"sunday"
],
"opens": "11:00",
"closes": "22:30"
}
],
"hours_on_date": {
"opens": "11:00",
"closes": "22:30",
"is_special_opening": false
},
"special_openings": []
}
],
"weekday": "sunday",
"timezone": "Europe/Rome",
"park_weekly_hours": {
"friday": {
"opens": "10:00",
"closes": "00:30"
},
"monday": {
"opens": "10:00",
"closes": "23:00"
},
"sunday": {
"opens": "09:00",
"closes": "23:00"
},
"saturday": {
"opens": "09:00",
"closes": "00:30"
}
},
"park_hours_on_date": {
"opens": "09:00",
"closes": "23:00",
"is_special_opening": false
},
"holiday_calendar_url": "https://static.aquardens.it/production/ITA-Festivita-Aquardens.pdf",
"park_special_openings": []
},
"status": "success"
}
}About the Aquardens API
Opening Hours and Area Schedules
The get_opening_hours endpoint accepts an optional date parameter in ISO YYYY-MM-DD format and returns resolved hours for three areas — Area Terme, Area Saune, and Area Massage & Beauty — plus park-wide hours. Each area includes a weekly_hours array (days, opens, closes), an hours_on_date object with an is_special_opening flag, and a special_openings array of dated overrides that have not yet ended. The park_special_openings field lists range-based overrides with from_date, to_date, opens, and closes. If no date is provided, the response defaults to today in the Europe/Rome timezone.
Tickets and Promotions
list_tickets returns every product in a given shop category — admissions, promotions, special events, the Skyliner experience, massages, or gift vouchers. Each product record includes product_id, sku, name, categories, a numeric price (current online price), list_price (undiscounted), and currency (EUR). A boolean evening_only filter narrows results to evening admission products. The total_products_in_category field tells you the full category count before any filtering is applied.
Location, Contacts, and Directions
get_location_and_contacts requires no inputs and returns the park's street address, latitude and longitude, a google_maps_url, the company_name of the operating entity, and a how_to_reach array covering car, bus, train, and plane directions. Contact cards include customer service, massage bookings, and the medical centre, each with a title, details, link_label, and link.
FAQ
get_faq returns the park's Italian-language official FAQ entries, each tagged with a section, question, and answer. Topics include advance booking requirements, age limits, what to bring, and re-entry policy. An optional query parameter filters entries by case-insensitive substring match against both question and answer text. The total_faq_entries field always reflects the total count on the site, regardless of filtering.
The Aquardens API is a managed, monitored endpoint for aquardens.it — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when aquardens.it 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 aquardens.it 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 today's opening hours per thermal area in a travel app using
get_opening_hourswith no date parameter - Alert users to upcoming special openings by checking
park_special_openingsentries fromget_opening_hours - Compare current online ticket prices against list prices to surface active discounts via
list_tickets - Filter evening admission products for a nightlife aggregator using the
evening_onlyparameter inlist_tickets - Populate a venue detail page with address, coordinates, and multi-modal directions from
get_location_and_contacts - Build a chatbot that answers common visitor questions by querying
get_faqwith a keywordquery - Pre-fill booking confirmation emails with accurate contact cards for massage or medical centre from
get_location_and_contacts
| 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 Aquardens provide an official public developer API?+
How does `get_opening_hours` handle special opening dates versus regular weekly hours?+
hours_on_date returns the resolved opens and closes values alongside an is_special_opening boolean. If the date falls within a special opening range, is_special_opening is true and the hours reflect the override. The park_special_openings and per-area special_openings arrays let you inspect all future overrides at once. A holiday_calendar_url is also returned pointing to the site's published calendar document.Are user reviews or visitor ratings for Aquardens available?+
Are spa treatment details or room/cabin availability exposed?+
list_tickets returns pricing and terms for product categories including massages, but live availability or individual treatment schedules are not exposed. You can fork the API on Parse and revise to add an endpoint targeting treatment booking availability.What languages are the FAQ entries returned in?+
query filter is case-insensitive substring matching across both question and answer fields, so Italian search terms work as expected. The total_faq_entries field always reflects the full count regardless of any filter applied.