APIEndpoint 40 of 40Audits / Profile / Completeness & Optimization

Business Profile Health API

The profile health audit API for the new local SEO stack.

Profile health audits used to mean logging into BrightLocal, running a GBP audit, and manually comparing your profile to competitors. This is one POST call. Your agent gets a completeness score (0–100), list of missing fields (no menu link, no business hours for Saturday), incomplete fields (short description, low-quality photos), photo count, Q&A activity, posts-in-30-days count, verification status, and specific optimization recommendations. All in structured JSON in 3–5 seconds.

POST /v1/profile/health · 2 credits / call

POST /v1/audit/profile-healthJoe's Pizza Brooklyn
Profile Health Score
78out of 100
Rankings25%82
Reviews30%91
Profile completeness25%67
Citation consistency20%74
▌ Ask your agent

These prompts are the new profile-health workflow.

Connect Local SEO Data as an MCP server once (60 seconds, below). Then your agent audits profile completeness on schedule. Replace bracketed business names with your own.

Pre-pitch profile health check

Pull the profile health score for [Joe's Pizza in Brooklyn, NY]. Show me their completeness score, what fields are missing (menu link, hours, description), and what they should fix first to rank better.

Multi-location profile audit

Run profile health audits for all 12 client locations. Flag any location with a score below 85 or missing critical fields like business hours or primary photo.

Profile optimization roadmap

Pull the health score for [my business]. List every missing or incomplete field. Prioritize them by impact — which fixes will improve ranking the most?

Competitive profile intelligence

Compare profile health scores for [my business] vs my top 3 local competitors. Who has the most complete profile. What categories and attributes are they claiming that I'm missing.

Real response

What you get back

Live response from POST /v1/profile/health for a sample Brooklyn pizzeria.

response · application/json~3–5s · 2 credits
{
  "status": "success",
  "credits_used": 2,
  "data": {
    "matched": true,
    "completeness_score": 78,
    "verified": true,
    "photos_count": 23,
    "qa_count": 14,
    "posts_last_30d": 0,
    "missing_fields": [
      "menu_link",
      "appointment_link"
    ],
    "incomplete_fields": [
      "hours_saturday",
      "business_description"
    ],
    "recommendations": [
      "Add a menu link — pizza restaurants with menus get 25% more clicks",
      "Fill Saturday hours — 40% of pizza searches happen on weekends",
      "Expand business description — currently 20 words; optimal is 100–150",
      "Post a Google Post — no activity in 30 days signals staleness; post weekly",
      "Add 10+ more photos — you have 23; competitors average 35+",
      "Respond to Q&A — 14 questions with 0 owner responses; each reply boosts authority"
    ]
  }
}
Returns

The profile health metrics that matter for local rankings

Completeness score

0–100 score measuring profile optimization

Composite score reflecting how fully filled out the Google Business Profile is. Higher scores correlate with more clicks, more direction requests, and stronger local pack rankings.

Missing fields

Critical fields that are completely empty

List of fields your profile doesn't have: menu link, appointment link, business hours, service categories, business description, or primary photo. Each empty field is a ranking signal you're leaving on the table.

Incomplete fields

Fields that are partially filled or suboptimal

Fields present but weak: description too short (fewer than 100 characters), Saturday hours not listed, photos present but fewer than industry average, Q&A unanswered. These don't zero out your score but suppress it.

Photo and Q&A counts

Activity signals that impact visibility

Count of photos on the profile (higher is a ranking signal). Count of Q&A interactions (unanswered questions signal to Google that you're inactive). Count of posts in last 30 days (freshness signal). Flag when these are below category average.

Optimization recommendations

Actionable improvements ranked by ranking impact

Specific fixes prioritized by what will lift your ranking the most. Add a menu (25% more clicks for restaurants). Fill Saturday hours (40% of searches on weekends). Respond to Q&A (increases credibility). Written for agents and humans.

Built for

What AI-native operators ship with this

Pre-pitch prospect profile audits

Before a sales call, pull a prospect's profile health score. Walk in knowing their completeness score, top 5 missing fields, and a ranked list of optimization wins. You'll know more about their profile than they do. Closing rate goes up.

For consultants

Monthly multi-location profile tracking

Agencies cron a monthly profile health audit across all client locations. Agent flags any location dropping below a 90 score, surfaces new missing fields, and drafts client recommendations. Built once, runs on schedule, scales to 100 locations.

For agencies

Profile optimization roadmap

Pull your profile health audit, rank the missing and incomplete fields by impact. Work through them systematically: add menu, fill hours, write description, add photos, post monthly, respond to Q&A. Within 90 days, profile health typically moves from 72 to 92. Track improvement monthly.

Profile Health API

Competitive profile gap analysis

Pull profile health audits for yourself + top 3 local competitors monthly. See who's strengthening their profile (adding categories, posting weekly, responding to Q&A) and who's staling out (no posts in 60 days, unanswered Q&A). Use that to roadmap your own profile strategy.

Competitor Gap API
vs. the alternatives

Why not just use BrightLocal, Whitespark, or Google's dashboard?

Dashboard-era profile audit tools (BrightLocal, Whitespark, Synup, Sprout Social, Reputation.com) charge $14–$49+ per month and are built for humans to log in and review reports. For agent workflows, multi-location audits, or scheduled profile intelligence, they're too slow and too expensive. Here's how the options stack up.

ApproachCost per auditSetupSpeedAgent-ready
Manual audit (Google dashboard only)1–2 hours labor per auditNone (log in)Manual, 30–60 minNo
BrightLocal GBP Audit$39+ /mo (~$1.30 per audit at 30/mo)Dashboard setup~5–10 min per reportCSV export only
Whitespark Profile Audit$24–$49 /mo (~$0.80–1.60 per audit)Dashboard + setup~5–10 min per reportManual export
Sprout Social Listings$249+ /mo, per-seatSetup + training~10–15 min per reportLimited API
Synup$199–$799 /moIntegration + training~5–10 min per reportLimited
Reputation.com$199+ /moIntegration + setup~5–10 min per reportLimited API
Local SEO Data Profile Health API$0.01 per auditAPI key + 1-line MCP config~3–5 secondsNative MCP, agent-first
Connect in 60 seconds

Use it from your agent

Two integration surfaces: MCP for clients that speak MCP, REST API for everything else.

Direct MCP integration

Drop-in support in Claude Desktop, OpenClaw, Hermes Agent, and any MCP-aware client.

Add to your client's MCP config (e.g. claude_desktop_config.json):

{
  "mcpServers": {
    "localseodata": {
      "url": "https://mcp.localseodata.com",
      "headers": {
        "Authorization": "Bearer sk_live_..."
      }
    }
  }
}

REST API

For Perplexity Computer, ChatGPT Custom GPTs, custom agents, and any platform that calls REST endpoints directly.

Base URL:

api.localseodata.com

See the docs for endpoint reference and auth.

Quickstart

Your first call in three lines

One call, three syntaxes. Pass `business_name` and `location`, or for exact matches use `place_id`. The endpoint returns a completeness score (0–100), list of missing and incomplete fields, photos/Q&A/posts counts, verification status, and actionable recommendations. Place IDs are Google's canonical business identifiers — find any business's Place ID in [Google Maps](https://www.google.com/maps) or use the `/v1/maps` endpoint.

terminal · curl
POST /v1/profile/health
curl -X POST https://api.localseodata.com/v1/profile/health \
  -H "Authorization: Bearer sk_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "business_name": "Joe'"'"'s Pizza",
    "location": "Brooklyn, NY"
  }'
Pricing for this endpoint

$0.01 per profile audit

Pay-as-you-go starts at $5. Monthly plans from $19. Funds never expire. No seat fees, ever.

Free tier
50
credits on signup (5,000 profile audits)
Starter · $19/mo
1,900
calls/mo at this rate
Per-call cost
$0.01
per profile health audit
FAQ

Common questions

What is the Business Profile Health API?+
A REST endpoint that audits Google Business Profile completeness and returns a 0–100 health score, list of missing fields (menu link, business hours, service categories), list of incomplete fields (description too short, fewer photos than competitors), activity counts (photos, Q&A, posts in 30 days), verification status, and actionable optimization recommendations. One call costs 2 credits (~$0.01). This is the data layer underneath profile optimization workflows, pre-pitch audits, and multi-location compliance checks.
How is the profile health score calculated?+
The 0–100 profile health score factors in: whether all 15 core fields are filled (name, address, phone, website, hours, description, primary category, secondary categories, attributes, services, photos, Q&A, posts). Fields that are present but suboptimal (description under 100 characters, fewer photos than category average) lower the score. Unanswered Q&A and no posts in 30 days also impact the score. The endpoint discloses what raises and lowers the score so you know exactly what to fix. We publish our methodology because if you're running production client work you need to know what you're measuring.
Why does profile completeness matter for local rankings?+
Google uses profile completeness as a ranking signal. Businesses with complete and fully optimized Google Business Profiles receive 7 times more clicks than those with incomplete listings, see 42% more direction requests, and get 35% more website clicks on average. Conversely, each missing field (no menu, no hours, no description) is a signal to Google that the business is inactive or unmanaged. Profile completeness carries an estimated 15–20% weight in Google's Relevance ranking factor for local pack results.
How does this compare to BrightLocal, Whitespark, and other dashboard tools?+
BrightLocal, Whitespark, Synup, Sprout Social Listings, and Reputation.com are dashboard-era profile audit tools designed for humans to log in and view reports. They cost $14–$49+ per month. The Profile Health API is designed for agents — your Claude prompt calls this endpoint, gets JSON, and acts on the result without a dashboard. Cost comparison: if you run 100 audits per month, BrightLocal costs you $39–90/month; the Profile Health API costs $1 total. If you're building agent workflows or need scheduled audits, this is the right tool. If you want a dashboard for your team to browse, those tools are better.
What fields does the profile health audit check?+
The Profile Health API checks the 15 core Google Business Profile fields: business name, address, phone, website, full business hours (all 7 days), business description, primary category, secondary categories, business attributes (30+), service categories, photos (count and quality), Q&A (count and response rate), and posts/activity (count in last 30 days, 90 days). Each missing or incomplete field is flagged separately so you know exactly what to fix. Missing fields are more critical than incomplete ones.
Can I use this for businesses I don't own?+
Yes — and this is the core use case for consultants, agencies, and competitive intelligence. Pull a profile health audit for a prospect before a sales call. You walk in knowing their completeness score, their top 5 missing fields, and what fixes would move the needle most. The API accepts any business name, address, and location, so you can audit competitors, prospects, or your own clients. This is standard practice in the industry — profile audits are how local SEO operators do discovery.
How fresh is the profile data?+
Profile data refreshes within approximately 24–48 hours of changes being made to a Google Business Profile (photos added, hours updated, description edited). Google Business Profile API documentation states that changes to verified business listings typically appear in search results within 24 hours. Because profile optimization is iterative (add a photo Monday, add hours Tuesday), run audits weekly during active optimization phases, monthly for maintenance tracking.
Where does this data come from?+
Profile health scores are derived from profile data aggregated from DataForSEO, our upstream provider for business profile endpoints. DataForSEO aggregates from Google Business Profile's public API surface. We apply our own first-party scoring logic to calculate the completeness score, identify missing/incomplete fields, and generate optimization recommendations. This combination of upstream data + first-party scoring logic is why we're more opinionated than raw profile endpoints — we're not just returning Google data, we're analyzing it.
Can my AI agent use this directly?+
Yes. Two integration paths. MCP: add Local SEO Data to your claude_desktop_config.json and your Claude agent calls this endpoint from any prompt. REST: any agent that can make HTTPS calls — ChatGPT Custom GPTs, Perplexity Computer, custom Python agents — hits api.localseodata.com directly with the Bearer token. You don't write integration code. You write the prompt.
How does this work for multi-location businesses?+
Each call audits one business location (one business name + address combination). For multi-location clients, batch as many calls as you need — the API has no per-location cap beyond your credit balance. Agencies typically cron a monthly audit across every client location using a single Claude agent. The agent batches all locations in one run, surfaces locations with scores below a threshold, and flags new missing fields. Most efficient for agencies: one monthly agent run across all locations, agent surfaces only what needs attention.
What's the difference between missing fields and incomplete fields?+
Missing fields are completely empty: no menu link, no business hours for Saturday, no Q&A section claimed. These are critical and directly lower your ranking. Incomplete fields are present but weak: description exists but is only 20 words (optimal is 100–150), photos exist but you have 23 and competitors average 35+, hours filled for most days but Saturday is blank. Incomplete fields also impact ranking but are easier to fix — expand the description, add 15 more photos, fill remaining hours. The API flags both separately so you know what's blocking you vs. what's just suboptimal.
Does this detect photo quality?+
The current Profile Health API returns photo count (a ranking signal). Future versions will include photo quality assessment (resolution, composition, freshness). For now, the API flags low photo counts compared to category and competitor average. Pair this with the Google Business Profile API endpoint to fetch the photo URLs themselves if you want to evaluate them visually.
How often should I audit my profile health?+
It depends on the workflow. Quarterly for competitive baseline audits and prospect discovery. Monthly for client reporting and compliance checks. Weekly during active optimization (adding photos, filling hours, writing description, responding to Q&A). Daily only if you're launching a major profile refresh and tracking changes hour-to-hour. Because pricing is per-call (not per-seat), there's no penalty for frequency beyond actual usage. Most agencies do a monthly sweep across all client locations, flag changes via agent, and surface only what needs human attention.
What changed in 2026 that made profile health audits necessary?+
Two things: MCP (Model Context Protocol) became standard, making it practical for agents to call specialized APIs without bespoke integration code. Second, profile optimization shifted from a dashboard task for humans to a signal for agents — agencies and consultants now need to pull profile audits as part of prospect discovery, client monitoring, and multi-location compliance workflows. Meanwhile, the dashboard era (BrightLocal, Whitespark) kept pricing tied to seats and monthly subscriptions, making bulk audits expensive. The API era lets you scale audits to 100 locations for $1 per month instead of $39+. Profile Health API is a native 2026 category.

Run your first profile health audit in 60 seconds.

50 free credits on signup. Your first profile audit happens through Claude, not curl.

▌ MADE FOR THE NEW LOCAL SEO STACK