API guide

The Google Business Profile API in 2026.Approval first, then local posts.

To post to a Business Profile from code, call the v4 Google My Business API: a POST to the location's localPosts, with a token for the business.manage scope. There's no fee, but there is a gate: every Business Profile API has a quota of 0 until Google approves your Cloud project, and applying takes a profile verified for 60 days or more. A post carries text, photos by URL and an optional button, and the same API lists reviews and posts your replies.

Checked October 12, 2026. Breakreach is our product.
# 1. Find the account, then its locationscurl -H "Authorization: Bearer $TOKEN" \  https://mybusinessaccountmanagement.googleapis.com/v1/accountscurl -H "Authorization: Bearer $TOKEN" \  "https://mybusinessbusinessinformation.googleapis.com/v1/accounts/$ACCOUNT_ID/locations?readMask=name,title" # 2. Create the local post (scope business.manage)curl -X POST "https://mybusiness.googleapis.com/v4/accounts/$ACCOUNT_ID/locations/$LOCATION_ID/localPosts" \  -H "Authorization: Bearer $TOKEN" \  -H "Content-Type: application/json" \  -d '{    "languageCode": "en-US",    "topicType": "STANDARD",    "summary": "Morning Light is in the shop from Saturday. Honey, orange and cocoa, our lightest roast yet. Taste it at the bar, or order a bag online and pick it up on your way to work.",    "media": [{ "mediaFormat": "PHOTO", "sourceUrl": "https://cdn.northbeam.coffee/launch.jpg" }],    "callToAction": { "actionType": "ORDER", "url": "https://northbeam.coffee/shop" }  }'
1/3 GET /v1/accountsSending
Published · now

Northbeam Coffee

Just now

Morning Light is in the shop from Saturday. Honey, orange and cocoa, our lightest roast yet. Taste it at the bar, or order a bag online and pick it up on your way to work.

Order online
Share

The Google Business Profile API at a glanceWhat it takes before the first post.

Price
No fee. Calls work once Google approves your Cloud project
Access
Every Business Profile API starts at 0 queries per minute. Apply through the GBP API contact form, Application for Basic API Access
Who can apply
Someone who manages a Business Profile verified and active for 60+ days, with a website listed on it
Auth
OAuth 2.0 with one scope, business.manage, shown to people as “Manage your Business Profile on Google”
Posting
accounts.locations.localPosts.create in the v4 API, with summary, media, callToAction and topicType
Post types
STANDARD, EVENT, OFFER and ALERT. Product posts can't be created through the API
Buttons
BOOK, ORDER, SHOP, LEARN_MORE and SIGN_UP with a url; CALL without one, to the profile's phone number
Reviews
accounts.locations.reviews in the v4 API: list them with the location's average rating, then updateReply or deleteReply. No method deletes a review
Quota
300 queries per minute once approved; over that, 429 RESOURCE_EXHAUSTED

Checked on October 12, 2026, from Google Business Profile's developer documentation and terms.

Our recommendation

To post to Google Business Profile from your product, use Breakreach's API.We built it, so here's the case.

See the request
  • No access request to file and no 60-day-old profile of your own: Breakreach's Google project is approved, and people sign in with Google to connect their locations
  • Each location is one account id, so one request posts the same update to every location you list, and to Instagram or Facebook alongside; GET /v1/comments returns their reviews next to your Instagram and Facebook comments
  • Your users connect their own locations on a hosted page through a connect link, the way agencies onboard clients

When to use Google Business Profile's API directly. Breakreach posts standard updates and answers reviews: no Event or Offer posts, no video, no listing edits and no stats. For any of those, call Google's APIs directly once your project is approved.

How to get access to the Google Business Profile APIFrom a developer account to your first real post.

  1. 1Check you qualifyGoogle asks you to manage a Business Profile that's verified and active for 60 days or more, with a website listed on it, and to apply from an email that's an owner or manager of that profile.
  2. 2Request accessIn the GBP API contact form, choose Application for Basic API Access and give your Cloud project's number. Approval is per project, and Google emails you once it has reviewed the request.
  3. 3Read the quotaIn the Cloud console, the Business Profile APIs show 0 QPM until you're approved and 300 QPM after. Don't ask for a quota increase while it reads 0: that's the access gate, not a limit.
  4. 4Enable the APIs, ask for the scopeEnable the Google My Business API, the Account Management API and the Business Information API, among the seven Google lists, then request the business.manage scope when people sign in.

There's no sandbox, per Google's setup guide; some calls take validateOnly to check a request without changing anything. The Google My Business API only appears in the Cloud console after approval.

How to post with the Google Business Profile APIThe requests in the demo above, one by one.

  1. 1List accounts and locationsGET accounts from the Account Management API, then accounts/{accountId}/locations from the Business Information API, with a readMask such as name,title. An agency's account lists every location it manages.
  2. 2Create the local postPOST …/localPosts with topicType STANDARD, a summary, media as a list of { mediaFormat: PHOTO, sourceUrl } and an optional callToAction. Photos for posts must come from a URL, not uploaded bytes.
  3. 3Watch the stateGoogle answers with the LocalPost and its state: PROCESSING while it's reviewed, LIVE once it shows in Search, REJECTED for a content policy violation. searchUrl links to the post on Google.

Leave callToAction.url unset for CALL, which dials the profile's phone number. PATCH with an updateMask edits a post and DELETE removes it. Posts older than 6 months are archived unless they carry a date range.

Common Google Business Profile API errorsWhat they mean and how to fix them.

ErrorWhat it meansFix
429 RESOURCE_EXHAUSTED, quota 0The project isn't approved for the Business Profile APIs yet.Submit Application for Basic API Access. A quota increase request won't help.
429 RESOURCE_EXHAUSTEDMore than 300 queries in a minute.Spread the requests and retry with exponential backoff.
403 PERMISSION_DENIEDThe signed-in user doesn't own or manage that location, or an API isn't enabled.Sign in as an owner or manager, and enable the API.
400 INVALID_ARGUMENTA field Google refused, such as text over 1,500 characters or a photo it couldn't fetch.Trim the text, and host the photo at a public URL.
State REJECTEDThe post broke the posts content policy, often with contact details Google couldn't verify.Remove phone numbers and emails from the text; add a CALL button.
401 UNAUTHENTICATEDThe access token expired, or the person revoked access.Refresh the token, or send them through OAuth again.

Google Business Profile API limitsRate limits, text and media.

  • TextUp to 1,500 characters in summary. Google's reference doesn't print the number, but tools built on the API, Breakreach included, cap it there.
  • PhotosJPG or PNG, 10 KB to 5 MB, at least 250 × 250 px and 720 × 720 px recommended, per Google's photo guidelines. The posts guide documents photos only, no video.
  • Quota300 queries per minute per API once approved, 0 before. Google asks you to spread requests evenly and back off on 429. Listing edits through Business Information are capped at 10 a minute per profile.
  • ReviewEvery post is checked against Google's posts content policy before it goes live. Unverified phone numbers, emails or social handles in the text can get it removed; a CALL button is the allowed way to show a number.
  • Review repliesOne reply per review, up to 4,096 bytes; updateReply replaces it. Google moderates replies too: reviewReplyState reads PENDING, then APPROVED or REJECTED. Reviews of a location that isn't verified can't be read or answered.

Is the Google Business Profile API free?

Yes. Google charges nothing for the Business Profile APIs. What they cost is the wait: no call works until your project is approved, and there's no sandbox to build against before that.

The approval asks for a Business Profile of your own, verified and active for 60 days, so a company that doesn't run one can't apply.

Through Breakreach, each location counts as one connected account: $5 a month each up to 20, $3 up to 100, then $2.

Ways to post to Google Business Profile from code

What you set upPricePosts to Google Business Profile
BreakreachAn API key. Locations connect through Breakreach's approved Google project, or your users connect theirs on a hosted page$5 a month per account, less from 21Yes, Standard updates
Google Business Profile's own APIA Cloud project approved through Google's access request, then OAuth per userFreeYes
Upload-PostAn API keyFree for 2 profiles and 10 uploads a month; Basic $24 a month for 5 profilesYes, With events and offers
ZernioAn API keyFirst 2 accounts free, then $6 per account up to 10, $3 up to 100, $1 afterYes, With events and offers
AyrshareAn API keyFrom $149 a month for 1 profile, no free planYes
OutstandAn API key, plus your own Google Business Profile developer app$19 a month for 3,000 posts, then per postYes, With your own app
Checked on October 7, 2026, from Google Business Profile's developer documentation and each company's pricing page. Breakreach is our product.

What the Google Business Profile API can't do

  • Answer a single call before your project is approved, with no sandbox to try
  • Create Product posts, per Google's posts guide
  • Read or answer questions: the Q&A API was discontinued on November 3, 2025
  • Delete a review: deleteReply only removes the business's answer
  • Post for a location the signed-in user doesn't own or manage
  • Skip Google's review: every post is checked before it shows

Post to Google Business Profile with Breakreach's APIOne request, scheduled, with retries.

POST /v1/posts
curl https://api.breakreach.com/v1/posts \  -H "Authorization: Bearer $BREAKREACH_API_KEY" \  -H "Content-Type: application/json" \  -d '{    "content": "Morning Light is in the shop from Saturday. Honey, orange and cocoa, our lightest roast yet. Taste it at the bar, or order a bag online and pick it up on your way to work.",    "accountIds": ["6701a2f4c9e84b0012a3b4d8"],    "media": ["https://cdn.northbeam.coffee/launch.jpg"],    "googleBusinessSettings": { "button": "ORDER", "buttonUrl": "https://northbeam.coffee/shop" },    "scheduledAt": "2026-10-07T09:00:00"  }'

What it posts on Google Business Profile

  • UpdatesStandard posts of up to 1,500 characters, on every location you list in accountIds. Each verified location is one account id, from GET /v1/accounts.
  • One photoThe first photo in media, re-encoded as a JPEG under 5 MB whatever its format, so a WebP or a heavy PNG goes through. Google still asks for 250 px on each side.
  • A buttongoogleBusinessSettings.button: BOOK, ORDER, SHOP, LEARN_MORE or SIGN_UP with a buttonUrl, or CALL, which uses the profile's phone number and needs no link.
  • SchedulingscheduledAt in your workspace's timezone, the next free slot, or publishNow. Breakreach holds the post and sends it at the time.
  • ReviewsGET /v1/comments?platform=googlebusiness returns the latest 50 reviews of each location with their stars and each location's average. POST /v1/comments/reply answers one, up to 4,096 bytes, and DELETE /v1/comments/{commentId} removes the answer. Verified locations only.

Not yet

  • Event and Offer posts
  • Video: a video alone is refused with a 400
  • Questions
  • Stats
  • Deleting a review, which Google doesn't allow

The full reference, webhooks and the price per connected account are on the developers page, and the OpenAPI spec is at api.breakreach.com/v1/openapi.json.

FAQ

Questions, answered.

Short answers about the Google Business Profile API.

Yes, there's no fee. But every Business Profile API has a quota of 0 until Google approves your Cloud project through its access request form, and there's no sandbox to build against before that.

Manage a Business Profile that's been verified and active for 60 days or more, with a website listed on it, then submit the GBP API contact form with Application for Basic API Access and your project number. The quota moves from 0 to 300 queries per minute when you're approved.

POST https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations/{locationId}/localPosts with topicType STANDARD, a summary, media as photo URLs and an optional callToAction, using a token with the business.manage scope.

BOOK, ORDER, SHOP, LEARN_MORE, SIGN_UP and CALL. Each takes a url except CALL, which calls the phone number on the profile. In Business Profile they read Book, Order online, Buy, Learn more, Sign up and Call now.

Not in posts: Google's posts guide only documents photos, given by URL, so Breakreach posts one photo and no video. The Business Profile editor itself takes videos.

Yes. Google My Business was renamed Google Business Profile, and the v4 API that creates posts is still listed as the Google My Business API, next to newer ones such as Account Management and Business Information.

Yes. accounts.locations.reviews.updateReply posts the business's reply, up to 4,096 bytes, and replaces the one already there; deleteReply removes it. Google checks each reply before it shows, and only verified locations' reviews can be read or answered. A business can't delete a review.

$5 a month per connected account up to 20, $3 up to 100, then $2. Each Google Business Profile location is one account. You pay per connected account, never per post or per request.

Instagram
TikTok
LinkedIn
YouTube
X
Facebook
Threads

Put your socials on autopilot.Live in two minutes.

Plans from $29 a month. Cancel anytime.