Local SEO
Overview
For local businesses, Maps rankings and listing quality can drive more leads than organic search. These tools cover live Maps SERP analysis, business listing audits with completeness scoring, and historical tracking for tracked sites.
get-business-listings
Searches Google Maps for local businesses by category, name, or description. Returns address, phone, rating, hours, and other listing data. Great for competitive landscape analysis.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
categories | array | No* | Business categories (up to 10) |
title | string | No* | Business name to search for (max 200 chars) |
description | string | No* | Business description to search for (max 200 chars) |
is_claimed | boolean | No | Filter by verified businesses (default true) |
location_coordinate | string | No | GPS: "latitude,longitude,radius" (radius in km) |
filters | array | No | Advanced filters (e.g., ["rating.value", ">", 3]) |
order_by | array | No | Sorting rules |
limit | integer | No | Max results (1–1000, default 10) |
offset | integer | No | Skip this many results (for paging through large lists) |
*At least one of categories, title, or description is required.
Example
"Find pool contractors near Bethesda, MD within 30 miles."
get-local-maps-ranking
Returns the live Google Maps SERP for a keyword and location. See exactly which businesses rank in the map pack with their ratings, review counts, and addresses.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
keyword | string | Yes | The keyword to search Maps for |
location_name | string | No | Location (e.g., "Maryland"). Defaults to US |
location_coordinate | string | No | GPS: "latitude,longitude,radius" |
depth | integer | No | Number of results (1–100, default 20) |
Example
"Who ranks in Google Maps for 'pool builder' in Bethesda, Maryland?"
get-local-listing-audit
Scores a business listing's completeness on a 0–100 scale. Checks claimed status, website, phone, hours, categories, photos, rating, and reviews. Optionally compares against nearby competitors.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
title | string | No* | Business name to search for |
cid | string | No* | Google Maps CID for exact lookup |
location_coordinate | string | No | GPS coordinates (required for competitor comparison) |
include_competitors | boolean | No | Include scored competitors from the same category |
*At least one of title or cid is required.
Example
"Audit the Google Business Profile for 'Elysium Pools' near Bethesda, MD and compare against competitors."
get-local-maps-ranking-history
Tracks Google Maps ranking positions over time for a tracked site. Requires a Google Business Profile CID connected and sync-local-maps-ranking to have run. Takes site_id (required), optional tracked_keyword_id to filter, and optional days (1–365, default 90).
get-local-listing-audit-history
Tracks listing completeness scores over time for a tracked site. See if your GBP optimization efforts are improving your score. Takes site_id (required) and optional days (1–365, default 90).
Tips
- Workflow:
get-local-listing-auditto score a listing → optimize the GBP (add photos, hours, categories) →sync-local-listing-auditto refresh →get-local-listing-audit-historyto confirm improvement.
get-gbp-reviews
Fetches live Google Business Profile reviews for a tracked site. Requires an active GBP integration. Filter by reply status to find reviews that need a response, or by minimum star rating to focus on negative feedback. Useful for reputation management workflows.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
site_id | integer | Yes | The site ID (must have an active GBP integration) |
filter | string | No | Filter reviews: all (default), needs_reply, has_reply |
min_rating | integer | No | Minimum star rating to include (1–5) |
limit | integer | No | Max reviews to return (1–100, default 20) |
sort | string | No | Sort order: newest (default), oldest, rating_high, rating_low |
Example
"Show me all Google reviews for my site that haven't been replied to yet, sorted by newest first."
Tips
- Use
filter: needs_replyto find reviews waiting for a response — great for daily reputation management. - Combine
min_rating: 1withfilter: needs_replyto prioritize responding to negative reviews. - Each review includes
has_reply,reply_comment, andreply_timeso you can see existing responses.