Osteria Sugli Scavi APIosteriasugliscavi.com ↗
Access Osteria Sugli Scavi's current food menu with per-dish prices by section, plus deli shop products (cured meats per 100g) with stock status. Prices in EUR.
What is the Osteria Sugli Scavi API?
The Osteria Sugli Scavi API provides 2 endpoints covering the restaurant's published food menu and its online deli shop. get_menu returns every menu section with dish names, printed price text, and parsed EUR values alongside a price range summary. list_shop_products returns the full deli shop catalog with per-product price, stock status, and product page URL — no parameters required for either endpoint.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/54849cdc-8fdb-415f-abf5-16f2abd78f62/get_menu' \ -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 osteriasugliscavi-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: Osteria sugli Scavi — browse the food menu and deli shop."""
from parse_apis.osteriasugliscavi_com_api import OsteriaSugliScavi, ParseError
client = OsteriaSugliScavi()
# Fetch the full restaurant menu in one call.
try:
menu = client.menus.get()
except ParseError as e:
print(f"Could not load menu: {e.code}")
raise
print(f"{menu.restaurant} — {menu.total_items} dishes, {menu.currency}")
print(f"Price range: {menu.price_range.min_eur}–{menu.price_range.max_eur} EUR")
# Walk each section and its dishes.
if menu.sections is not None:
for section in menu.sections:
print(f"\n== {section.name} ==")
for item in section.items:
desc = f" — {item.description}" if item.description else ""
price = f"{item.price_eur:.2f} EUR" if item.price_eur is not None else item.price_text
print(f" {item.name}: {price}{desc}")
# Browse the online deli shop; limit= caps total items fetched.
for product in client.products.list(limit=5):
stock = "in stock" if product.in_stock else "out of stock"
print(f"{product.name} — {product.price_eur} EUR ({stock})")
print("\nexercised: menus.get / products.list")
Returns the osteria's current published food menu in one request: every menu section (aperitivo snacks, small dishes, sharing boards, gourmet sandwiches) with its dishes, each carrying the Italian dish name, the price as printed (e.g. '€ 1,5 al pz' meaning per piece, or 'x4 € 14' for a board for four), the parsed numeric EUR price of that printed price, and the ingredient description (may be an empty string; for sharing boards the description holds the alternative portion sizes and prices). Also returns total_items and the overall min/max dish price across the menu, useful for estimating a per-person spend. The menu is a single page with no pagination or parameters; sections and items are returned in the site's display order. The site publishes the menu in Italian only.
No input parameters required.
{
"type": "object",
"fields": {
"currency": "ISO currency code of all prices (EUR)",
"sections": "array of menu sections in display order, each with name and items (array of dishes with name, price_text as printed, price_eur parsed number or null, description)",
"restaurant": "restaurant name",
"price_range": "object with min_eur and max_eur, the lowest and highest parsed dish price on the menu",
"total_items": "integer count of dishes across all sections"
},
"sample": {
"data": {
"currency": "EUR",
"sections": [
{
"name": "L’APERITIVO DELL’OSTERIA",
"items": [
{
"name": "Crostino e Salami",
"price_eur": 1.5,
"price_text": "€ 1,5 al pz",
"description": "Fantasia dell’osteria o a vostra scelta."
}
]
},
{
"name": "TOGLITI UNO SFIZIO",
"items": [
{
"name": "Parmigiana nella Bufala",
"price_eur": 10,
"price_text": "€ 10",
"description": "Servita con varietá di pane, Melanzane, Pomodoro, Bufala, Parmiggiano e Basilico."
}
]
},
{
"name": "TAGLIERI DEGLI SCAVI",
"items": [
{
"name": "Salumi Dell’osteria",
"price_eur": 8,
"price_text": "x 2 € 8,00",
"description": "Salami e Formaggi della casa x4 € 14,00/ x6 € 19,00)"
}
]
}
],
"restaurant": "Osteria sugli Scavi",
"price_range": {
"max_eur": 18,
"min_eur": 1.5
},
"total_items": 20
},
"status": "success"
}
}About the Osteria Sugli Scavi API
Menu Data
get_menu returns the complete current food menu for Osteria Sugli Scavi in Peschiera del Garda, Italy. The response includes a sections array in display order, where each section carries a name and an items array. Every dish item includes the Italian name, the price_text as printed on the menu (e.g. € 1,5 al pz for per-piece pricing or x4 € 14 for multi-unit formats), and a parsed price_eur numeric value. The top-level response also returns currency (always EUR), restaurant name, total_items count, and a price_range object with min_eur and max_eur across all dishes.
Deli Shop Data
list_shop_products returns the osteria's online shop inventory, which focuses on cured meats sold by 100g. Each product in the products array includes a product_id string, name, price_eur as a number, an in_stock boolean, and a url pointing to the product's page on the site. The response also includes total (integer count) and currency. The shop currently fits on a single page, so there is no pagination and no parameters are needed.
Coverage and Freshness
Both endpoints reflect the menu and shop listings as currently published on osteriasugliscavi.com. Menu sections span aperitivo snacks, small dishes, sharing boards, and gourmet sandwiches. Price text is returned both as-printed and as a parsed numeric value, which is useful when the source uses Italian decimal formatting (comma as separator) or per-unit notations that differ from a plain decimal price.
The Osteria Sugli Scavi API is a managed, monitored endpoint for osteriasugliscavi.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when osteriasugliscavi.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 osteriasugliscavi.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 the full menu with EUR prices grouped by section in a restaurant discovery app.
- Track price changes across menu items over time by polling
get_menuand comparingprice_eurvalues. - Filter for out-of-stock deli products using the
in_stockboolean fromlist_shop_products. - Build a price comparison tool for local Italian deli products using
price_eurper 100g. - Populate a restaurant detail page with dish names and price ranges using
price_rangefromget_menu. - Alert when new menu sections or items appear by diffing
total_itemsandsectionsacross calls. - Link users directly to a deli product page using the
urlfield returned per product.
| 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 osteriasugliscavi.com offer an official developer API?+
What does the price_text field in get_menu contain, and why is it separate from price_eur?+
price_text field holds the price exactly as printed on the menu, which can include per-unit qualifiers (e.g. € 1,5 al pz meaning per piece, or x4 € 14 for a four-item price). The price_eur field is the parsed numeric value. Both are returned so you can display the human-readable format while still computing with the numeric value.Does the API return drink menus, wine lists, or a beverage selection?+
Does list_shop_products support filtering by stock status or pagination?+
list_shop_products. The full product list is returned in a single response. The in_stock boolean is included per product so you can filter client-side. If the shop grows beyond a single page in the future, you can fork this API on Parse and revise it to add pagination support.