Restaurant Dish Photo Matcher — Photos to Menu Items avatar

Restaurant Dish Photo Matcher — Photos to Menu Items

Pricing

from $6.00 / 1,000 photo matcheds

Go to Apify Store
Restaurant Dish Photo Matcher — Photos to Menu Items

Restaurant Dish Photo Matcher — Photos to Menu Items

Match restaurant food & drink photos to the menu items they show, using AI vision. Feed it photo URLs — or a Google Maps place to scrape guest photos — plus your menu, and get {photoUrl, dishName} pairs back. Perfect for adding real photos to parsed menus. BYO Gemini key.

Pricing

from $6.00 / 1,000 photo matcheds

Rating

0.0

(0)

Developer

Nomad Dev

Nomad Dev

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

Restaurant Dish Photo Matcher — Photos → Menu Items

Use AI vision to predict which supplied menu item, if any, appears in each restaurant food or drink photo. Unmatched or uncertain photos remain null. This actor joins menus and otherwise unlabeled guest photos:

  • Input: your menu (JSON array of items) + uploaded food/drink photos, direct photoUrls, or a Google Maps placeUrl whose "Food & drink" guest photos are scraped automatically.
  • Output: one record per photo — {photoUrl, dishName, matched}, with dishName the exact menu item name or null when nothing matches.

Photos are matched in batches of 9 by visual appearance; hallucinated names (not on your menu) are filtered to null automatically. Ported from the production photo-matching pipeline of a dietary-restrictions travel app.

Bring your own Gemini key

Matching runs on your Google AI Studio key (get one free) — you control the AI cost. A Gemini key is required for customized live runs. In place mode, an Outscraper key is recommended for reliable Google Maps photo discovery.

Input example

{
"placeUrl": "https://www.google.com/maps/place/Katz's+Delicatessen,+205+E+Houston+St,+New+York",
"menuItems": [
{"name": "Pastrami on Rye", "category": "Sandwiches"},
{"name": "Matzo Ball Soup", "category": "Soups"}
],
"geminiApiKey": "AIza…"
}

Notes

  • The untouched keyless Console run returns one deterministic match example labelled recordType: "DEMO" / isDemo: true. It scrapes no photos, calls no model and has no Actor event charge. Customize the input and add your Gemini key; an Outscraper key is optional for place-photo lookup.
  • menuItems accepts plain strings too: ["Pastrami on Rye", "Matzo Ball Soup"].
  • The Console accepts local JPEG, PNG, or WebP uploads in photoUrls; API callers may also provide URLs, base64 data URIs, or raw base64.
  • photoUrl remains a real sanitized HTTP(S) URL when one exists; inline images use photoUrl: null plus a non-sensitive photoRef fingerprint.
  • Place mode: set the outscraperApiKey input (free tier available) — Google's signed-out "limited view" hides the Maps photo gallery from automated browsers, and Outscraper's API returns the full tagged photo set instead. The browser fallback (with the Apify residential proxy) currently reaches only the place's cover photo.
  • Full Google Maps URLs and maps.app.goo.gl short links are accepted; short links are resolved only to trusted Google Maps destinations.
  • Chain it: Google Maps Menu Scraper (or AI Menu Parser) extracts the structured menu, then this actor proposes photo-to-dish matches where the model finds one. Coverage is not guaranteed.
  • AI photo matching can be wrong. Verify matches before publishing or using them in ordering workflows, and never treat a visual match as evidence of ingredients, allergens, or dietary suitability.

Pricing

Apify event pricing is $0.02 per successful live run plus $0.006 per photo matched or confirmed unmatched. A 9-photo live run is $0.074 in Actor event charges. Your Gemini usage and any Outscraper usage are billed separately by those providers. The untouched deterministic demo and diagnostic-only runs do not incur these Actor event charges.