Pull the Google Guaranteed and Google Screened pros for any US trade and city as clean JSON, with ratings, badges, and phone numbers.
I kept getting the same ask from people who sell to home-service businesses: "can you get me the Google Guaranteed pros for a city, with phone numbers?" That list sits in the Local Services Ads unit at the very top of Google, and there is no export button anywhere on it. So I built an API that returns it.
The Google Local Services API turns Google Local Services Ads into a lead list: give it a trade and a US city, and it returns the Google Guaranteed and Google Screened providers as clean JSON, with ratings, badges, and phone numbers.
One row per provider, ready to drop into a lead-gen workflow:
Business name, business type, and profile link
Google Guaranteed or Google Screened badge, as booleans
Star rating and total review count
Phone number in international format
Service area, years in business, and current hours
Stable place IDs (cid, bid, pid, dataCid) for repeat runs
Coverage is US only, since that is where Google runs this ad surface, across about 109 supported service types.
Open the Google Local Services API and click Try for free.
Set a service like hvac and a US city like Austin, TX.
Run it and export the rows as JSON, CSV, or Excel.
The same run works over the Apify REST API, so it drops into any pipeline:
POST /v2/acts/johnvc~google-local-services-api/runs
Content-Type: application/json
Authorization: Bearer YOUR_APIFY_TOKEN
{"queries":["hvac"],"location":"Austin, TX"}Pay per business returned, so cost scales with the data you keep rather than the number of calls.
Connected through the Apify MCP server, the API becomes a tool that Claude, Claude Code, or Cursor can call mid-conversation. Ask "pull every Google Guaranteed electrician in Austin with phone numbers" and the agent runs the search and reads back real rows, no scraping code.
Each trade is its own ready-to-run task: HVAC leads, Roofing leads, Plumber leads, Solar leads, and the Google Screened personal injury lawyer leads. See all fifteen on the project page. Common builds: lead lists for agencies selling to the trades, weekly tracking of who holds the top Local Services slots, and competitor rating and badge monitoring.
Each run reads the live Local Services Ads listing for the service and city you request, so the badges, ratings, and phone numbers reflect what Google shows searchers at run time. Schedule it to build a week-over-week history.
You are charged per business row returned, plus a small one-time fee to resolve each unique location string to its Google place. A typical 20-business listing runs about a dime, and passing a dataCid from a previous run skips the resolution fee.
Yes. Add the API to any MCP client through the hosted Apify MCP server, and Claude, Claude Code, or Cursor can call it like any other tool, with the same service-and-city inputs and no code.
Google Guaranteed covers home services like plumbers, electricians, and HVAC; Google Screened covers professional services like lawyers and real estate agents. Both come back as dedicated boolean fields, so you can filter to either.
Yes. The Google Local Services API supports agentic payments via the x402 protocol, so AI agents and MCP clients can pay for runs in USDC on Base with no Apify account or API token. Point your agent at the Apify MCP server and it can discover, pay for, and run the scraper autonomously; the Apify x402 announcement has the details.
Have a service or metro that returns nothing? Open an issue on the actor page and I usually reply within a day.
0
0
0