{"uid":"cap_myAkwtWeOSsCjjuHe5X4y","slug":"agents-openwebninja-com-business-photos-a19de39c","name":"Business Photos","description":"Get / paginate business photos by Business Id using a pagination cursor.\n\nPhotos are read from Google Maps at request time, so they are live rather than served from the database.\n\n**Note:** `match_count` is the number of photos on this page, not the business's total photo count.\n\n**Note:** `limit` is a maximum and not a promise - a business with fewer photos returns fewer. You have reached the end when a page comes back empty or without a `cursor`.","url":"https://agents.openwebninja.com/local-business-database/business-photos?utm_source=zero.xyz","method":"GET","headers":{},"bodySchema":{"type":"object","required":["business_id"],"properties":{"limit":{"type":"integer","description":"Maximum number of business photos to return.\n\n**Allowed values:** `1-100`"},"cursor":{"type":"string","maxLength":2048,"description":"Pagination cursor for fetching the next page. Pass the `cursor` value returned in the previous response. Omit it on the first request.\n\n**Note:** a cursor is only valid for the exact query that produced it, and it expires. Do not build or edit one."},"region":{"type":"string","default":"us","description":"Query Google Maps from a particular region or country.\n\nFor a list of supported region/country codes see *https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 (Alpha-2 code)*."},"language":{"type":"string","default":"en","description":"Set the language of the results.\n\nFor a list of supported language codes see *https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes*."},"business_id":{"type":"string","maxLength":256,"description":"Unique Business Id, as returned in a business record's `business_id`.\n\n**Examples:**\n\n`0x102b644d009e013:0xea49e9ee285fa7bf`"}}},"responseSchema":{"type":"object","required":["status","request_id","parameters","data"],"properties":{"data":{"type":"object","required":["photos","match_count","limit","found","business_id"],"properties":{"found":{"type":"boolean","description":"Whether a record for the requested Business Id was found."},"limit":{"type":"number","description":"Maximum number of results requested for this page (the limit parameter, or its default)."},"photos":{"type":"array","items":{"type":"object","required":["photo_id","photo_url","photo_url_large","video_thumbnail_url","latitude","longitude","type","photo_datetime_utc","photo_timestamp"],"properties":{"type":{"enum":["photo","street_view","video"],"type":"string","description":"Media type. Values: photo, video, street_view."},"latitude":{"type":"number","nullable":true,"description":"Latitude where the photo was taken (when known)."},"photo_id":{"type":"string","description":"Unique Google identifier of the photo."},"longitude":{"type":"number","nullable":true,"description":"Longitude where the photo was taken (when known)."},"photo_url":{"type":"string","nullable":true,"description":"URL of the photo (default resolution)."},"photo_timestamp":{"type":"number","nullable":true,"description":"Unix epoch seconds matching photo_datetime_utc."},"photo_url_large":{"type":"string","nullable":true,"description":"URL of the photo at a larger resolution."},"photo_datetime_utc":{"type":"string","nullable":true,"description":"Original publication datetime of the photo in ISO 8601 UTC."},"video_thumbnail_url":{"type":"string","nullable":true,"description":"Thumbnail URL when the media is a video; null for still photos."}},"additionalProperties":false},"description":"List of photos / videos returned."},"business_id":{"type":"string","description":"The Business Id the results belong to, as received."},"match_count":{"type":"number","description":"Number of photos returned on this page. Not the business's total photo count."}},"description":"Photos returned for the business, with the page size applied."},"cursor":{"type":"string","description":"Pagination cursor for the next page of photos. Pass it back as the `cursor` parameter. Absent on the last page."},"status":{"type":"string","description":"The status of the API response."},"parameters":{"type":"object","description":"The parameters the API received and used for this request, echoed back.","additionalProperties":true},"request_id":{"type":"string","description":"A unique ID to trace the API request."}}},"example":null,"exampleRequest":null,"tags":[],"displayCostAmount":"unknown","displayCostAsset":"USD","priceDynamic":true,"priceHint":null,"priceStatus":"unprobed","priceSource":"registry","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"unknown","summary":"price unknown","primary":{"kind":"dynamic","protocol":"mpp","network":"tempo","amountUsd":null,"per":"call","confidence":"unknown"},"accepted":[{"kind":"dynamic","protocol":"mpp","network":"tempo","amountUsd":null,"per":"call","confidence":"unknown"}]},"paymentMethods":[{"uid":"pm_zMnTY4OG8O1X1FG-hR2XI","protocol":"mpp","methodType":"crypto","chain":"tempo","mode":"charge","costAmount":"unknown","costPer":"request","priority":0,"asset":null,"unit":"request","depositMicros":null,"planRef":null}],"brandName":"agents.openwebninja.com","brandSlug":"agents-openwebninja-com-x402","brandBaseUrl":"https://agents.openwebninja.com","brandDocsUrl":null,"whatItDoes":"Fetches paginated live photos (and videos) for a business from Google Maps using a business ID and optional cursor.","exampleAgentPrompt":"Can you pull the first 20 photos for the Google Maps business with ID 0x102b644d009e013:0xea49e9ee285fa7bf?","exampleUseCases":[{"title":"Restaurant visual preview for customers","prompt":"Get me up to 50 photos for the Google Maps business 0x102b644d009e013:0xea49e9ee285fa7bf so I can show customers what the place looks like before they visit."},{"title":"Hotel image gallery scraper","prompt":"I need to page through all photos on Google Maps for business ID 0x89c259af4a9e4039:0x2ec62b7dbbbf6d49 — start with the first 100, then give me the cursor so I can keep going."},{"title":"Competitor visual audit","prompt":"Fetch the latest live photos from Google Maps for business 0x3864b2a31d7b5c07:0x415a1d2d5ef98c0e — I want to see what images they're currently showing and when they were posted."}],"resultDescription":"Returns an array of photo/video objects each containing a standard-resolution URL, large-resolution URL, media type (photo, video, or street_view), GPS coordinates where the photo was taken, photo ID, and publication timestamp. Also returns whether the business was found, the match count for the current page, and a pagination cursor for fetching the next page.","failureModes":["Business ID not found — found returns false, photos array is empty","Expired or invalid cursor — cursor no longer valid, request must restart from page 1","Business has fewer photos than limit — fewer results returned than limit, not an error","Empty page returned — signals end of pagination, no cursor in response","Invalid region or language code — may return unexpected results or error"],"whenToPreferThis":"Use this endpoint when you have a specific Google Maps business ID and need live, real-time photos or videos directly from Google Maps rather than cached data. Prefer this over general image search when you want media specifically associated with a business listing, including user-uploaded photos, street view, and videos, with accurate timestamps and geolocation data.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-14T00:36:39.706Z","isFirstParty":false,"canonicalSlug":"agents-openwebninja-com-business-photos-a19de39c"}