---
title: "Add a photo or video to a Google Business profile"
method: POST
path: "/api/v1/google-business/media"
tags: ["Google Business"]
---

# Add a photo or video to a Google Business profile

`POST /api/v1/google-business/media`

## Request

- Base URL: `https://www.poster.ly`
- URL: `https://www.poster.ly/api/v1/google-business/media`
- Auth: HTTP bearer

Add a photo or video to the profile gallery from a public https URL (upload via the /media endpoints first). COVER and PROFILE are single-slot and replace the existing one. Photos must be JPG or PNG between 10 KB and 5 MB; a photo outside that range is rejected with a 400 and code `gbp_photo_invalid`. Requires publisher workspace access and a `posts:write` API scope.

## Request body

- object
  - `workspace_id` string
  - `account_id` integer: Provide account_id or location_id.
  - `location_id` string
  - `source_url` string, uri, required: Public https URL of the photo or video. Photos must be JPG or PNG, 10 KB to 5 MB.
  - `category` 'COVER' | 'PROFILE' | 'LOGO' | 'EXTERIOR' | 'INTERIOR' | 'PRODUCT' | 'AT_WORK' | 'FOOD_AND_DRINK' | 'MENU' | 'COMMON_AREA' | 'ROOMS' | 'TEAMS' | 'ADDITIONAL', required
  - `media_format` 'PHOTO' | 'VIDEO'

## Response `200`

Media added to the profile successfully

- object
  - `success` boolean
  - `media` object
  - `message` string

## Other responses

- `400`: Validation error
- `401`: Invalid or missing API key
- `403`: Validation error
- `404`: Resource not found
- `429`: Too many requests

---

[API](https://skmtc.dev/poster/apis/posterly-api.md) · [All operations](https://skmtc.dev/poster/apis/posterly-api/llms.txt) · [OpenAPI document](https://skmtc.dev/poster/apis/posterly-api/revisions/60be02a61f95?raw)
