How to Monitor Local Services Ads & Google Verified Businesses (Step-by-Step Guide)

If you sell to local-service businesses — plumbers, electricians, roofers, law firms, dental clinics, HVAC, locksmiths — the most valuable real estate on the planet for your clients is the very top of a Google local-service SERP. That is where Local Services Ads (LSA), Google Guaranteed, and Google Screened badges live, and that is where 80% of the high-intent clicks go.
This guide walks you through how to monitor Local Services Ads, Google Verified businesses, and local pack rankings at scale — across any city, any vertical, and any query — without writing a single line of code.
Why Monitor Local Services Ads and Google Verified Businesses?
For a local-service business, getting onto the LSA carousel and earning the Google Guaranteed badge is the difference between dominating the market and being invisible. For agencies, marketers, and reputation management vendors who serve those businesses, knowing who Google is currently endorsing in any given market is a permanent competitive advantage.
Local Services Ads are not normal Google ads:
- They appear above organic results, the local pack, and even sponsored search ads
- They display a Google Guaranteed or Google Screened badge that signals Google has vetted the business
- They are pay-per-lead, not pay-per-click — the unit economics are very different from regular PPC
- They require an application and verification process that excludes most competitors by default
That makes the LSA carousel a near-perfect map of the dominant local-service businesses in any market. And tracking it over time tells you who is rising, who is dropping, and where there is still room to break in.
That is exactly what the Local Services Ads & Google Verified Monitor does:
- Captures every business surface on a local-service SERP — LSA, local pack, sponsored, and organic
- Detects Google Guaranteed, Google Screened, and other verified badges
- Tracks rank, ratings, reviews, phone numbers, and websites across paginated results
- Mirrors the searcher's geography and device so the data matches what your customers actually see
What Data You Can Extract
The Local Services Ads & Google Verified Monitor returns a structured record for every business that appears on the SERP — across every surface, every page, and every query. Key fields:
| Field | Description | Example |
|---|---|---|
| query | The exact local-service search query | plumbers in Austin |
| language | Google interface language used for the search | en |
| countryCode | Google country code used for geolocation | us |
| device | Device profile emulated for the search | desktop |
| surface | Where on Google the result was found | google_search |
| businessType | Which business surface — lsa, local_pack, sponsored, organic_local | local_pack |
| pageIndex | Zero-based index of the SERP page | 0 |
| position | Continuous position number across all pages of the query | 1 |
| name | Business name as displayed on the SERP | Reliant Plumbing |
| isSponsored | Whether the result is a paid ad | false |
| isVerified | Whether the business has any verified badge | true |
| verifiedLabel | The exact verified label text | Google Screened |
| isGoogleGuaranteed | Whether the business has the Google Guaranteed badge | true |
| rating | Star rating shown on the SERP card | 4.7 |
| reviewCount | Number of reviews shown on the SERP card | 2900 |
| phone | Phone number surfaced on the result card | (512) 222-6029 |
| website | Business website URL | https://reliantplumbing.com/ |
| profileUrl | Direct link to the business profile or booking surface | google.com/maps/reserve/appt/... |
| scrapedAt | Timestamp when the record was collected | 2026-05-09T07:39:08.401Z |
The combination of businessType, position, and the verification flags is what makes this dataset uniquely valuable. You can answer questions like:
- Who currently owns the LSA carousel for "personal injury lawyer in Miami"?
- Which businesses have the Google Guaranteed badge for "HVAC near me" in 25 different cities?
- How has the local pack changed week-over-week for "roofers in Phoenix"?
- Which sponsored advertisers are aggressive enough to bid above the LSA placements?
Common Use Cases
Local SEO Agencies
If you run a local SEO agency, your reporting starts and ends with rank tracking. The Local Services Ads & Google Verified Monitor gives you a structured ranking dataset for every client query — local pack position, LSA presence, sponsored coverage, and organic position — refreshed on whatever cadence you choose.
Use the dataset to build client-ready reports that show movement over time, surface competitive threats, and prove the impact of your work on Google visibility.
Home Services and Trades Marketers
For agencies that specialize in plumbers, electricians, HVAC, locksmiths, garage door repair, and similar verticals, the LSA carousel is the entire game. Knowing which businesses Google is endorsing — and tracking which ones drop off — lets you target your sales pitches with surgical precision.
A business that just lost its Google Screened badge or fell off the LSA carousel is a prime prospect for an LSA optimization, review acquisition, or reputation management offer.
Law Firm Marketing Agencies
Personal injury, family law, immigration, and other high-intent legal verticals are some of the most competitive niches on Google. The actor lets you track the LSA carousel for legal queries across every metro area, identify firms with Google Screened verification, and benchmark review velocity for your clients.
Combine LSA data with local pack and organic rankings to build a complete picture of legal-search visibility in any market.
Reputation Management Vendors
The combination of rating, reviewCount, and the verified badges is a direct lead-qualification signal. A business with a 3.7-star rating across 200 reviews that just earned a Google Guaranteed badge is in active reputation-building mode and is exactly the kind of prospect a reputation management vendor wants to reach.
Filter the dataset by isGoogleGuaranteed=true and rating ≤ 4.0 to find businesses that are clearly investing in their Google presence but still have a quality gap to close.
Competitive Intelligence and Market Research
For multi-location service businesses, franchisors, and market researchers, the actor produces a structured snapshot of the local-service competitive landscape across any number of cities and verticals. Run it weekly to track market share, badge coverage, and new entrants in every metro you operate in.
LSA Optimization Consultants
If you specialize in helping businesses win Local Services Ads placements, the dataset is your performance benchmark. Track your clients' positions over time, monitor the competitive set around them, and quantify the impact of optimization work — bid changes, badge updates, review acquisition, dispute resolution — directly in Google's own SERP data.
Why Manual SERP Monitoring Doesn't Scale
Building a local-service rank-tracking workflow by hand is brutal:
- Geo accuracy — Google personalizes results based on the searcher's location, IP, and device. Running the same search from your home office gives you a different SERP than your client's customer sees
- Multi-surface parsing — LSA, local pack, sponsored, and organic results each render differently. Extracting them consistently requires parsing several layouts at once
- Badge detection — Google Guaranteed, Google Screened, and other verified labels are rendered with various icons, tooltips, and data attributes that change over time
- Pagination — meaningful rank tracking goes beyond page 1. Manually clicking through 10 pages per query for 50 queries a week is impossible
- Anti-bot defenses — Google aggressively blocks scraping. Datacenter IPs return degraded or empty SERPs almost immediately
- Volume — a single agency with 30 clients across 5 metros is monitoring 150+ queries on every refresh. Scale that to 100 clients and the manual workload is genuinely full-time
A maintained scraper handles every step automatically — geo, device, multi-surface parsing, badge detection, pagination, and proxy rotation — and produces a clean dataset on every run.
Step-by-Step: How to Monitor Local Services Ads
Here is how to use the Local Services Ads & Google Verified Monitor on Apify.
Step 1 — Define Your Search Queries
Start with a clear definition of the queries you want to monitor. The actor accepts any local-service search query — the more specific, the better the SERP you get back:
plumbers in Austinpersonal injury lawyer in Miamiroofers in PhoenixHVAC repair Brooklynfamily law attorney Chicago
You can pass multiple queries in a single run to cover a portfolio of clients, verticals, or cities at once.
Step 2 — Configure Geo and Device
Local Services Ads vary heavily by location and device, so getting these settings right is essential:
language— Google interface language code (en,de,pl, …)countryCode— Google country code for geolocation (us,gb,pl, …)device—desktopormobileto mirror how your customers actually searchlocation— optional, if you want to bias results toward a specific area without baking it into every query
Tip: monitor mobile and desktop separately. The LSA carousel is more aggressive on mobile, where it pushes organic results below the fold entirely.
Step 3 — Choose Your Pagination Depth
Set how deep into Google's results you want to go:
maxPages— how many SERP pages to crawl per query (1–10). Most rank-tracking workflows only need 2–3 pagesmaxResultsPerQuery— global cap on records per query across all pages (1–200). Useful if you only care about the top of the SERP
The actor maintains continuous position numbering across pages, so a result at position 14 on page 2 is reported as position: 14, not position: 4.
Step 4 — Run the Scraper
Click Start. The actor will:
- Build a Google search URL for each query, locale, and device profile
- Route the request through Apify's residential proxy pool
- Render the SERP, dismiss cookie banners, and parse every business surface
- Detect Google Guaranteed, Google Screened, and other verified badges
- Extract ratings, reviews, phone numbers, websites, and profile URLs
- Paginate through additional result pages up to your configured limit
- Push every record to the dataset with continuous position numbering
Default settings — residential proxy, conservative pacing, cookie-consent handling — keep the scrape stable and accurate.
Step 5 — Export Your Results
When the run finishes, export the dataset in your preferred format:
- CSV — drop into client reports, BI tools, or rank-tracking dashboards
- JSON — for developers building custom monitoring pipelines
- Excel — for marketing teams that prefer to analyze in a spreadsheet
- API — pull results programmatically into your stack
Ready to try it? Run the Local Services Ads & Google Verified Monitor on Apify and get your first dataset in minutes.
Example Output (Real Data Preview)

Here is what the actual output looks like. Each business surface is one row, with businessType telling you exactly which part of the SERP it came from:
[
{
"query": "plumbers in Austin",
"language": "en",
"countryCode": "us",
"device": "desktop",
"surface": "google_search",
"businessType": "local_pack",
"pageIndex": 0,
"position": 1,
"name": "Reliant Plumbing",
"isSponsored": false,
"isVerified": false,
"verifiedLabel": null,
"isGoogleGuaranteed": false,
"rating": 4.7,
"reviewCount": 2900,
"phone": "(512) 222-6029",
"website": "https://reliantplumbing.com/",
"address": null,
"profileUrl": "https://www.google.com/maps/reserve/appt/place/...",
"scrapedAt": "2026-05-09T07:39:08.401Z"
},
{
"query": "personal injury lawyer in Miami",
"language": "en",
"countryCode": "us",
"device": "desktop",
"surface": "google_search",
"businessType": "sponsored",
"pageIndex": 0,
"position": 4,
"name": "Miami Personal Injury Lawyers",
"isSponsored": true,
"isVerified": false,
"verifiedLabel": null,
"isGoogleGuaranteed": false,
"rating": null,
"reviewCount": null,
"phone": null,
"website": "https://www.jasonturchin.com/practice-areas/personal-injury/",
"address": null,
"profileUrl": null,
"scrapedAt": "2026-05-09T07:39:08.401Z"
}
]
Things to notice:
- businessType makes the dataset sliceable — filter by
lsa,local_pack,sponsored, ororganic_localto analyze any one surface in isolation - Continuous position numbering —
positionis global across all pages of a query, so you can compare positions across runs even when SERPs grow or shrink - Verification flags are explicit —
isVerified,verifiedLabel, andisGoogleGuaranteedare separate booleans you can filter on directly, not strings buried in card text - Ratings handle Google's quirks —
4.7 (2.9K)andRated 4.5 out of 5, (1,809) user reviewsboth parse cleanly into numericratingandreviewCountfields - Geo and device metadata travel with every row — every record stamps its
language,countryCode, anddevice, so multi-locale datasets stay attributable
This format is ready to drop into a rank-tracking dashboard, a client report, or a BigQuery table without additional parsing.
Try the Local Services Ads & Google Verified Monitor now — no coding required.
Automating SERP Monitoring
For any agency or in-house marketer, monitoring is something that has to happen on a schedule, not on-demand. The Apify platform supports full automation:
Scheduled Runs
Set up recurring scrapes — daily, weekly, or monthly. Local Services Ads change constantly as Google rebalances bids, applications, and badges. A weekly run gives most agencies enough resolution to spot threats and report movement to clients without flooding the dataset.
For high-stakes verticals like personal injury or HVAC in peak season, daily runs are appropriate.
API Integration
Use the Apify API to trigger runs programmatically and pull results into your stack:
- Pipe results into BigQuery, Snowflake, or Postgres for long-term ranking history
- Trigger Slack alerts when a client drops out of the LSA carousel or local pack
- Build a custom client portal that visualizes rankings, badge coverage, and competitor moves
- Feed structured data into AI agents that draft client-ready insight summaries
Multi-Metro Pipelines
If you operate across multiple cities, run parallel monitoring per metro and combine results into a unified dataset. The query, countryCode, and device fields make every record self-attributing, so multi-metro datasets stay clean and segmentable.
Node.js Example
For a complete working example showing how to call this scraper from Node.js, see the GitHub repository.
Webhooks
Configure webhooks to fire when a run completes. This is perfect for event-driven monitoring pipelines — as soon as fresh data lands, your alerting and reporting layer can react immediately.
Tips for Getting the Most Out of the Dataset
Track Rank Changes, Not Just Snapshots
A single SERP snapshot is interesting; a sequence of snapshots is valuable. Store the dataset from every run and join on query + name to compute rank deltas, badge gains and losses, and review-count growth over time. That is the underlying data for any serious rank-tracking dashboard.
Use businessType as Your Primary Cut
Every analysis should start with a businessType filter. Mixing LSA, local pack, sponsored, and organic results into a single chart is misleading because they are completely different surfaces with different ranking logic. Build separate views for:
- LSA carousel —
businessType = "lsa", sort byposition - Local pack —
businessType = "local_pack", top 3 results - Paid coverage —
businessType = "sponsored", count per query - Organic —
businessType = "organic_local", traditional rank-tracking
Pair Mobile and Desktop Runs
Run the same queries with device: "desktop" and device: "mobile" and compare the SERPs. Mobile SERPs are dominated by LSA and local pack — organic results are barely visible above the fold. For verticals where most searches come from mobile (HVAC, locksmiths, towing), mobile rankings matter far more than desktop.
Filter for Verified Businesses
isGoogleGuaranteed=true is a signal that the business has gone through Google's vetting process — license verification, insurance verification, background checks. These are the businesses Google trusts enough to put on the LSA carousel, which makes them an ideal lead segment for any service that helps businesses win or defend that placement.
Combine with Local Lead Mining
For full-funnel local marketing, combine the SERP-monitoring dataset with the Local Google Maps Lead Miner to enrich every business that appears on the SERP with emails, social links, and AI-generated pitch angles. The result is a list of businesses that are already winning in Google's eyes, with everything you need for personalized outreach.
Does Google Offer an API for This?
Google does provide several APIs, but none of them solve the rank-monitoring problem cleanly:
- Google Ads API is for advertisers managing their own campaigns, not for monitoring third-party LSA placements
- Custom Search JSON API returns sanitized organic results without LSA, local pack, or badge metadata
- Places API covers business profiles but not SERP rankings, and has strict per-call billing that becomes prohibitive at monitoring volumes
- Google Business Profile API is restricted to a business's own profile data
Building a SERP-level rank tracker that captures LSA, local pack, sponsored, and organic results — with proper geo and device emulation — is something Google explicitly does not offer an API for. The Local Services Ads & Google Verified Monitor is purpose-built for this gap.
Why Use a Pre-Built Monitor Instead of Building One
Building a Google SERP scraper that produces clean, multi-surface data is much harder than it looks:
- Anti-bot defenses — Google is one of the most aggressively protected web properties. Datacenter IPs return degraded or empty SERPs almost immediately. Residential proxies, request pacing, and fingerprint randomization are non-negotiable
- Multi-surface parsing — LSA, local pack, sponsored, and organic results render with different layouts that change over time. Maintaining parsers for all four surfaces is a continuous engineering effort
- Badge detection — Google Guaranteed and Google Screened badges are rendered with icons, tooltips, and data attributes that don't share a single selector. Detecting them reliably requires careful, defensive parsing
- Geo emulation — getting accurate geo-targeted SERPs requires getting language, country code, IP geolocation, and device profile right at the same time. Any mismatch produces SERPs that don't match what real customers see
- Pagination — Google's pagination has changed multiple times in recent years (continuous scroll, "More results" buttons, classic page numbers). A scraper has to handle all of them
- Maintenance — Google rolls out SERP changes constantly. A custom scraper needs ongoing fixes to stay reliable
Using a maintained, pre-built tool means you spend your time on client work, not on babysitting scraping infrastructure.
Try the Local Services Ads & Google Verified Monitor
The Local Services Ads & Google Verified Monitor turns Google local-service searches into a clean, multi-surface ranking dataset — LSA, local pack, sponsored, organic — across any city, any vertical, and any device.
What you get:
- Structured JSON, CSV, Excel, or HTML output ready for rank-tracking dashboards
- Every business surface on the SERP — LSA, local pack, sponsored, and organic — tagged with
businessType - Continuous position numbering across paginated results
- Explicit verification flags —
isVerified,verifiedLabel,isGoogleGuaranteed - Ratings and review counts parsed from both organic and local-pack card formats
- Phone numbers, websites, and profile URLs where Google surfaces them
- Geo and device targeting — country, language, desktop or mobile
- Residential proxy by default to dodge Google's anti-bot defenses
- Configurable depth — up to 10 pages per query, up to 200 records per query
- Scheduled runs, API access, and webhook support for full automation
Start monitoring local-service SERPs now — your first run takes less than 5 minutes to set up.
Legal and Ethical Considerations
Web scraping for SERP monitoring sits in a well-established legal space, but responsible practice still matters:
- Public data only — the actor extracts data that is shown to any visitor performing the same Google search. No login, no authentication, no protected APIs
- Business data, not personal data — the actor focuses on business listings, badges, and rankings, not on personal data of individual users
- Respect rate limits — the actor uses conservative pacing and residential proxy rotation to avoid putting unusual load on Google
- Compliance with privacy law — if your downstream use involves processing personal data of business owners (for outreach, for example), ensure compliance with GDPR, CCPA, CAN-SPAM, and any local equivalents
- No spam — use the data for legitimate market research, rank tracking, and outreach. Do not abuse phone numbers or contact details surfaced by the SERP
Treat the data with the same care you would expect for your own business — that is the difference between a sustainable monitoring pipeline and one that gets shut down.
Frequently Asked Questions
What are Local Services Ads (LSA) and Google Guaranteed?
Local Services Ads are pay-per-lead ads that appear at the very top of Google search results for local-service queries like plumbers, electricians, or lawyers. Google Guaranteed and Google Screened are the trust badges Google attaches to vetted businesses on those ads. Together, they are the most valuable real estate on a local-service SERP, and they are surfaced exclusively to businesses Google has chosen to endorse.
Is monitoring Local Services Ads on Google legal?
Yes. Scraping publicly visible Google search results is generally legal. The actor only collects data that is shown to any visitor performing the same search. Use the data responsibly, comply with applicable data privacy laws, and avoid sending spam to the businesses you discover.
What input does the Local Services Ads & Google Verified Monitor accept?
You provide a list of local-service search queries — for example, plumbers in Austin or personal injury lawyer in Miami. You can optionally set a country, language, and device profile (desktop or mobile) to mirror exactly what real searchers see in your target market.
Can I track rankings across multiple pages of Google results?
Yes. The actor crawls up to 10 Google result pages per query and assigns continuous position numbers across pages. This lets you track how a business moves between page 1 and page 2 over time, and how the local pack and LSA placements change relative to organic results.
What is the difference between LSA, local pack, sponsored, and organic results?
Local Services Ads (LSA) are the pay-per-lead ads at the top with the Google Guaranteed or Screened badge. The local pack is the 3-pack of map-based businesses below the ads. Sponsored results are traditional Google text ads. Organic results are the regular blue links. The actor tags every record with a businessType so you can slice the dataset by surface.
Why does the actor use residential proxies by default?
Google aggressively blocks datacenter IPs and serves heavily degraded or empty SERPs to suspicious traffic. Residential proxies make the scrape look like real-user traffic from the target country, which keeps the data complete and the run reliable.
About the Author
This guide was written by Piotr, a software engineer with hands-on experience building and maintaining web scrapers at scale. He develops and maintains a suite of data extraction tools on the Apify platform, helping businesses automate their data collection and lead generation workflows.
Need help with your scraping project?
Book a free discovery call and let's scope your project together.
Book a Call