Use when you need to search Uber Eats for a store, restaurant, product, or cuisine. Covers the top-of-page search bar, the quirks around search input focus and overlay rendering, filtering to grocery vs restaurants, and picking the right store from results. Only use within an active Uber Eats ordering flow — this is a sub-skill of ubereats-order.
The search bar lives at the top of every Uber Eats page. URL patterns that always work as a starting point:
https://www.ubereats.com/feed — home feed, has search barhttps://www.ubereats.com/search — search results pageNavigate via mcp__playwright__browser_navigate to one of these if you're lost.
This is the #1 reason Uber Eats automation fails. The search "Search Uber Eats" input at the top isn't always immediately typeable. Clicking it often opens an overlay with a different input inside the overlay, and the original click target is no longer the one that receives text.
1. browser_snapshot (depth: 4) — get fresh refs
2. Locate the element described as "Search Uber Eats" OR with placeholder "Search Uber Eats"
3. browser_click on it — this may open an overlay
4. browser_snapshot (depth: 4) AGAIN — the overlay has new refs
5. In the new snapshot, find the input element that is FOCUSED and has an empty value
(look for role="combobox" or role="searchbox" with no value)
6. browser_type on THAT ref, with the search query + slowly=false + submit=true
If browser_type fails with "element not found" or "element not interactable":
browser_fill_form with a single fieldbrowser_evaluate with () => { document.activeElement.value = 'your query'; document.activeElement.dispatchEvent(new Event('input', {bubbles:true})); }browser_press_key character by character (slow but always works)Good queries (in order of preference):
Whole Foods — carries grocery + beer/wine in most locationsGopuff — convenience + alcohol, fast deliveryTotal Wine — alcohol-onlyFood Bazaar / Key Food / C-Town — NYC grocery chainsDuane Reade / CVS — last-resort convenienceSearch by cuisine (pizza, ramen, sushi, tacos) or by name (Shake Shack, Joe's Pizza).
Uber Eats top-level search supports product queries like Modelo 12 pack — it will return stores that carry it. This is often faster than browsing categories.
After submitting a search, browser_snapshot the results page. Look for:
Decision order:
browser_click on its name or main tile) to enter its pageAfter search, Uber Eats shows filter chips near the top:
Grocery / Alcohol / Convenience / Restaurants — click to filterDelivery time / Rating / Price — sort optionsUse these when the initial feed has too many restaurants and you want grocery only.
| Dead end | Escape |
|---|---|
| Search overlay won't close | Press Escape via browser_press_key |
| No results for query | Broaden the query (remove brand, use category: "beer" instead of "Modelo 12 pack") |
| "No stores deliver to your address" | The address is wrong OR the item category isn't deliverable locally. Snapshot, report, try a different category. |
| Search bar is not visible (mid-checkout) | Navigate back to /feed first |
| Infinite scroll loading forever | browser_press_key PageDown to trigger load, or navigate directly to a store URL if you know it |
Before adding to cart, browser_snapshot the store page and verify:
If any of these fail, back out and re-search.
Then invoke the ubereats-add-to-cart skill.