Google Business Profile

GMB Local Post API

How the Google Business Profile (formerly Google My Business) local post API works.

Quick answer

The GMB local post API is the same API now branded Google Business Profile — Google renamed the product in late 2021, but the accounts.locations.localPosts resource kept its old name. Through PostGate you connect a location via OAuth using platform google_business, then publish with one POST /api/posts request; limits stay at 1,500 characters and one image.

If you learned this platform as "Google My Business" (GMB), you're not out of date by much — Google renamed the product to Google Business Profile in late 2021, but the underlying API, its resource names, and its "local post" terminology never fully caught up. Google's own REST reference still documents the resource as accounts.locations.localPosts under what was the My Business API surface. It's the same API either way — this page exists for anyone still searching by the old name.

01

What actually changed, and what didn’t

The consumer-facing product, the dashboard, and the marketing name changed to Google Business Profile. The API resource path, the "local post" object model, and its topic types (standard update, event, offer, alert) did not get renamed to match — a common source of confusion when a tutorial mentions "GMB API" and a current one says "Business Profile APIs."

PostGate's platform identifier for this connection is google_business, matching the current product name, regardless of which name you searched to get here.

02

How do I connect a location?

Same OAuth-based connection as any other PostGate platform — the account has to hold owner or manager access to the location.
Create connection URLPostGate API
curl -X POST https://postgate.studio/api/profiles/connect \
  -H "Authorization: Bearer $POSTGATE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "platform": "google_business",
    "profile_group_id": "grp_acme123",
    "return_url": "https://app.example.com/settings/social"
  }'
03

How do I publish a local post?

The request is identical whether you call it a GMB post or a Business Profile update.
Publish a standard updatePostGate API
curl -X POST "https://postgate.studio/api/posts?profile_group_id=grp_acme123" \
  -H "Authorization: Bearer $POSTGATE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "post": {
      "body": "Now open for weekend brunch.",
      "options": {
        "google_business": { "topic_type": "STANDARD", "language_code": "en" }
      }
    },
    "profiles": ["pro_google_business123"],
    "media": ["https://cdn.example.com/brunch.jpg"]
  }'
04

What limits carried over from the old API?

1,500-character body text, one image per post (JPEG or PNG, up to 5 MB), no video — these limits are inherited unchanged from the original My Business Local Posts model.

Frequently asked questions

Is the GMB API the same as the Google Business Profile API?

Yes. Google renamed the consumer-facing product, the dashboard, and the marketing name to Google Business Profile in late 2021, but the API resource path, the “local post” object model, and its topic types (standard update, event, offer, alert) were never renamed to match. Google’s own REST reference still documents the resource as accounts.locations.localPosts under what was the My Business API surface.

What access do I need to publish a GMB local post via API?

The connected Google account has to hold owner or manager access to the location. Through PostGate it is the same OAuth-based connection as any other platform — create a connection URL via POST /api/profiles/connect with the platform identifier google_business, which matches the current product name regardless of which name you searched.

What are the limits for a GMB local post?

1,500 characters of body text, one image per post (JPEG or PNG, up to 5 MB), and no video. These limits are inherited unchanged from the original My Business Local Posts model — the rename to Google Business Profile did not change them.

What post types does the local post API support?

The local post object model has four topic types: standard update, event, offer, and alert. In a publish request you set the type under post.options.google_business — for example topic_type: "STANDARD" with a language_code for a plain update.

Build it with PostGate

One API for every social platform your customers care about — sandboxed, documented, and ready today.

Start building Read the docs