Your Fooda office lunch history, subsidy and this week's popups in a terminal, with vendor and spend analytics the app does not offer.
Fooda has no public API. This CLI reads the logged-in web app with your Chrome session, syncs your order history locally, and answers questions like what you ate, where you keep ordering, and how much subsidy you have left today.
Authentication
Fooda sits behind Cloudflare and has no API key. Log in to app.fooda.com in Chrome, then run auth login --chrome to import your session cookies, or use auth login --cookies-file <file> to import cookies from a JSON file. The CLI never logs in itself.
Quick Start
# Check the install without needing a session
fooda-pp-cli doctor --dry-run
# See how much of today's subsidy is left
fooda-pp-cli subsidy-status
# See what is being served this week
fooda-pp-cli week-ahead
# Check whether today's order was delivered
fooda-pp-cli delivery-status
# Pull your order history into the local store
fooda-pp-cli sync
# See which vendors you order from most
fooda-pp-cli venue-rotation --since 120d
Recipes
Budget-optimized lunch planning
fooda-pp-cli order plan --event S609348 --budget 20 --anchor "Beef Bulgogi Bowl"
Suggests a budget-optimized add-on item from the event menu.
Vendor fatigue check
fooda-pp-cli venue-rotation --since 120d --agent --select vendor,order_count,last_ordered
Shows only the fields needed to see repeat vendors.
Monthly subsidy report
fooda-pp-cli spend-trends --since 6mo --group-by month
Splits covered and out-of-pocket spend per month.
Vegan options today
fooda-pp-cli menu-search vegan
Searches every event menu for the term.
Did today's lunch arrive?
fooda-pp-cli delivery-status --agent
Reports each order on the date as delivered, scheduled, or unknown, with the delivery text, vendor and items. It reads order history because a delivered event no longer appears in events or week-ahead.
Limitations & Anti-Triggers
- Ordering Support: Ordering is supported via
order add and order place when using --confirm. Automated agents must never pass --confirm without explicit user intent.
- Cancellation Limitation: The
order cancel command is not supported (please cancel manually in the Fooda app).
whoami Cloudflare Constraints: The whoami command is heavily limited by Cloudflare challenges. It fallbacks to greeting pages; account and building IDs are extracted from the home page.
- Delivered events disappear: Once a day's delivery completes, Fooda drops that event from
events and week-ahead, and the My Fooda page jumps to the next day with no status. A missing event for today does not mean there was no order. Run delivery-status instead, which reads order history (Delivered on … versus Delivering on … between …). Orders report the same checkout_complete status whether they were delivered or are still scheduled, so the delivery text is the only delivered-versus-scheduled signal.
Unique Features
These capabilities aren't available in any other tool for this API.
Local history that compounds
-
served-history — See every lunch you were actually served, with date, vendor, items and price.
Use when an agent needs a longitudinal record of what a person ate rather than today's menu.
fooda-pp-cli served-history --since 90d --agent
-
venue-rotation — Rank vendors by how often and how recently you ordered from them.
Use to spot vendor fatigue or under-used favorites before choosing lunch.
fooda-pp-cli venue-rotation --since 120d --agent
-
spend-trends — Spend per month or week, split into subsidy-covered and out-of-pocket.
Use for budget or subsidy-utilization reporting.
fooda-pp-cli spend-trends --since 6mo --group-by month --agent
Lunch planning
-
week-ahead — One-line-per-day digest of upcoming events and restaurants at your building.
Use for a quick morning check of what is being served this week.
fooda-pp-cli week-ahead --agent
-
subsidy-status — Remaining dollars of today's subsidy and when it is valid.
Use before ordering to know how much of the meal is covered.
fooda-pp-cli subsidy-status --agent
-
menu-search — Search menu items across all of today's events.
Use for dietary or craving lookups without opening each vendor page.
fooda-pp-cli menu-search vegan --agent
-
delivery-status — Whether your order for a day (default today) was delivered, with delivery time, vendor and items.
Use to confirm lunch arrived; delivered events drop off events and week-ahead, so a missing event does not mean there was no order.
fooda-pp-cli delivery-status --agent