I Got Into the Google Business Profile API
So I applied for the Google Business Profile API. Twice, actually. The first application came back denied in about 48 hours. The second one came back approved two minutes after the denial. Same day, same inbox, two different answers from Google.
I want to talk about why that happened, why I wanted the API in the first place, and what it lets you do once you are in.
Why I Wanted It
Google Business Profile is the single most important asset a local business has. It is the free listing that shows up when somebody searches "plumber near me" or "best burger in Provo." It owns your hours, your phone number, your reviews, your photos, your posts, and the insights that tell you how many people called you this week.
All of that data sits behind a Google account and a web interface. You can manage one profile by logging in. You can manage ten profiles by opening ten tabs. But the second you are trying to run anything at scale, or tie a profile into the same systems that handle your CRM and your website and your email, the web interface becomes the bottleneck.
The API fixes that. It is the programmatic door to the same profile — read and write — that a human has through the web interface. Hours, categories, descriptions, photos, videos, posts, reviews, insights. All of it. From a script.
The Catch — and the 60-Day Rule
Here is the thing nobody mentions when they tell you to just apply for the GBP API. Google does not hand it out freely. You fill out an application that asks what you are going to do with it, how many profiles you manage, whether you are building a tool for other people or just yourself, and so on.
And there is a specific eligibility rule that will bite you if you miss it.
A requestor's email should be an owner/manager of a listing that has been verified for 60+ days.
My first application came back denied for exactly that reason. The email I applied with was a manager on a profile that had been verified for less than 60 days. Google kicked it back automatically, pointed at the rule, and told me to try again with a different requestor.
Two minutes after the denial hit my inbox, the second application came back approved. Same day. Same API. Different requestor email, attached to an older, long-verified listing.
The lesson: pick your applicant carefully. It has to be an email that shows up on the listing's owner or manager list, and that role has to be at least 60 days old. If you just added yourself as a manager yesterday, you are going to wait.
What You Can Actually Do With It
Once you are approved, the API opens up a long list of endpoints. The ones I care about:
Business information. Read and write the listing itself — name, categories, phone, website, description, service area, attributes (wheelchair accessible, free wifi, LGBTQ+ friendly, and so on). If your hours need to change across 30 locations, one script can do it in seconds.
Hours. Regular hours, holiday hours, and secondary hours types like drive-thru, delivery, and pickup. The API treats these as first-class data, so you can push a holiday schedule out in one pass instead of clicking through each profile.
Local Posts. What's New, Event, and Offer posts with images and call-to-action buttons. Same thing Google lets you create by hand, but now you can schedule them, rotate them across locations, or generate them from whatever content system you already have.
Photos and videos. Upload logos, cover photos, interior shots, exterior shots, team photos, product photos, and short videos (up to about 30 seconds, 75MB). This is the piece most people miss. The API does not just handle text — you can push media the same way.
Reviews. This is the big one for me. Read every review that comes in, and post replies through the API. No more logging into the dashboard to reply to a one-star. No more forgetting to respond. The review loop can close itself.
Questions and answers. The Q&A section on the profile. Read new questions, post answers. Customers ask the same five things over and over, and now you can answer them once in code.
Service items. Structured services with descriptions and prices. If you run a service business and you actually care about showing up in "near me" searches, the services section is where Google pulls half of its ranking signal.
Performance insights. Calls, direction requests, website clicks, search impressions (split between direct searches for your name and discovery searches for your category), photo views. The same numbers the dashboard shows you, but in a format you can pipe into a dashboard of your own.
Verifications. Check verification status, start a new verification, respond to a verification challenge.
Attributes. The long list of yes and no flags Google shows below your business name. Pet friendly, outdoor seating, veteran owned. You can set these in bulk.
What I Am Not Going to Do With It
One quick note on what this is not. The GBP API is not a megaphone for spam. Google's policies are clear about automated posting that looks inauthentic, review replies generated without human oversight, and anything that feels like manipulation. If you use the API to flood your profile with low-effort posts, Google will suspend you, and recovering a suspended profile is a completely different kind of nightmare.
The point of the API is not to do more faster. It is to do the same work — real posts, real replies, real updates — with less friction.
What This Unlocks for Me
I am not going to walk through my exact workflow, but the general shape of what the API makes possible:
- My Claude Code setup can reply to reviews through the same loop that handles customer messages.
- My content pipeline can push posts to Google Business Profile the same way it posts to Facebook and LinkedIn, without jumping through a third-party social scheduler.
- The performance numbers show up in my daily dashboards next to the numbers from Google Search Console and Google Analytics.
- When hours change, or a category gets added, or a new service gets launched, one push propagates to every relevant profile at once.
Nothing exotic. Just a handful of workflows that used to live in browser tabs, now living in scripts.
If You Want to Apply
- Make sure the email you are applying with has been an owner or manager on an active verified listing for 60+ days. Check the People tab on your profile. If you added yourself last week, wait.
- Create or pick a Google Cloud project. The API is tied to a specific GCP project, so be deliberate about which one you use.
- Fill out the application at the Google Business Profile API support page. Be specific about what you are going to do with it. Vague answers get denied.
- Expect a response within a few days. If it comes back denied, fix the eligibility issue and reapply. The approval email is the same kind of template as the denial, so do not panic if the first reply is a no.
If you manage one Google Business Profile for your own business, you probably do not need the API. The dashboard is fine. But if you are building anything that connects a CRM, a website, an email system, and a set of local listings — and you want them to actually talk to each other without a human in the middle — the API is the piece that makes it real.
See Also
- Google Business Profile (GMB) — the listing itself and why it matters for local SEO
- Google Search Console — the web search side of the same story
- Claude Code — how I wire any API into a workflow
- Claude Code Deterministic Pattern — the two-layer architecture this plugs into
See Also
This article blends original content, AI-assisted drafting, and human oversight. How I write.
Stay Updated
Get notified when new content is published.
No spam. Unsubscribe anytime.