Get a venue's verified beer menu (section-paged)
untappd_venue_menuFetch a venue's full beer menu as a flat list by paging through every section, so multi-section menus are not under-reported. Resumable with an offset; cached 6 hours.
Instructions
Return a venue's verified beer menu as a flat, compact list of beers. untappd_venue_info returns only the FIRST section of each menu (Untappd defaults the section list to one), so it silently under-reports any venue whose menu spans multiple sections — e.g. a 23-beer wall that comes back with 2 items. This tool forwards the section_limit / section_offset paging params venue/info echoes back but never receives, walks sections up to a per-call max_pages budget (respecting the ~100 calls/hour limit — it does NOT loop to completion in one call), and flattens to [{bid, name, brewery, brewery_id, style, abv, price, serving_type, menu, section}]. Like the sync tools it is resumable: when the budget runs out before full coverage it returns another_run_needed:true plus next_section_offset to pass back on the next call. truncated:true means the upstream returned no more sections short of total_count (e.g. it ignored the paging params) — not resumable. Results are cached locally for 6 hours per venue + paging params (cache.hit, fetched_at, expires_at) so repeated trip planning does not re-spend calls; refresh:true re-fetches. With the cache, the result also carries favorite {is_favorite, sources, reason} for the venue, and favorite / brewery_favorite on each beer that is one (derived from username's history or added with untappd_favorite_add; default your account) — applied on read, so never stale. Get an id from untappd_search_venue. Read-only.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | Menu sort key (e.g. 'publish_order', 'highest_rated'). Optional. | |
| menu_id | No | Restrict to a single menu id (from a prior result). Optional. | |
| refresh | No | Bypass the 6-hour local cache and call Untappd (default false) | |
| username | No | Whose favorites to mark (cache only; default your configured account) | |
| venue_id | Yes | Untappd venue id | |
| max_pages | No | API calls to spend THIS run — page budget, not page size (default 3). Resume with next_section_offset if another_run_needed. | |
| section_limit | No | Sections fetched per API call — page size (default 50). | |
| section_offset | No | Section offset to start from; pass a prior next_section_offset to resume (default 0). |