Discover/Rosselli Group API
live

Rosselli Group APIrosselligroup.eu ↗

Retrieve menu PDF links, reservation details, and social profiles from Rosselli Group venue pages like Forte dei Cappuccini in one API call.

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

What is the Rosselli Group API?

The Rosselli Group EU API exposes 1 endpoint — get_venue_menu_links — that returns up to 8 structured fields per venue page, including every menu PDF link (with label, URL, category, and year), reservation contact details, social profile links, and the latest-year menu set. It covers confirmed venue slugs such as forte-dei-cappuccini and pub-due and resolves current menus automatically by comparing file-name years.

This call costs1 credit / call— charged only on success
Try it
Venue page slug as it appears in the page URL path on the site. Confirmed slugs: forte-dei-cappuccini, pub-due-ruote.
→ api.parse.bot/scraper/b8e4e78d-b850-40e1-9c42-b5b592a7d3ea/<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/b8e4e78d-b850-40e1-9c42-b5b592a7d3ea/get_venue_menu_links?page_slug=forte-dei-cappuccini' \
  -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 rosselligroup-eu-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: Rosselli Group venue menus — fetch menus and reservation info."""
from parse_apis.rosselligroup_eu_api import RosselliGroup, VenueNotFound

client = RosselliGroup()

# Fetch venue details by page slug (defaults to forte-dei-cappuccini).
try:
    venue = client.venues.get(page_slug="forte-dei-cappuccini")
except VenueNotFound:
    print("Venue page not found")
    raise

print(f"{venue.name} — last modified {venue.page_last_modified}")
print(f"Latest menu year: {venue.latest_menu_year}")

# Current-year menus: restaurant cards, wine lists, etc.
for menu in venue.current_menus:
    print(f"  [{menu.category}] {menu.label} ({menu.year}) -> {menu.url}")

# Full archive of all menu links across years.
for menu in venue.menu_links:
    print(f"  {menu.label} ({menu.year}): {menu.url}")

# Reservation details
res = venue.reservation
if res is not None:
    print(f"Phone: {res.phone}")
    print(f"Booking URL: {res.booking_url}")
    print(f"Request form on page: {res.request_form_on_page}")

# Social links
for link in venue.social_links:
    print(f"{link.label}: {link.url}")

print("exercised: venues.get")
All endpoints · 1 totalmissing one? ·

Returns every menu PDF link published on one Rosselli Group venue page, in one round trip. Each menu link carries its on-page label, absolute URL, a category inferred from the label/filename (restaurant, wine, drinks, dessert, or other) and the year found in the file name (null when the file name has no year). latest_menu_year is the highest year among the links and current_menus is the subset of menu_links for that year, so callers get the current season's menus without filtering. reservation reports what the page offers for booking: booking_url is null when the venue has no online booking link (the venues checked publish a phone number and an on-page request form instead), phone is the number shown in the reservation section, and request_form_on_page says whether a request form exists on the page. page_last_modified is the site's own last-edit timestamp (site local time, no offset). An unknown page_slug returns a stale_input (input_not_found) error; menu_links is never empty on success.

Input
ParamTypeDescription
page_slugstringVenue page slug as it appears in the page URL path on the site. Confirmed slugs: forte-dei-cappuccini, pub-due-ruote.
Response
{
  "type": "object",
  "fields": {
    "venue": "venue name as titled on the page",
    "page_url": "canonical URL of the venue page",
    "menu_links": "array of {label, url, category, year} for every menu PDF on the page, in page order",
    "reservation": "object {booking_url (string or null), phone (string or null), request_form_on_page (boolean), page_url}",
    "social_links": "array of {label, url} social profile links shown on the page",
    "current_menus": "array of menu link objects (same shape as menu_links) whose year equals latest_menu_year",
    "latest_menu_year": "integer, highest year found among menu file names (null if none carry a year)",
    "page_last_modified": "site last-edit timestamp of the page, ISO-like without offset"
  },
  "sample": {
    "data": {
      "venue": "FORTE DEI CAPPUCCINI",
      "page_url": "https://www.rosselligroup.eu/forte-dei-cappuccini/",
      "menu_links": [
        {
          "url": "https://www.rosselligroup.eu/wp-content/uploads/2023/05/FORTE-DEI-CAPPUCCINI-Menu-2022.pdf",
          "year": 2022,
          "label": "Sfoglia Il Menù",
          "category": "restaurant"
        },
        {
          "url": "https://www.rosselligroup.eu/wp-content/uploads/2026/03/FORTE-DEI-CAPPUCCINI-Menu-2026_BLU.pdf",
          "year": 2026,
          "label": "RISTORANTE",
          "category": "restaurant"
        },
        {
          "url": "https://www.rosselligroup.eu/wp-content/uploads/2025/05/PETISSO-Selection-2025_online.pdf",
          "year": 2025,
          "label": "PETISSO SELECTION",
          "category": "other"
        },
        {
          "url": "https://www.rosselligroup.eu/wp-content/uploads/2026/03/FORTE-DEI-CAPPUCCINI-Lista-vini-2026_BORDEAUX.pdf",
          "year": 2026,
          "label": "CARTA DEI VINI",
          "category": "wine"
        },
        {
          "url": "https://www.rosselligroup.eu/wp-content/uploads/2026/03/FORTE-DEI-CAPPUCCINI-Menu-dolci-2026_ARANCIO.pdf",
          "year": 2026,
          "label": "DOLCI",
          "category": "dessert"
        }
      ],
      "reservation": {
        "phone": "+39 0456 40 19 74",
        "page_url": "https://www.rosselligroup.eu/forte-dei-cappuccini/",
        "booking_url": null,
        "request_form_on_page": true
      },
      "social_links": [
        {
          "url": "https://www.facebook.com/fortecappuccini",
          "label": "Facebook"
        }
      ],
      "current_menus": [
        {
          "url": "https://www.rosselligroup.eu/wp-content/uploads/2026/03/FORTE-DEI-CAPPUCCINI-Menu-2026_BLU.pdf",
          "year": 2026,
          "label": "RISTORANTE",
          "category": "restaurant"
        },
        {
          "url": "https://www.rosselligroup.eu/wp-content/uploads/2026/03/FORTE-DEI-CAPPUCCINI-Lista-vini-2026_BORDEAUX.pdf",
          "year": 2026,
          "label": "CARTA DEI VINI",
          "category": "wine"
        },
        {
          "url": "https://www.rosselligroup.eu/wp-content/uploads/2026/03/FORTE-DEI-CAPPUCCINI-Menu-dolci-2026_ARANCIO.pdf",
          "year": 2026,
          "label": "DOLCI",
          "category": "dessert"
        }
      ],
      "latest_menu_year": 2026,
      "page_last_modified": "2026-03-30T23:21:47"
    },
    "status": "success"
  }
}

About the Rosselli Group API

What the API Returns

The single get_venue_menu_links endpoint accepts an optional page_slug parameter — a string matching the venue's URL path segment, such as forte-dei-cappuccini or pub-due. The response includes the venue's display name (venue), the canonical page URL (page_url), and the site's last-edit timestamp (page_last_modified) in an ISO-like format without timezone offset.

Menu Link Data

The menu_links array contains one object per PDF found on the page. Each object carries a label (the on-page text), an absolute url, a category inferred from the label or filename (restaurant, wine, drinks, dessert, or other), and a year integer extracted from the filename (or null if none is present). The current_menus field filters that array down to only the entries whose year matches latest_menu_year, making it straightforward to surface the most recent offerings without additional client-side logic.

Reservation and Social Data

The reservation object bundles the booking URL (booking_url, string or null), a phone number (phone, string or null), a flag indicating whether a request form appears on the page (request_form_on_page boolean), and the source page_url. The social_links array lists each social profile shown on the page as a {label, url} pair, covering platforms like Facebook or Instagram wherever they appear in the venue page.

Reliability & maintenanceVerified

The Rosselli Group API is a managed, monitored endpoint for rosselligroup.eu — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when rosselligroup.eu 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 rosselligroup.eu 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
  • Embed current restaurant menus on a third-party hospitality aggregator by pulling current_menus for each venue slug
  • Build a wine-list browser by filtering menu_links where category equals wine
  • Sync reservation phone numbers and booking URLs into a CRM or booking widget using the reservation object
  • Track menu updates over time by storing and comparing page_last_modified timestamps across polling intervals
  • Populate a venue directory with social media profile links using the social_links array
  • Alert staff when a new menu year appears by monitoring changes in latest_menu_year between requests
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 Rosselli Group publish an official developer API for its venue data?+
No. Rosselli Group does not publish a public developer API or documented data feed for its venue pages. This Parse API is the structured programmatic access point for that data.
How does `current_menus` differ from `menu_links`?+
menu_links contains every menu PDF found on the page in page order. current_menus is a filtered subset containing only those entries whose year field matches latest_menu_year — the highest year found across all menu filenames. If no filenames carry a year, both latest_menu_year and current_menus will reflect that with null or an empty result.
Does the API cover multiple Rosselli Group venues?+
Two venue slugs are confirmed: forte-dei-cappuccini and pub-due. These are the slugs documented in the page_slug parameter. Other venue pages on the domain are not currently covered. You can fork the API on Parse and revise it to add support for additional venue slugs.
Can I retrieve menu item names, descriptions, or prices through this API?+
Not currently. The API returns PDF links with labels, categories, and years — it does not parse the contents of those PDFs for individual dish names, descriptions, or prices. You can fork the API on Parse and revise it to add a PDF-parsing endpoint if that data is accessible from the linked files.
How fresh is the data returned by `get_venue_menu_links`?+
The page_last_modified field reflects the site's own last-edit timestamp for the venue page, giving you a signal for when the source content changed. Freshness depends on how frequently you call the endpoint — there is no push or webhook mechanism, so stale data is possible if the page is updated between your requests.
Page content last updated . Spec covers 1 endpoint from rosselligroup.eu.
Related APIs in Food DiningSee all →
osteriarivelin.com API
osteriarivelin.com API
vecchiomulinobeach.com API
vecchiomulinobeach.com API
ristorantenauticobardolino.com API
ristorantenauticobardolino.com API
menupages.com API
Access restaurant menu data from MenuPages including all categories, items with descriptions and prices, plus customization options and modifiers. Search for specific menus or individual menu items to build restaurant catalogs, comparison tools, or delivery app integrations.
sevenrooms.com API
Search for available restaurant tables across any SevenRooms venue, view venue details and open dates, and complete reservations all in one place. Whether you're planning ahead or booking last-minute, you can check real-time availability and secure your table at thousands of restaurants on the SevenRooms platform.
thefork.it API
Search and discover Italian restaurants by cuisine, location, or ratings, then access detailed information like menus, reviews, and availability across major cities in Italy. Find top-rated dining options and compare restaurant details to plan your perfect meal.
deliveroo.co.uk API
Search for restaurants and retrieve menus from Deliveroo UK. Look up restaurants by keyword and postcode, or fetch full menu details for any Deliveroo restaurant by URL.
resy.com API
Search for restaurants across cities and check real-time availability to find open reservation slots on Resy. Discover trending and top-rated venues with detailed information about dining options, menus, and available time slots across selected dates.