Local SEO Audit — The All-in-One Local SEO Auditor avatar

Local SEO Audit — The All-in-One Local SEO Auditor

Pricing

from $0.01 / 1,000 results

Go to Apify Store
Local SEO Audit — The All-in-One Local SEO Auditor

Local SEO Audit — The All-in-One Local SEO Auditor

Run a comprehensive local SEO audit for any business in one click. Get a weighted 0-100 score covering Google Business Profile completeness, citation consistency, review health, competitor positioning, and website technical SEO. No other Apify actor does all five.

Pricing

from $0.01 / 1,000 results

Rating

0.0

(0)

Developer

The Howlers

The Howlers

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Local SEO Audit — The Only All-in-One Local SEO Auditor on Apify

Run a comprehensive local SEO audit for any business in one click. Get a weighted 0-100 score covering Google Business Profile completeness, citation consistency, review health, competitor positioning, and website technical SEO. No other Apify actor does all five.

What You Get

1. GBP Profile Completeness (30% of score)

Scrapes Google Maps and checks whether the business has:

  • Business description
  • Hours of operation
  • Phone number
  • Website link
  • Photos (and how many)
  • Reviews
  • Q&A section
  • Categories
  • Service areas

Each field earns points toward a 0-100 GBP completeness score.

2. Citation Consistency (25% of score)

Searches 5 major directories for the business and checks NAP (Name, Address, Phone) consistency:

  • Yelp — largest local review platform
  • BBB — Better Business Bureau
  • Yellow Pages — legacy directory, still indexed heavily
  • Facebook — social citation
  • Apple Maps — growing mobile importance

Each directory found with matching NAP earns full points. Partial matches (name found but phone differs) earn partial credit.

3. Review Summary (20% of score)

From the Google Maps profile:

  • Total review count
  • Average star rating
  • Estimated review velocity (reviews in last 30/90 days from relative dates)
  • Owner response rate

Higher ratings, more reviews, and active owner responses score higher.

4. Competitor Snapshot (15% of score)

Searches Google Maps for the business's primary category + city:

  • Extracts top 5 competitors (configurable up to 10)
  • Shows each competitor's rating and review count
  • Calculates where the target business ranks
  • Higher rank = higher score

5. Website Technical Check (10% of score)

If the business has a website, checks:

  • Does it load (HTTP 200)?
  • Has a <title> tag?
  • Has a meta description?
  • Has Schema.org / JSON-LD markup?
  • Has viewport meta tag (mobile-friendly)?

6. Overall Local SEO Score

Weighted average: GBP (30%) + Citations (25%) + Reviews (20%) + Competitors (15%) + Website (10%)

Plus actionable recommendations for every area where points were lost.

Who Should Use This

Local SEO Agencies

Audit prospects before sales calls. Show clients their score vs. competitors. Track improvements over time with scheduled runs.

Small Business Owners

Understand your local SEO health without hiring an agency. Get clear, actionable next steps.

Reputation Management Services

Identify citation inconsistencies and missing directory listings across clients.

Marketing Consultants

Add local SEO audits to your service offering. White-label the data into client reports.

Competitive Intelligence

Benchmark any local business against their market. Identify gaps and opportunities.

Quick Start

Demo Mode (Free Test)

{
"demoMode": true
}

Returns a realistic full audit for a fictional plumbing company. No scraping, no charges.

Audit a Business by Name

{
"businessName": "Joe's Plumbing",
"city": "Austin",
"state": "TX",
"demoMode": false
}

Audit by Google Maps URL

{
"googleMapsUrl": "https://www.google.com/maps/place/Your+Business/...",
"demoMode": false
}

Full Audit with Webhook

{
"businessName": "Blue Bottle Coffee",
"city": "San Francisco",
"state": "CA",
"checkCitations": true,
"checkWebsite": true,
"includeCompetitors": true,
"maxCompetitors": 5,
"webhookUrl": "https://hooks.zapier.com/hooks/catch/123456/abcdef/",
"demoMode": false
}

Minimal Audit (GBP + Reviews Only)

{
"businessName": "Main Street Bakery",
"city": "Portland",
"state": "OR",
"checkCitations": false,
"checkWebsite": false,
"includeCompetitors": false,
"demoMode": false
}

Input Parameters

ParameterTypeDefaultDescription
businessNamestring-Business name to audit
citystring-City location
statestring-State abbreviation
googleMapsUrlstring-Direct Google Maps URL (overrides name search)
websitestring-Website URL (auto-detected from GBP if omitted)
checkCitationsbooleantrueCheck NAP on Yelp, BBB, Yellow Pages, etc.
checkWebsitebooleantrueRun technical SEO checks on website
includeCompetitorsbooleantrueSearch for competitors on Google Maps
maxCompetitorsnumber5Max competitors to include (1-10)
demoModebooleantrueReturn sample data for free testing
webhookUrlstring-Webhook URL for results delivery
proxyConfigurationobjectResidentialProxy settings for browser

Output Format

{
"businessName": "Joe's Plumbing",
"city": "Austin",
"state": "TX",
"auditDate": "2026-03-26T10:30:00.000Z",
"overallScore": 72,
"gbpScore": 85,
"gbpDetails": {
"hasDescription": true,
"hasHours": true,
"hasPhone": true,
"hasWebsite": true,
"hasPhotos": true,
"photoCount": 23,
"hasReviews": true,
"hasQA": false,
"hasCategories": true,
"hasServiceAreas": true,
"profileUrl": "https://www.google.com/maps/place/..."
},
"citationScore": 60,
"citations": [
{
"directory": "Yelp",
"found": true,
"nameMatch": true,
"addressMatch": true,
"phoneMatch": false,
"url": "https://www.yelp.com/biz/joes-plumbing-austin"
}
],
"reviewScore": 78,
"reviewSummary": {
"totalReviews": 142,
"averageRating": 4.3,
"estimatedReviews30d": 8,
"estimatedReviews90d": 22,
"ownerResponseRate": 0.65
},
"competitorScore": 70,
"competitorSnapshot": {
"targetRank": 3,
"totalCompetitors": 5,
"competitors": [
{
"name": "ABC Plumbing",
"rating": 4.7,
"reviewCount": 312,
"rank": 1
}
]
},
"websiteScore": 80,
"websiteDetails": {
"url": "https://joesplumbing.com",
"loads": true,
"statusCode": 200,
"hasTitle": true,
"title": "Joe's Plumbing - Austin TX",
"hasMetaDescription": true,
"hasSchemaMarkup": true,
"hasMobileViewport": true
},
"recommendations": [
"Add Q&A to your Google Business Profile",
"Fix phone number mismatch on Yelp listing",
"Respond to more reviews (current rate: 65%)"
]
}

Pricing (Pay-Per-Event)

EventDescriptionPrice
audit_completedPer business audited$0.25

Example costs:

  • 1 audit: $0.25
  • 10 audits: $2.50
  • 50 audits: $12.50
  • Demo mode: $0.00

Common Scenarios

Scenario 1: Prospect Audit for Sales Call

{
"businessName": "Target Prospect Business",
"city": "Chicago",
"state": "IL",
"demoMode": false
}

Run before a sales call. Show the prospect their score and specific gaps.

Scenario 2: Monthly Client Health Check

Schedule monthly runs for each client. Track score trends over time. Feed results into reporting via webhook.

Scenario 3: Market Competitor Analysis

{
"businessName": "Your Client",
"city": "Denver",
"state": "CO",
"includeCompetitors": true,
"maxCompetitors": 10,
"demoMode": false
}

See how your client stacks up against every competitor in their category.

Scenario 4: Citation Cleanup Project

{
"businessName": "Client Business",
"city": "Miami",
"state": "FL",
"checkCitations": true,
"checkWebsite": false,
"includeCompetitors": false,
"demoMode": false
}

Identify which directories have incorrect NAP data. Fix the mismatches.

Webhook & Automation

Zapier

  1. Create a Webhook trigger (Catch Hook)
  2. Paste the URL into webhookUrl
  3. Route audit results to Google Sheets, Slack, CRM, etc.

Make.com

  1. Create a Webhooks module (Custom webhook)
  2. Add webhook URL to configuration
  3. Build scenarios to process audit results

n8n

  1. Add a Webhook node
  2. Configure with webhook URL
  3. Chain with processing nodes

Scheduled Runs

Schedule daily, weekly, or monthly runs in Apify Console for ongoing monitoring.

FAQ

Q: Do I need any API keys or logins?

A: No. The actor scrapes public data from Google Maps and directories. No credentials needed.

Q: How accurate are the citation checks?

A: The actor searches each directory for your business name + location and checks the NAP data on the results page. Fuzzy matching handles minor variations (e.g., "St." vs "Street").

Q: What if my business doesn't appear on Google Maps?

A: If the business can't be found, you'll get a GBP score of 0 with a recommendation to create a Google Business Profile.

Q: How long does an audit take?

A: Typically 60-120 seconds for a full audit (GBP + citations + competitors + website).

Q: Can I audit a competitor?

A: Yes. Enter any business name and location. The audit works for any business with a Google Maps presence.

Q: What if the business has multiple locations?

A: Run separate audits for each location. Use city + state to target the specific location.

Common Problems & Solutions

"Business not found on Google Maps"

  • Check spelling of business name
  • Try the exact name as it appears on Google Maps
  • Provide a googleMapsUrl directly instead

"Low citation score but I know we're listed"

  • Directories may use a different business name spelling
  • Address format may differ (Suite vs Ste, Street vs St)
  • Phone number format may vary ((512) 555-1234 vs 512-555-1234)

"Website check failed"

  • Site may block automated requests
  • SSL certificate issues can prevent loading
  • Provide the correct URL in the website parameter

"Review count showing 0 but business has reviews"

  • Google Maps sometimes doesn't fully render the reviews panel on first load
  • The actor retries up to 3 times with fresh browser sessions
  • Try providing a direct googleMapsUrl instead of business name search

Technical Details

  • Browser: Camoufox stealth browser (C++ fingerprinting) with standard Firefox fallback
  • Crawler: Crawlee PlaywrightCrawler with automatic retries (3 for GBP, 2 for competitors)
  • Proxy: Apify residential proxies for anti-detection
  • GBP Selectors: Battle-tested selector set from Google Maps Scraper — 3-strategy review count, 3-strategy photo count, 18+ description selectors, consent overlay handling
  • Citations: Simple fetch() requests (no browser needed) with fuzzy NAP matching
  • Website Check: Simple fetch() with HTML parsing — no browser needed
  • Memory: 4 GB default
  • Timeout: 5 minutes default, recommended 10 minutes for full audit with competitors
  • Debug: Saves a screenshot to the key-value store (debug-gbp-screenshot) for diagnosing extraction issues

Support


Built by John Rippy | Actor Arsenal