Postproxy × Google Business

Publish local posts, events, and offers to Google Business Profile locations via one API. Reply to reviews from the same integration.

One request reaches every location your profile manages — alongside every other network you publish to.

Free plan · No credit card · Live in under 5 minutes

Standard posts, events, and offers

One payload picks the format — standard updates, date-bound events, or promotional offers with coupon codes and redeem URLs.

Call-to-action buttons

Attach LEARN_MORE, BOOK, ORDER, SHOP, SIGN_UP, or CALL buttons to any post via cta_action_type and cta_url.

Multi-location publishing

A single connected profile manages multiple accounts and locations. Target any location by passing its location_id from the placements endpoint.

Review replies via the same API

Use the Profile Comments API to read incoming Google reviews and post replies. Reviews sync twice daily; replies post on demand.

$ 

View full documentation for all platform-specific features for Google Business

INTEGRATION COST

Skip weeks of Google Business integration work

One test post against a sandbox account is the easy part. Production Google Business publishing means app verification, OAuth across many accounts, media pipelines, dozens of edge cases, and a permanent on-call rotation for "why didn't this one go through this time?"

5 min
Time to your first Google Business post via API
Weeks → Hours
Engineering time saved on integration work
$0
Free plan, no credit card required
Build it yourself
  • Submit a Google Business app for verification — review cycles, screencasts, business docs
  • Implement OAuth, token refresh, secure credential storage per account
  • Build media upload pipelines (chunked, async, multi-step) for every format
  • Handle rate limits, quotas, retries, and partial failures across accounts
  • Cover dozens of edge cases: expired tokens, scope drift, regional restrictions, policy changes
  • Triage every silent failure: "Why didn't this one post go through?"
Ship with Postproxy
  • One REST endpoint. One payload schema. SDKs for popular languages
  • OAuth, tokens, and refresh handled for you — across all accounts
  • Media upload, chunking, and format detection — automatic
  • Retries, rate-limit windows, and per-platform receipts built in
  • Edge cases are our problem. Failures come back with an explicit reason
  • We track the API changes. You ship features
Start posting to Google Business via API See pricing

Free plan includes the Google Business API. No credit card.

Benefits

Why Postproxy for Google Business?

Skip the My Business API setup

Postproxy handles OAuth, account/location discovery, and the local-posts endpoint shape. You send a body and a location_id — we make the right calls.

One payload, every network

Publish the same post body to Google Business alongside Instagram, LinkedIn, Bluesky, and the rest in one /api/posts call.

Review management built in

The Profile Comments API surfaces reviews on every connected location and lets you reply via POST. Webhooks fire as new reviews arrive.

Reliable delivery

Automatic retries, clear status, and HMAC-signed webhooks for every Google Business outcome — including deletions.

How Postproxy publishes to Google Business

How Google Business posts work

Each Google Business post is a local update attached to a specific Business Profile location. Three formats share the same endpoint — standard (default), event, and offer — and each accepts only its relevant fields. The post body carries up to 1,500 characters; you can attach one image (5 MB, jpg or png, minimum 400×300, recommended 4:3 at 1200×900). Video attachments are not part of the local-posts API and will be rejected.

Events and offers

Events take an event_title, event_start_date and event_end_date (YYYY-MM-DD), plus optional event_start_time and event_end_time in 24-hour format. Offers require the same date window and accept offer_coupon_code, offer_redeem_url, and offer_terms — Google renders the coupon code prominently on the listing and surfaces the redeem URL as the CTA. Same body, same media rules; only the format changes.

Call-to-action buttons

Any post can carry a CTA via cta_action_type: LEARN_MORE, BOOK, ORDER, SHOP, SIGN_UP, or CALL. Every type except CALL requires cta_url to point the button at an HTTPS endpoint. The button shows on the local-post card in search and Maps results.

Review management via the same API

Reviews on a Google Business location surface through the Profile Comments API — GET /api/profiles/:profile_id/comments lists incoming reviews; POST with the review's external ID as parent_id publishes a reply. Reviews sync twice daily (06:00 and 18:00 UTC), replies post on demand. You can't post top-level reviews via the API — only customers create those — and you can delete your own replies, not the originals. Webhook events fire as new reviews arrive.

Connection and placements

Connect a profile via OAuth: POST /api/profile_groups/:id/initialize_connection with platform: google_business. Postproxy stores the refresh token and lists every account and location the user authorised. List them with GET /api/profiles/:id/placements — each location returns its resource path (accounts/X/locations/Y), which you pass as location_id on the post. One profile can manage multiple accounts and any number of locations.

Frequently Asked Questions

Common questions about Google Business integration

How do I connect a Google Business Profile?

Initiate the OAuth flow via /api/profile_groups/:id/initialize_connection with platform: google_business. Postproxy stores the refresh token and lists every account and location the user authorised.

What's the Google Business character limit?

1,500 characters per post summary. Same limit applies to standard posts, events, and offers.

Can I post videos to Google Business?

No. Google Business local posts accept up to one image (jpg or png, 5 MB, minimum 400×300). Video attachments are not supported by the local-posts API.

Which CTA action types are supported?

LEARN_MORE, BOOK, ORDER, SHOP, SIGN_UP, and CALL. Every type except CALL requires a cta_url to point the button at.

How do I reply to Google reviews?

POST to /api/profiles/:profile_id/comments with the review's external ID as parent_id. The Profile Comments API syncs reviews twice daily (06:00 and 18:00 UTC); replies post on demand.

How do I target the right location?

List placements via /api/profiles/:id/placements — each location is returned with its resource path (accounts/X/locations/Y). Pass that path as platforms.google_business.location_id on the post.

Ready to get started?

Start with our free plan and scale as your needs grow. No credit card required.