APIEndpoint 8 of 40Business Data / Profile / NAP & Attributes

Google Business Profile API

The business profile API for the new local SEO stack.

The official Google Business Profile API locks you into OAuth, requires 2-4 week approval, and only works for listings you own. We built infrastructure for the agents working on your behalf — complete business profile data in one POST call, JSON out, any Place ID, no ownership requirement, no approval delays. Name, address, phone, hours, categories, photos, attributes, website, description, verification status. All from a single public Google Business Profile.

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

POST /v1/business/profile1 profile · 2 credits
Business Profile

Joe's Pizza Brooklyn

Pizza Restaurant

4.8 · 542 reviews
124 Fulton St, Brooklyn, NY 11201
(718) 555-0142
joespizza.com
Open · Closes 11 PM
Dine-inTakeoutDeliveryWheelchair accessible
▌ Ask your agent

These prompts are the new business intelligence workflow.

Connect Local SEO Data as an MCP server once (60 seconds, below). Then your agent runs the work. Replace bracketed business names with your own.

Prospect profile audit

Pull the full business profile for [Joe's Pizza in Brooklyn, NY] — hours, categories, photos, attributes, website. Then compare to my competitor's profile. What are they doing differently?

Multi-location operational data

Fetch business profiles for all 12 client locations. Flag any with incomplete hours, fewer than 5 photos, or missing website URL.

Attribute discrepancy detection

Pull the Google Business Profile for [my dental practice]. Compare the attributes Google shows (wheelchair access, insurance accepted) against what I told them. Surface any mismatches.

Competitor profile intelligence

Extract hours, categories, and attributes for my top 3 local competitors. Show me which categories they list that I don't, and which operating hours would let them capture traffic I'm missing.

Real response

What you get back

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

response · application/json~2-3s · 2 credits
{
  "status": "success",
  "credits_used": 2,
  "data": {
    "matched": true,
    "name": "Joe's Pizza",
    "rating": 4.6,
    "reviews_count": 847,
    "address": "7 Carmine St, New York, NY 10014",
    "phone": "(212) 366-1182",
    "website": "http://www.joespizzanyc.com",
    "hours": {
      "Monday": "10:00 AM - 4:00 AM",
      "Tuesday": "10:00 AM - 4:00 AM",
      "Wednesday": "10:00 AM - 4:00 AM",
      "Thursday": "10:00 AM - 4:00 AM",
      "Friday": "10:00 AM - 4:00 AM",
      "Saturday": "10:00 AM - 4:00 AM",
      "Sunday": "10:00 AM - 3:00 AM"
    },
    "categories": ["Pizza restaurant", "Italian restaurant"],
    "photos_count": 1247,
    "description": "Famous NY-style pizza since 1975",
    "attributes": [
      "Dine-in",
      "Takeout",
      "Online ordering",
      "Groups OK",
      "Popular for dinner"
    ],
    "cid": "12345678901",
    "place_id": "ChIJN1t_tDeuEmsRUsoyG83frY4",
    "verified": true,
    "service_area": null,
    "posts_count": 42,
    "suggestions": null
  }
}
Returns

Everything you need to audit and compare business profiles

NAP core

Name, address, phone, website

The canonical business identity across all locations. Critical for citation audits and multi-location consistency checks.

Operating hours

Full-week hours by day, with special hours support

Hours for each day of the week. Use for availability planning and competitor comparison (who closes at 9, who closes at midnight).

Categories and attributes

Primary + secondary categories, 30+ attributes

Business categories (e.g., Pizza restaurant, Italian restaurant). Attributes like dine-in, takeout, delivery, wheelchair access, outdoor seating. Use for competitive positioning and capability verification.

Photos and description

Photo count and business description

Count of photos on the profile (high photo count is a ranking signal) and the business description. Flag when profiles are under-photoeed or have missing descriptions.

Verification and metadata

Claimed/verified status, CID, Place ID, rating/reviews

Whether the business has claimed and verified their profile (ownership indicator). Also CID and Place ID for exact re-lookups. Rating and review count for snapshot comparisons.

Built for

What AI-native operators ship with this

Multi-location operational audits

Agencies pull complete profiles for all 12 client locations on a schedule. Agent flags hours discrepancies, missing photos, incomplete attributes, or mismatched categories. Built once, runs on cron, no manual dashboard review.

For agencies

Competitor profile reconnaissance

Before the pitch call, pull your prospect's profile plus top 3 competitors. Walk in knowing who has weekend hours, who lists delivery, who's photoeed their interior, who's verified. Specific beats generic.

For consultants

Citation building and NAP consistency

Pull your client's profile data from Google, compare to their website footer, their citation sources (BrightLocal, Whitespark data), and your local directory submissions. Agent flags discrepancies. You fix NAP before citation audits begin.

Citation Audit API

Attribute gap analysis for SERP optimization

Pull attributes for your practice across three markets. Compare to your top 3 competitors in each market. Agent extracts: who claims 'wheelchair access' that I don't, who lists 'insurance accepted' that I'm missing. Close the gaps, improve your local footprint.

Competitor Gap API
vs. the alternatives

Why not just use Google's official API?

Google's official Business Profile API requires OAuth, 2-4 week approval, and only works for listings you own or manage. Google's Places API caps data at specific fields and still requires OAuth. For any business you don't own, you're blocked. Here's how the options stack up.

ApproachOwnership requiredSetupCostAI-agent ready
Google Places API (official)Ownership or manager roleOAuth + project setup$17 / 1K callsNo MCP, manual schema
Google Business Profile API (official)Ownership onlyOAuth + 2-4 week approvalFree (gated)No competitor access
Custom scrapingN/ABuild + maintainProxy + CAPTCHA costsBreaks regularly
BrightLocal / WhitesparkNoDashboard UI~$40–50/mo flatManual CSV export
DataForSEO / Outscraper / SerpApiNoAPI key + dev work$0.50–0.75 per callREST only, no MCP
Local SEO Data Profile APINo requirementAPI key + 1-line MCP config$0.01 per callNative 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

Same call, three syntaxes. Pass `business_name` and `location`, or for exact matches use `place_id`. Place IDs are Google's canonical business identifiers — find any business's Place ID in [Google Maps](https://www.google.com/maps) (click the business, look for the alphanumeric code in the URL or share link) or use the `/v1/maps` endpoint to bulk-find them.

terminal · curl
POST /v1/business/profile
curl -X POST https://api.localseodata.com/v1/business/profile \
  -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 call

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 calls)
Starter · $19/mo
1,900
calls/mo at this rate
Per-call cost
$0.01
per profile lookup
FAQ

Common questions

What is the Google Business Profile API?+
A REST endpoint that returns the complete public Google Business Profile for any business — name, address, phone, website, hours, categories, attributes (dine-in, delivery, wheelchair access, etc.), photo count, description, verification status, and rating/review count — in structured JSON. One call returns all profile data and costs 2 credits (~$0.01). The endpoint is POST /v1/business/profile. This is the data layer underneath profile audits, competitor intelligence, and multi-location operational checks.
How does this compare to the official Google Business Profile API?+
Google's official Business Profile API requires you to own or manage the business (OAuth, claim verification, 60+ day account age), and approval takes 2-4 weeks. It's designed for business owners managing their own listings. Our endpoint accepts any Place ID — your competitors, prospects, clients, any business you can identify — no ownership requirement, no approval delays, no OAuth flow. Official API is for managing your own listings; our API is for business intelligence on any business.
What about Google's official Places API?+
Google's Places API returns select fields (name, address, phone, types) and requires OAuth and project setup. It's designed for embedding business info in consumer apps, not for bulk data collection. Our Business Profile endpoint returns the full profile (hours, attributes, description, verification status, photos count) and is priced for bulk lookups. For competitor audits and multi-location checks, the Places API returns too little data; we return everything Google displays on the profile.
Can I get profile data for businesses I don't own?+
Yes — and this is the core reason third-party profile APIs exist. Google's official Business Profile API only works for listings you own or manage via OAuth. Our endpoint accepts any Place ID or business name-location pair — your competitors, your prospects, your client's locations, any business. No verification, no OAuth, no ownership requirement. This is what makes competitor intelligence, pre-pitch audits, and multi-location audits actually work.
What fields does the API return?+
Complete profile: name, address, phone, website, rating, review count, hours (full week by day), categories (primary + secondary), attributes (30+ including dine-in, delivery, takeout, wheelchair access, groups OK, outdoor seating, etc.), photo count, description, CID (Google Maps identifier), Place ID, verification status (claimed/unclaimed/verified), posts count, and service area (if applicable). When no exact match is found, the API returns up to 5 suggestions from Google Maps to help you retry with a precise Place ID.
How do I authenticate with the Business Profile API?+
Authentication uses a Bearer token. Generate an API key from your Local SEO Data dashboard (Settings → API Keys), then include it as Authorization: Bearer sk_live_... in your request headers. The same key works for MCP integration (in your claude_desktop_config.json) and direct REST calls. No OAuth flow, no project setup, no domain verification, and no multi-week approval — the Google Business Profile API requires 2-4 weeks; this is provisioned in 30 seconds. There are no per-endpoint quotas either: your only ceiling is your credit balance. See the authentication docs for key rotation and security.
Is it legal to pull profile data for competitors?+
Google Business Profile data is public data — anyone can read it on Google Maps without authentication. Third-party business-profile APIs have been a standard category for over a decade (DataForSEO, Outscraper, SerpApi, BrightLocal, Whitespark). Google's Terms of Service govern automated access to Google's own services and are a civil contract, not a criminal statute. Federal courts in *hiQ v. LinkedIn* have consistently held that scraping publicly available data does not violate the Computer Fraud and Abuse Act. You're also not the one operating the collection — you're calling a hosted API whose upstream provider operates this surface at scale. If you're running production client work and competitor audits, this is the standard, defensible path. (None of this is legal advice; consult your counsel for your specific use case.)
Where does this profile data come from?+
Business Profile data for this endpoint is aggregated from DataForSEO, our upstream provider for most SERP and business-data endpoints. Profile data refreshes within approximately 24-48 hours of changes being made to a Google Business Profile (hours updated, photos added, attributes modified). For composite endpoints like Business Profile Health API we operate our own first-party collection infrastructure — we name the source because if you're running real client work you should know where the data comes from.
How often should I call the Business Profile API?+
It depends on the workflow. Quarterly for competitive baseline audits (know what competitors are claiming). Monthly for client reporting and profile completeness checks. Weekly for active optimization workflows where you're tracking changes to attributes, hours, or photo count. Daily only if you're monitoring real-time profile changes. Because pricing is per-call (not per-seat or per-location), 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.
Does this work for multi-location businesses?+
Yes, and this is where the agent model earns its keep. Each call pulls profile data for one location, but you can batch as many as you want — the API has no per-call limit beyond your credit balance. Most multi-location operators set a monthly or quarterly agent run across every location. The agent flags which locations are verified vs unclaimed, which have incomplete hours, which have fewer than 5 photos. The Profile Health API composites profile completeness into a score if you want a single per-location report.
How is this different from the Google Reviews API?+
They're complementary, not overlapping. The Google Reviews API returns reviews (author, rating, text, date, owner replies, aggregate stats). The Google Business Profile API returns the profile itself (NAP, hours, categories, photos, attributes, description, verification status). Reviews API is for monitoring what customers say about you. Profile API is for auditing what *you* (or competitors) are claiming about your business. Most operators use both: profile data for operational checks and competitor intel, reviews API for reputation monitoring. They're separate endpoints because the data shapes are different.
Can AI agents use the Business Profile API directly?+
Yes. Two integration paths. MCP: add Local SEO Data to your claude_desktop_config.json (or any MCP-aware client — OpenClaw, Hermes Agent, etc.) and the 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.
What's the difference between Place ID and CID?+
Both are Google identifiers for a business. Place ID is Google Maps' global identifier used across Places API, Maps API, and most third-party tools. CID is a Maps-internal identifier, less portable but still useful for direct lookups. When you call our endpoint, use Place ID in the parameter; when we return data, we give you both so you have options for downstream lookups.
What changed in 2026 that made this category exist?+
MCP — the Model Context Protocol — became standard in late 2024 and went mainstream through 2025. It let agents call external APIs without bespoke integration code. The moment that happened, the right shape of a local SEO data product flipped from "dashboard with a login" to "endpoint your agent calls." The dashboard era is winding down the same way the scraper era is. Meanwhile, the official Google Business Profile API gatekeeping (OAuth, 2-4 week approval, ownership-only access) created a gap for intelligence work: you need business profile data for competitors and prospects, not just for your own listings. The API fills that gap.

Build your first profile audit agent in 60 seconds.

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

▌ MADE FOR THE NEW LOCAL SEO STACK