Discover/Ristorante Nautico Bardolino API
live

Ristorante Nautico Bardolino APIristorantenauticobardolino.com ↗

Get the full Ristorante Nautico Bardolino menu as structured JSON: all sections, dish names, EUR prices, and German/English descriptions in one call.

Endpoint health
verified 2h ago
get_menu
1/1 passing latest checkself-healing
Endpoints
1
Updated
2h ago

What is the Ristorante Nautico Bardolino API?

The Ristorante Nautico Bardolino API exposes the restaurant's complete published menu through a single get_menu endpoint, returning up to five menu sections (Antipasti, Primi, Secondi, Contorni, Insalata) with every dish's Italian name, EUR price, and bilingual descriptions in German and English. Each response includes 6 top-level fields — sections, currency, page_title, total_dishes, has_item_prices, and structured per-dish rows — giving you a full machine-readable snapshot of the current menu in one round trip.

This call costs1 credit / call— charged only on success
Try it

No input parameters required.

→ api.parse.bot/scraper/c26fb29c-e560-452d-913f-4a35b097fcba/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/c26fb29c-e560-452d-913f-4a35b097fcba/get_menu' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

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 ristorantenauticobardolino-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: Ristorante Nautico Bardolino menu SDK — one call, full menu."""
from parse_apis.ristorantenauticobardolino_com_api import RistoranteNautico, ExtractionFailed

client = RistoranteNautico()

# Fetch the full current menu in a single round-trip.
try:
    menu = client.menu.get()
except ExtractionFailed:
    print("Menu page could not be extracted — site may have changed layout.")
    raise

print(f"{menu.page_title}  ({menu.currency}, {menu.total_dishes} dishes)")

# Walk every section and its dishes with typed field access.
for section in menu.sections or []:
    print(f"\n== {section.title} — {section.subtitle} ==")
    for dish in section.dishes:
        price = f"{dish.price_eur:.2f} {menu.currency}" if dish.price_eur is not None else dish.price_text
        print(f"  {dish.name}: {price}")
        if dish.description_en:
            print(f"    EN: {dish.description_en}")

print("\nexercised: menu.get / Section / Dish field access")
All endpoints · 1 totalmissing one? ·

Fetches the restaurant's full current menu page in one round trip and returns it as an array of sections, each holding its dishes. One row per dish, with the Italian dish name, German and English descriptions (either may be null when the site omits them), the price exactly as printed (price_text), all numeric EUR amounts parsed from it (prices_eur — a dish with a size choice carries two values, e.g. a small/large salad) and the first of those as price_eur. has_item_prices is true when at least one dish carries a numeric price; at build time every dish did. total_dishes counts dishes across all sections. No parameters; the menu is a single page with no pagination. Returns an extraction failure if the page has no menu sections or no dishes.

Input

No input parameters required.

Response
{
  "type": "object",
  "fields": {
    "currency": "string, ISO currency code of all prices (EUR, read from the € sign on the page)",
    "sections": "array of menu sections, each with title (Italian), subtitle (German · English) and a dishes array of {name, price_text, prices_eur (array of numbers), price_eur (number or null), description_de, description_en}",
    "page_title": "string, HTML title of the menu page",
    "total_dishes": "integer, number of dishes across all sections",
    "has_item_prices": "boolean, true when at least one dish has a numeric price"
  },
  "sample": {
    "data": {
      "currency": "EUR",
      "sections": [
        {
          "title": "Antipasti",
          "dishes": [
            {
              "name": "Luccio con polenta alla Gardesana",
              "price_eur": 14,
              "price_text": "14,00 €",
              "prices_eur": [
                14
              ],
              "description_de": "Seehecht auf Gardesana Art mit Polenta.",
              "description_en": "Gardesana style hake with polenta (corn flour)."
            }
          ],
          "subtitle": "Vorspeisen · Appetizers"
        },
        {
          "title": "Insalata",
          "dishes": [
            {
              "name": "Insalata mista",
              "price_eur": 6,
              "price_text": "6,00 € / 8,00 €",
              "prices_eur": [
                6,
                8
              ],
              "description_de": "Gemischter Salat.",
              "description_en": "Mixed salad."
            }
          ],
          "subtitle": "Salate · Salad"
        }
      ],
      "page_title": "Menù – Ristorante Nautico Bardolino",
      "total_dishes": 21,
      "has_item_prices": true
    },
    "status": "success"
  }
}

About the Ristorante Nautico Bardolino API

What get_menu Returns

The single get_menu endpoint takes no input parameters and returns the restaurant's full menu page as structured JSON. The top-level response carries a page_title string (the HTML title of the menu page), a currency field confirming EUR, a total_dishes integer counting every dish across all sections, and a has_item_prices boolean that is true when at least one dish carries a numeric price.

Section and Dish Structure

The core payload is the sections array. Each element has a title (the Italian section heading, e.g. "Antipasti" or "Secondi"), a subtitle combining the German and English translations of that heading, and a dishes array. Each dish object contains name (Italian), price_text (the price exactly as printed on the menu), prices_eur (the numeric EUR value), and both German and English description strings — either of which may be null when the site omits a translation for that dish.

Coverage and Freshness

The endpoint reflects what is currently published on the restaurant's menu page. All five standard Italian course sections are represented when present. Prices are expressed in EUR, matching the € symbol on the source page. There is no filtering or pagination — the endpoint always returns the full menu in a single response, making it straightforward to diff against a cached version to detect menu changes.

Reliability & maintenanceVerified

The Ristorante Nautico Bardolino API is a managed, monitored endpoint for ristorantenauticobardolino.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when ristorantenauticobardolino.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 ristorantenauticobardolino.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.

Last verified
2h ago
Latest check
1/1 endpoint passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a menu display widget for a Lago di Garda travel guide that shows current dishes and prices.
  • Monitor EUR price changes across menu sections and alert when price_text values shift.
  • Populate a restaurant comparison app with structured dish data using name and prices_eur.
  • Generate translated menu cards by consuming the German and English description fields.
  • Feed a chatbot that answers questions about available courses using section title and dishes arrays.
  • Archive periodic snapshots of the menu to track seasonal dish additions via total_dishes.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 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.

Frequently asked questions
Does Ristorante Nautico Bardolino have an official developer API?+
No. The restaurant's website does not publish a developer API or data feed. This Parse API is the only structured programmatic way to access the menu data.
What does the `get_menu` endpoint return for dishes that have no description?+
The German and English description fields are returned as null for any dish where the site omits those translations. The name and price_text fields are always populated when the dish appears in the menu.
Can I retrieve a single menu section, such as only Antipasti, without fetching the full menu?+
Not currently. get_menu always returns all sections in one response. You can filter the sections array client-side by matching the title field. If section-level filtering on the API side is important, you can fork it on Parse and revise it to add a section query parameter.
Does the API expose wine list, daily specials, or drink menu items?+
Not currently. The API covers the five standard food course sections (Antipasti, Primi, Secondi, Contorni, Insalata) as published on the restaurant's menu page. Beverages, wines, and any separately published specials are not included. You can fork it on Parse and revise it to add an endpoint targeting those additional menu pages if the restaurant publishes them.
How should I detect whether prices are actually present in a response?+
Check the has_item_prices boolean at the top level. It is true when at least one dish in the response carries a numeric value in prices_eur. You can also inspect individual dish objects — prices_eur will be null for any dish listed without a price.
Page content last updated . Spec covers 1 endpoint from ristorantenauticobardolino.com.
Related APIs in Food DiningSee all →