Google Business Profile Audit & Competitor Check
Pricing
$20.00 / 1,000 business auditeds
Google Business Profile Audit & Competitor Check
Google Business Profile (GBP, GMB) audit tool for local SEO: a 0–100 score, what is missing and why it matters, owner replies, posts, photos, hours, booking links, and a comparison with the competitors Google Maps ranks around it. By link, place id, CID or name. Report as CSV, JSON or API. No login.
Pricing
$20.00 / 1,000 business auditeds
Rating
0.0
(0)
Developer
Steady Scrape
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Google Business Profile Audit & Competitor Check (GMB audit)
Audit any Google Business Profile (formerly Google My Business) in seconds: a 0–100 completeness score, a letter grade, the list of what is missing — each item with why it matters and how to fix it — and a comparison with the competitors Google Maps ranks first around the business: their scores, ratings, reviews and photos, and which items they have that the business lacks.
One business or 500 in a run. Give a Google Maps link, a place id, a CID, or just "name, city". No login, no browser, no Google API key, no other Actor to run first.
What it reads from each profile
Everything Google Maps shows a signed-out visitor on the profile:
| Area | Fields |
|---|---|
| Ownership | claimed (false when Google offers "Claim this business"), markedClosed |
| Contact | website and websiteType (own, free-builder, social, directory, none — a Facebook page is not a website), phone, phoneInternational, address, lat, lng |
| Categories | primaryCategory, additionalCategories |
| Hours | openingHours (one line per day), moreHours (Happy hours, Takeout, Delivery…) |
| Content | description (the owner's "From the business" text) and descriptionLength, googleSummary (the line Google writes itself), photoCount |
| Activity | postsShown, latestPostAt (owner updates), newestReviews: the five newest reviews' dates, average stars, how many have an owner reply and the date of the latest reply |
| Reputation | rating, reviewCount, ratingHistogram (1★ to 5★ counts), reviewTopics (what reviews mention most, with counts) |
| Conversion | actionLinks (Book online / Reserve a table / Order online, with the booking partner when Google names it), reservationLinks |
| Extras | accessibility (the features the place has), highlights (owner badges such as "Identifies as women-owned") |
No reviewer names or review texts are written: the audit only counts and dates them.
The score and its weights
Thirteen items, 100 points. Every check in the output says its points, its maximum, the value found, why it matters, and the fix when it is not complete.
| Item | Points | Full marks when |
|---|---|---|
| Profile claimed by its owner | 10 | no "Claim this business" on the profile |
| Own website linked | 12 | a site on the business's own domain (free builder 70 %, social or directory page 30 %) |
| Phone number | 8 | a phone is listed |
| Opening hours | 8 | weekly hours are set |
| Business description | 8 | 250+ characters (shorter: half) |
| Primary and additional categories | 6 | primary + 2 or more additional (1 additional: 60 %, primary only: 30 %) |
| Photos | 10 | 100+ (25+: 70 %, 10+: 40 %, 1+: 10 %) |
| Star rating | 10 | 4.5+ (4.0+: 70 %, 3.5+: 40 %) |
| Number of reviews | 10 | 100+ (50+: 70 %, 20+: 40 %, 1+: 10 %) |
| Recent reviews | 5 | newest review within 30 days (within 90: half) |
| Owner replies to reviews | 7 | the owner answered all five newest reviews (pro rata) |
| Recent updates (posts) | 4 | a post within 30 days (within 90: half) |
| Booking, reservation or order link | 2 | any Book, Reserve or Order button or reservation link |
Grades: A 85+, B 70+, C 55+, D 40+, F below 40.
The competitor comparison
For each business, the Actor runs one Google Maps search for its primary category (or a keyword you choose, such
as emergency dentist) at the business's own location, the way a customer nearby sees it, and audits the first
N places (default 3, up to 10) with the same score. You get:
competitorKeywordRank: where the business itself ranks for that search at its own door (1–20, ornull);competitors: each one's rank, score, grade, rating, reviews, photos, claimed status, website type, newest review, latest post, owner replies, and the items it has in full;gaps: the items on which competitors score more than the business, with how many and which;benchmarks: the competitors' median score, rating, reviews and photos, and the business's position among them.
Other branches of the same brand (places linking the same website) are never counted as competitors. Businesses of one city often share competitors: each place is read once per run.
Built for local SEO agencies
- Prospecting: audit a list of businesses of one niche and city and pitch the D and F profiles first — unclaimed ones, no website, no replies to reviews — with a ready "what to fix" list for each.
- Client onboarding and monthly reports: the score, the missing list and the gap to the top 3 competitors, in a dataset you can push to a sheet, a CRM or a PDF template.
- Before / after: re-run the same audit after the profile work and show the score move.
- Companion to rankings: pair it with our Google Maps Rank Tracker (geo-grid) to show where the business ranks across town and what to change on the profile to rank higher.
Input example
{"businesses": ["https://www.google.com/maps/place/Swish+Dental+Downtown/data=!4m2!3m1!1s0x8644b5b434046875:0x644e6eb422388b7a","ChIJM8w7rqS1RIYRhEz2-KuoqzE","Uchi Austin, Austin TX"],"competitors": 3,"competitorKeyword": "","language": "en","country": "us"}
A link, place id or CID is exact. A name is looked up on Google Maps and accepted only when Google answers with a single place or a place that carries that name; otherwise the row says which places Google listed and asks for the link.
Output example (shortened)
{"rowType": "audit","status": "ok","name": "Swish Dental Downtown","placeId": "ChIJdWgENLS1RIYReos4IrRuTmQ","cid": "7227836171923524474","mapsUrl": "https://www.google.com/maps?cid=7227836171923524474","score": 94,"grade": "A","missing": [{ "item": "photos", "label": "Photos", "pointsLost": 3, "value": "25 photo(s)", "why": "Profiles with many photos get more direction requests and website clicks; recent photos also show the place is real and active.", "fix": "Upload photos of the outside, inside, team and work until the profile has 100 or more." },{ "item": "ownerReplies", "label": "Owner replies to reviews", "pointsLost": 3, "value": "owner replied to 3 of the 5 newest reviews", "why": "Answering reviews is a trust and ranking signal; customers read the replies, above all to bad reviews.", "fix": "Reply to every review, the newest first, within a few days." }],"claimed": true,"primaryCategory": "Dentist","additionalCategories": ["Cosmetic dentist", "Dental clinic", "…"],"websiteType": "own","phone": "(512) 713-1099","rating": 4.5,"reviewCount": 991,"ratingHistogram": { "oneStar": 81, "twoStars": 23, "threeStars": 18, "fourStars": 31, "fiveStars": 838 },"photoCount": 25,"descriptionLength": 610,"postsShown": 5,"latestPostAt": "2026-09-29T22:13:17.000Z","newestReviews": { "sampleSize": 5, "newestAt": "2026-10-16T01:21:40.118Z", "oldestAt": "2026-10-13T22:37:00.939Z", "averageStars": 3.8, "withOwnerReply": 3, "latestOwnerReplyAt": "2026-10-16T03:22:12.000Z" },"actionLinks": [{ "kind": "book", "label": "Book online", "provider": "subscribili.com" }],"competitorComparison": "done","competitorKeyword": "Dentist","competitorKeywordRank": 3,"competitors": [{ "rank": 1, "name": "Breeze Dental", "score": 92, "grade": "A", "rating": 4.8, "reviewCount": 1002, "photoCount": 26, "claimed": true, "ownerRepliesInNewest": "3 of 5", "…": "…" }],"gaps": [{ "item": "ownerReplies", "label": "Owner replies to reviews", "competitorsAhead": 1, "competitorsCompared": 3, "competitors": ["Toothbar"] }],"benchmarks": { "competitorsCompared": 3, "medianScore": 92, "medianRating": 4.9, "medianReviewCount": 735, "medianPhotoCount": 47, "reviewCountPosition": 2, "photoCountPosition": 4, "scorePosition": 1 },"checks": ["… all thirteen checks with points, value, why and fix …"]}
An input that could not be audited is a free row with rowType: "business" and a status: business_not_found,
invalid, blocked or spending_limit, with the reason.
What is not available without logging in (and is not promised)
Google Maps shows a signed-out visitor less than the owner sees in their dashboard. This Actor does not report:
social profile links, the menu link, the services and products lists, the full "About" attribute list beyond
accessibility features and highlights, owner photos apart from customer photos (photoCount is the profile's total),
the reply rate over all reviews (only the five newest are read), Q&A, or the owner's insights (calls, clicks,
searches). Items that need a login are left out of the score rather than guessed.
Pricing
Pay per event, no start fee:
| Event | Price |
|---|---|
audit — one business audited, competitor comparison included | US$0.02 |
100 audits with 3 competitors each: US$2. Free: businesses not found, invalid inputs, blocked rows, businesses left out by your spending limit, and an audit whose competitor comparison could not finish because Google refused it. The spending limit is checked before each audit starts, so nothing is read that your limit cannot pay for.
Stops when Google asks for verification
The Actor reads the same answers Google Maps gives its own web page, at a moderate pace (two requests in flight).
If Google ever asks for verification — its "unusual traffic" page, a CAPTCHA, a JavaScript check, or any answer
that is not Google Maps' normal data — the run stops sending requests: every business left is a free blocked
row that says so, and the run ends normally with a message. It never solves, bypasses or replays a challenge. Plain
overloads (HTTP 429 or 5xx without a challenge) are retried through Apify's datacenter proxy.
Limits
- Up to 500 businesses and 10 competitors each per run.
- The newest-reviews figures cover the five newest reviews Google shows (ordered by last edit, as Google orders them).
- Ranks and competitors are those of Google Maps' list for the search at the business's location, seen as a signed-out visitor from the run's IP; they can differ slightly from what a logged-in user sees.
- Language and country set how categories, hours and labels are written; use the business's own country.
Is it legal?
It reads publicly visible business profiles, at a pace a person browsing the map could produce, without logging in. It writes no personal data of reviewers. Use the data in line with Google's terms and the laws that apply to you.