Postproxy × Google Business

Publish local posts, events, and offers to Google Business Profile locations via one API. Manage hours, attributes, menus, and photos, reply to reviews, and read location analytics 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.

Opening hours management

Read and update regular, special, and named extra hour sets like kitchen hours — patch only the fields that changed.

Attributes and service lists

Set attributes like payments and accessibility, and manage each location's service list through the profile management endpoints.

Food menus and photo galleries

Publish and update food menus and manage the location's photo gallery — same location_id you use for posting.

Place action links

Set "Order online", "Book a table", and other place action links that appear directly on the listing in Search and Maps.

Location analytics

Per-location performance through profile stats: Search and Maps impressions, website clicks, call clicks, direction requests, bookings, and food orders.

$ 

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?"

Social media integration is not a one-off job — it's a constant commitment. Platforms change their APIs, scopes, limits, and policies on their own schedule. Every change becomes your problem unless someone else is absorbing it.

That's exactly what Postproxy does for Google Business — and every other platform we support — so your team ships features instead of chasing failed publishes.

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. Four formats are available — standard (default), event, offer, and photo — and each accepts only its relevant fields. Local-post bodies carry up to 1,500 characters; you can attach one image (5 MB, jpg or png, minimum 400×300, recommended 4:3 at 1200×900). The photo format skips the text wrapper and uploads a single image straight to the location's media gallery. Video attachments are not part of the Google Business APIs 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.

Manage the Business Profile itself

Beyond posting, the Business Profile management endpoints read and update the profile behind each location: opening hours (regular, special, and named extra sets like kitchen hours), attributes such as payments and accessibility, the service list, food menus, place action links ("Order online", "Book a table"), and the location's photo gallery. Everything lives under /api/profiles/:profile_id/google_business/ and takes the same location_id you use for posting. Updates follow Google's field-mask model — read the resource, edit it, patch back only what changed. Guides: hours, attributes, photos, menus and services, action links.

Location analytics

Per-location performance flows through the standard profile stats endpoint — pass the location_id as placement_id. Snapshots are trailing 30-day totals: Search and Maps impressions (desktop and mobile, summed into views), website clicks, call clicks, direction requests, conversations, bookings, and food orders. Google Business has no follower count, and Google exposes no per-post analytics for local posts. Guide: pull location insights via API.

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

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.

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

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.

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

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.

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.

Still wondering if Postproxy is the right fit?

Ask your favorite LLM what it thinks about us, then decide.

Ready to get started?

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