GBP Completeness Audit - Score Google Business Profiles avatar

GBP Completeness Audit - Score Google Business Profiles

Pricing

from $0.50 / 1,000 results

Go to Apify Store
GBP Completeness Audit - Score Google Business Profiles

GBP Completeness Audit - Score Google Business Profiles

Score any Google Business Profile against an 8-signal completeness rubric. Flags profiles missing a website or ownership claim as HIGH-priority leads for local SEO agencies. Zero-fetch, zero-LLM. Pay-per-result.

Pricing

from $0.50 / 1,000 results

Rating

0.0

(0)

Developer

NanoScrape

NanoScrape

Maintained by Community

Actor stats

0

Bookmarked

23

Total users

15

Monthly active users

2 days ago

Last modified

Share

GBP Completeness Audit

Score any Google Business Profile against an 8-signal completeness rubric. Surfaces high-priority local SEO leads: profiles with no website or an unclaimed listing. Zero fetches, zero LLM, zero API keys.

Feed it the output of the Google Maps Scraper and get one score row per business, ready to sort in a sheet or push into a CRM.

What It Does

For every input place record the actor evaluates 8 signals:

SignalWeightFull credit when
Website1 ptwebsite is set
Phone1 ptphone is set
Hours1 ptopen_hours is populated
Description1 ptdescription is set
Category1 ptcategory or categories is set
Photos0 / 0.5 / 1 pt0 / 1-4 / 5+ photos
Reviews0 / 0.5 / 1 pt0 / 1-9 / 10+ reviews
Claimed1 ptowner object present

Total points are scaled to a 0-100 gbp_completeness_score. The actor also returns:

  • sub_scores - per-signal raw score, so you can rebuild your own weighting
  • missing_fields[] - the field names that scored 0, ready to hand to the business owner
  • lead_priority_flag - HIGH when the profile has no website OR is unclaimed, NORMAL otherwise

HIGH profiles are the sweet spot for local SEO agencies: the business exists on Google Maps but has not claimed its listing or built a website.

Input

Two shapes are accepted, and you can mix them in a single run.

Flat places list (natural shape, just pipe the google-maps-scraper output):

{
"places": [
{ "place_id": "ChIJN1t_tDeuEmsRUsoyG83frY4", "title": "Example Restaurant Ltd.", "website": "..." }
]
}

Companies shape (with a company_id passthrough for join-back to your CRM):

{
"companies": [
{ "company_id": "acme-42", "place": { "place_id": "ChIJ...", "title": "Acme Widgets GmbH" } }
]
}

Output

One row per input place:

{
"company_id": "acme-42",
"place_id": "ChIJN1t_tDeuEmsRUsoyG83frY4",
"cid": "10281019595535971924",
"name": "Example Restaurant Ltd.",
"gbp_completeness_score": 88,
"sub_scores": {
"has_website": 1, "has_phone": 1, "has_hours": 1, "has_description": 0,
"has_category": 1, "photo_count": 0.5, "review_count": 1, "is_claimed": 1
},
"missing_fields": ["description"],
"lead_priority_flag": "NORMAL",
"scraped_at": "2026-07-17T10:30:00Z"
}

How To Use It

  1. Run Google Maps Scraper to collect places for a niche and city.
  2. Feed the dataset into this actor as places.
  3. Sort the output by lead_priority_flag = HIGH and gbp_completeness_score ascending.
  4. Pitch those businesses first. They have the most room to improve, which makes them the easiest to close.

Pricing

Pay-per-result via Apify Pay-Per-Event billing:

EventPriceDescription
Actor start$0.001Charged once per run
Place audited$0.003Charged per scored place

Auditing 1,000 places costs about $3. No monthly fees, no minimums.

Discovery:

Enrichment:

Issues & Feature Requests

If a signal is missing or you would score things differently, open an issue on the actor's Issues tab and we will take a look.