If you're a listings QA lead at a local SEO agency, this is for you
You inherited a spreadsheet of Google Maps place IDs and a mandate to make the photos not embarrassing. The names and hours are already in the listing CMS. The gallery is a pile of URLs. Nobody has opened them this quarter.
So you click. A plate of pasta. A parking lot. A menu board shot at an angle. A selfie. A stock interior from a different venue. You type "replace" next to three of them and close the tab. There are four hundred places left.
The gallery is unlabeled inventory
Local SEO shops treat Maps as a NAP problem: name, address, phone, categories. Hospitality researchers treat it as ratings. Both are looking past the largest public photo pool those businesses publish.
Raw photo URLs tell you almost nothing. You cannot filter a city for outdoor seating, dim lighting, or a readable menu board by staring at lh3.googleusercontent.com. You cannot tell a client their hero image is a blurry toilet stall until a person has seen it. The workaround is a QA afternoon that does not scale past the accounts you can click through before standup.
If you're a listings QA lead at a local SEO agency, this is for you. The photos already contain scene, text, dishes, amenities, and a rough sense of quality. They are just not labeled.
Label the pixels, keep the URL
The job is not "download Maps." The job is: for each public photo, say what it is. Interior or food or signage. Caption. Tags. Any text on the board. Dishes on the plate. Seating you can see. Whether people are in the frame. Whether the shot is even usable.
That is the Google Maps Business Photo Annotator API. You paste place IDs, a search like pizza in Brooklyn, or Maps URLs. Each photo becomes a row with those fields, plus the original image so you can disagree with a caption by eye.
Three beats:
- Give it the places you already manage, and a small photo cap while you learn the bill.
- It fetches the gallery and annotates each image.
- You sort, filter, and flag — instead of opening four hundred tabs.
I built it because listing QA was dying in the gallery, not in the NAP fields.
Who should run it, and who wants a narrower tool
If you audit photo quality and relevance before a client publishes, this is for you. If you compare visual positioning across nearby hotels or restaurants — decor, plating, signage — this is for you. If you already have Maps place rows and need vision metadata on top, this is for you.
If you only want dish names and prices from menu boards, do not stretch this into a catalogue. That job sits with extracting menus from Google Maps photos. This API is the whole gallery: food, rooms, facades, OCR in passing, not a dedicated menu pipeline.
Vision will mis-tag a scene. Broken image URLs get skipped. Start with a handful of photos per place so you see the shape before you annotate a city. Input, pricing, and the rest of the caveats live on the Apify Store README for Google Maps Business Photo Annotator.
A URL is not a quality check
The old cost is the gallery nobody opens until a client forwards a screenshot. Or the competitive deck built from star ratings while the actual dining room was in the photos the whole time.
If you already own the place list, stop clicking through it. Read the photos.
Other vision posts on rainminer follow the same split: the public page already hosted the evidence. Someone still had to look.
