Google Business Profile

Google Business Profile Scheduling API

Schedule Google Business Profile posts for a future time via API.

Quick answer

Google’s Local Posts API has no native scheduling — PostGate holds the post and calls Google’s API only when the target time arrives. Add an ISO 8601 scheduled_at to the same POST /api/posts request you’d use to publish immediately, or model recurring updates as a cron schedule under /api/schedules. Google-specific fields stay under post.options.google_business.

Google's own Local Posts API takes a post and publishes it — it has no native concept of "publish this later." Scheduling for Google Business Profile, like every platform without built-in scheduling, is something PostGate handles by holding the post and calling Google's API only once the target time arrives.

01

How do I schedule for a fixed time?

Add an ISO 8601 scheduled_at to the same request you'd use to publish immediately. Google-specific fields still go under post.options.google_business.
Schedule for a specific timePostGate 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" \
  -H "Idempotency-Key: gbp-promo-001" \
  -d '{
    "post": {
      "body": "Weekend promo starts tomorrow — 20% off.",
      "options": {
        "google_business": { "topic_type": "STANDARD", "language_code": "en" }
      }
    },
    "profiles": ["pro_google_business123"],
    "scheduled_at": "2026-09-05T08:00:00Z"
  }'
02

How do I set up recurring updates?

A weekly hours change, a recurring event announcement, or a standing promo can be modeled as a cron schedule instead of one-off posts. The template reuses the exact post/profiles/media envelope.
Weekly Monday updatePostGate API
curl -X POST https://postgate.studio/api/schedules \
  -H "Authorization: Bearer $POSTGATE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Weekly GBP update",
    "kind": "cron",
    "expression": "0 9 * * 1",
    "timezone": "America/Sao_Paulo",
    "profile_group_id": "grp_acme123",
    "template": {
      "post": {
        "body": "This week’s specials are up.",
        "options": { "google_business": { "topic_type": "STANDARD", "language_code": "en" } }
      },
      "profiles": ["pro_google_business123"]
    }
  }'
03

Can I draft for approval before it goes to a real location?

Because a Google Business Profile post is customer-facing on Search and Maps immediately once Google accepts it, many teams draft first with draft: true and publish on demand with POST /api/posts/{id}/publish rather than scheduling blind.
04

A scheduled post depends on access staying valid

If manager access to the location is revoked, or the location is suspended between scheduling and the target time, the post fails at materialization rather than at creation. Check GET /api/profiles/{id}/health for anything scheduled with meaningful lead time.

Frequently asked questions

Does the Google Business Profile API support scheduling posts natively?

No. Google’s own Local Posts API takes a post and publishes it — it has no native concept of “publish this later.” Scheduling for Google Business Profile, like every platform without built-in scheduling, is handled by PostGate holding the post and calling Google’s API only once the target time arrives.

Can I set up recurring posts for a Google Business Profile location?

Yes. A weekly hours change, a recurring event announcement, or a standing promo can be modeled as a cron schedule instead of one-off posts — for example expression 0 9 * * 1 with a timezone for every Monday morning. The schedule template reuses the exact post/profiles/media envelope of a normal publish request.

What happens if location access is revoked before a scheduled post fires?

The post fails at materialization rather than at creation. If manager access to the location is revoked, or the location is suspended between scheduling and the target time, the scheduled post won’t deliver — so check GET /api/profiles/{id}/health for anything scheduled with meaningful lead time.

Can I review a Google Business Profile post before it goes live?

Yes — create it with draft: true and publish on demand with POST /api/posts/{id}/publish. Because a Business Profile post is customer-facing on Search and Maps immediately once Google accepts it, many teams draft for approval rather than scheduling blind.

Build it with PostGate

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

Start building Read the docs