Skip to content

Upload photo

Creates a media item (photo) for a location from a publicly accessible URL.

Categories determine where the photo appears: COVER, PROFILE, LOGO, EXTERIOR, INTERIOR, FOOD_AND_DRINK, MENU, PRODUCT, TEAMS, ADDITIONAL.

POST /v1/accounts/{accountId}/gmb-media

Creates a media item (photo) for a location from a publicly accessible URL.

Categories determine where the photo appears: COVER, PROFILE, LOGO, EXTERIOR, INTERIOR, FOOD_AND_DRINK, MENU, PRODUCT, TEAMS, ADDITIONAL.

Parameters

  • accountId (path, string) required

  • locationId (query, string) — Override which location to target. If omitted, uses the account's selected location. Use GET /gmb-locations to list valid IDs.

Request body

Content-Type: application/json

  • sourceUrl (string) required — Publicly accessible image URL
  • mediaFormat (string) (enum: PHOTO, VIDEO)
  • description (string) — Photo description
  • category (string) (enum: COVER, PROFILE, LOGO, EXTERIOR, INTERIOR, FOOD_AND_DRINK, MENU, PRODUCT, TEAMS, ADDITIONAL) — Where the photo appears on the listing

Example:

json

{
  "sourceUrl": "https://example.com/photos/restaurant-interior.jpg",
  "description": "Dining area with outdoor seating",
  "category": "INTERIOR"
}

Responses

200 — Media created successfully

  • success (boolean)
  • name (string)
  • mediaFormat (string)
  • googleUrl (string)

400 — Invalid request or unsupported media format

  • error (string)
  • details (object)

401 — Unauthorized

  • error (string)
  • details (object)