Media & Limits
Media requirements, platform-specific fields, and common errors
Media Requirements
| Property | Requirement |
|---|---|
| Max images | 1 per post |
| Formats | JPEG, PNG (WebP auto-converted) |
| Max file size | 5 MB |
| Min dimensions | 400 x 300 px |
| Recommended | 1200 x 900 px (4:3) |
Google may crop images. Use 4:3 aspect ratio for best results.
Platform-Specific Fields
All fields are set inside platformSpecificData on the platform entry.
| Field | Type | Description |
|---|---|---|
topicType | "STANDARD" | "EVENT" | "OFFER" | Post type. Defaults to STANDARD. EVENT requires the event object. OFFER requires offer and optionally event for the offer period. |
event | object | Event details. Required for EVENT, optional for OFFER (sets offer period). Contains title (string) and schedule with startDate, startTime, endDate, endTime. Dates accept { year, month, day } objects or ISO 8601 strings. |
offer | object | Offer details for OFFER posts. Fields: couponCode, redeemOnlineUrl, termsConditions (all optional). |
locationId | string | For multi-location businesses. Format: locations/111111111. Get locations via GET /v1/accounts/{accountId}/gmb-locations. If omitted, posts to default location. |
languageCode | string | BCP 47 language code (e.g., en, de). Sets metadata only -- does not translate content. |
topicType | STANDARD | EVENT | OFFER | ALERT | Post type. STANDARD is a regular update. EVENT requires event. OFFER requires offer. Defaults to STANDARD if omitted. |
callToAction | { type, url } | CTA button. type: LEARN_MORE, BOOK, ORDER, SHOP, SIGN_UP, CALL. url: valid HTTPS URL. |
event | object | Event details. Required when topicType is EVENT. Event schedule accepts both ISO 8601 strings (e.g. 2026-04-15T09:00:00Z) and Google's native { year, month, day } objects. |
offer | object | Offer details. Required when topicType is OFFER. |
Media URL Requirements
| Requirement | Details |
|---|---|
| Public URL | Must be publicly accessible |
| HTTPS | Secure URLs only |
| No redirects | Direct link to image |
| No auth required | Cannot require login |
https://mybucket.s3.amazonaws.com/image.jpg (valid)
https://example.com/images/post.png (valid)
https://example.com/image?token=abc (invalid - auth required)
http://example.com/image.jpg (invalid - not HTTPS)What You Can't Do
These features are not available through Google Business Profile's API:
- Post videos
- Respond to Q&A (deprecated by Google, replaced by AI-powered "Ask Maps")
- Manage service areas
- Manage business categories
Common Errors
Google Business has a 6.5% failure rate across Zernio's platform (557 failures out of 8,529 attempts). Here are the most frequent errors and how to fix them:
| Error | Meaning | Fix |
|---|---|---|
| "Image not found" | Image URL is inaccessible or requires authentication | Verify URL is publicly accessible. Ensure HTTPS. Test URL in an incognito browser. |
| "Invalid image format" | Unsupported file format or corrupted file | Use JPEG or PNG only. GIF is not supported. Re-export the image if corrupted. |
| "Image too small" | Image dimensions below minimum | Use at least 400 x 300 px. Recommended: 1200 x 900 px. |
| Post not appearing | Post may be pending review or account not verified | Posts may take 24-48 hours to appear. Check Google Business Console for approval status. Ensure account is verified. |
| CTA not working | Invalid or inaccessible URL | Verify URL is valid and accessible. Use HTTPS. Avoid shortened URLs. |