Google Local API | Local Pack & Business Search SERPs avatar

Google Local API | Local Pack & Business Search SERPs

Pricing

from $0.01 / 1,000 results

Go to Apify Store
Google Local API | Local Pack & Business Search SERPs

Google Local API | Local Pack & Business Search SERPs

Search Google Local results - the local pack inside Google Search SERPs. Extract businesses with rating, reviews, phone, hours, place_id, GPS coordinates. Country, language, and device targeting. Pay per page. MCP-ready for AI agents.

Pricing

from $0.01 / 1,000 results

Rating

5.0

(3)

Developer

John

John

Maintained by Community

Actor stats

3

Bookmarked

4

Total users

3

Monthly active users

5 days ago

Last modified

Share

Google Local API | Local Pack & Business Search SERPs (MCP-ready)

Search Google Local results - the local pack inside Google Search SERPs - and get clean JSON back. Local businesses with rating, reviews, phone, hours, place_id, GPS coordinates, ads, and related place suggestions. Pay per page. MCP-ready for Claude, ChatGPT, Cursor, and other AI agents.

Pass a search query (and optionally a city) and the Actor returns the same structured data Google shows in the local pack on its Search results page: titles, ratings, review counts, addresses, phone numbers, opening hours, business categories, price tiers, place IDs, GPS coordinates, action links (directions, website, order, phone, reservations), and the related-place suggestions Google surfaces under the main results. Country, language, Google domain, and device controls are all exposed.

This is the only Apify Actor focused on the Google Local Search SERP (the local pack inside a normal Google Search), as opposed to scraping Google Maps directly. The result is 100% reliability (no browsers, no captchas), the exact data layout Google ships to users on the web, and per-page pricing that is predictable regardless of how many businesses appear.


Use with Claude, ChatGPT, Cursor & other AI agents (MCP)

This Actor is a first-class tool on the Apify MCP Server. Any MCP-compatible AI agent - Claude (Desktop, Web, Code), ChatGPT (via custom GPT or MCP bridge), Cursor, VS Code, Cline, Windsurf, Kilo Code, Opencode, Glama - can discover and call this Actor in natural language.

What an AI agent does with this:

User: "Find me the highest-rated dentists in Brooklyn that take walk-ins."

Agent calls search-actors("google local") on the Apify MCP server, picks this Actor, calls it with {"q": "dentists walk-ins", "location": "Brooklyn, New York, United States", "max_pages": 2}, gets the local pack businesses back, ranks them by rating and review count, and returns a short list to the user with phone numbers.

Quick setup - Claude Desktop

Add this to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
"mcpServers": {
"apify": {
"command": "npx",
"args": ["-y", "@apify/actors-mcp-server"],
"env": {
"APIFY_TOKEN": "YOUR_APIFY_API_TOKEN"
}
}
}
}

Restart Claude Desktop. Then ask Claude something like "Find vegan restaurants in Austin with at least 4.5 stars and 200+ reviews." Claude will discover this Actor, ask permission to call it, and return structured results.

Quick setup - Cursor / VS Code / Cline / Windsurf

These editors support dynamic tool discovery, so after the first call this Actor is registered as a named tool for the rest of the session, and subsequent prompts skip the discovery step entirely.

Point your MCP client at:

https://mcp.apify.com

…with header Authorization: Bearer YOUR_APIFY_API_TOKEN. Full setup: Apify MCP integration docs.

Quick setup - ChatGPT (and other static MCP clients)

ChatGPT, Gemini CLI, and Amazon Q connect through the same https://mcp.apify.com endpoint and call this Actor via the generic call-actor tool. Same result, just no session-level tool registration.

Use cases for AI agents

  • Local lead-gen agents - "Pull every plumber in {city} with under 50 reviews so I can pitch SEO services."
  • Local SEO copilots - "Where does {brand} rank in the local pack for 'best coffee' across these 25 cities?"
  • Reservation / booking assistants - "Find me three Italian places near Union Square with a 4.5+ rating and a phone link."
  • Competitor monitoring agents - "Watch the top-3 local pack results for 'pediatric dentist Brooklyn' weekly."
  • Market research agents - "How many CrossFit gyms are in each of these 100 zips, and what is the median rating?"

What this Actor does

A Google Local search wrapper that takes a query and returns the local pack businesses Google would show on the Search results page, plus the local ads and the related-place suggestions Google adds beneath them. Localize by country, language, Google domain, and device. Set max_pages to walk through more results. Each page is one billable event.

Whether you are powering an AI agent through MCP, building a local-business directory, running local SEO rank tracking, or generating outreach lists, this Actor produces the structured local pack data you need.

SEO benefit: Local pack data lets agencies and in-house teams measure visibility for geo-targeted keywords, benchmark competitors, and prioritize Google Business Profile optimization.


What data you get

FieldDescription
Business detailsTitle, type/category, description, price tier ($, $$, $$$, $$$$)
Ratings & reviewsAverage star rating, total review count, raw review text label
ContactAddress, phone number, opening hours, "Open 24 hours" labels
Identifiersplace_id (Google CID), provider_id, lsig signature, place-search URL
Geogps_coordinates (latitude + longitude) for every listing
Action linksDirections, website, order, schedule, phone (when available)
MediaThumbnail image, large thumbnail
Service optionsDine-in, takeout, delivery, in-store shopping, curbside pickup, no-contact delivery, etc.
AdsPaid local placements (Google Local Ads) with the same business fields plus an ad title
Related places"Discover more places" suggestions Google appends under the main results
Paginationpagination.current (page index). Use the max_pages input to fetch more pages.
MetadataPages processed, total results estimate, pagination status

Key features

Comprehensive coverage - Every public local pack field Google returns: rating, reviews, phone, hours, GPS, place_id, service options, ad placements, related places.

Country, language, and Google domain controls - gl (200+ country codes), hl (200+ languages), google_domain (regional google.* domains). Localize the search exactly the way a real user in that market would see it.

Device emulation - device switches between desktop (about 20 results per page) and mobile (about 10 results per page) layouts.

Smart pagination - Set max_pages to fetch as many pages as you need, or 0 for unlimited (bounded by a 20-page safety cap). The Actor walks pages automatically; you do not need to manage offsets.

Transparent pay-per-page pricing - $0.02 setup + $0.02 per page. No subscriptions, no result-count surprises, no per-business markup.

Production-grade reliability - API-backed instead of browser-based, so no captchas, no proxies, no rate-limit gymnastics. Schema-validated output. Structured error records for invalid input.

Pre-flight budget check - Before any work is done, the Actor compares the projected cost against your remaining spending limit and exits cleanly with an InsufficientFunds error record if there is not enough headroom.

MCP-ready - First-class tool on the Apify MCP Server for Claude, ChatGPT, Cursor, and any other MCP-compatible agent.


Usage examples

{
"q": "coffee",
"location": "Austin, Texas, United States",
"max_pages": 1
}

Example 2: Local SEO rank tracking

{
"q": "best pizza",
"location": "Brooklyn, New York, United States",
"gl": "us",
"hl": "en",
"max_pages": 3
}

Example 3: International market

{
"q": "boulangerie",
"location": "Paris, France",
"google_domain": "google.fr",
"gl": "fr",
"hl": "fr",
"max_pages": 2
}

Example 4: Mobile layout

{
"q": "gym near me",
"location": "San Francisco, California, United States",
"device": "mobile",
"max_pages": 2
}

Example 5: Specific place by Google CID

{
"q": "the standard hotel",
"ludocid": "14414772292044717666",
"max_pages": 1
}

Example output

Each dataset item is one page of Google Local results. Excerpt:

{
"page_number": 1,
"search_timestamp": "2026-05-12T10:30:00.123456",
"search_parameters": {
"q": "coffee",
"location": "Austin, Texas, United States",
"gl": "us",
"hl": "en",
"device": "desktop",
"max_pages": 1
},
"search_metadata": {
"pages_processed": 1,
"max_pages_set": 1,
"pagination_limit_reached": false,
"total_results_estimate": null
},
"local_results": [
{
"position": 1,
"title": "Houndstooth Coffee",
"rating": 4.6,
"reviews_original": "(1.2K)",
"reviews": 1200,
"price": "$$",
"type": "Coffee shop",
"address": "401 Congress Ave Suite 100C, Austin, TX",
"hours": "Open until 7 PM",
"place_id": "1234567890123456789",
"gps_coordinates": {"latitude": 30.2672, "longitude": -97.7431},
"service_options": {"dine_in": true, "takeout": true, "delivery": false},
"links": {
"directions": "https://www.google.com/maps/dir/?...",
"website": "https://houndstoothcoffee.com",
"order": "https://order.example.com/houndstooth"
},
"thumbnail": "https://lh3.googleusercontent.com/...",
"thumbnail_large": "https://lh3.googleusercontent.com/...",
"place_id_search": "https://www.google.com/maps?cid=1234567890123456789"
}
],
"ads_results": [],
"local_map": {"image": "https://..."},
"discover_more_places": [
{"title": "Best coffee", "places": "Mozart's, Cafe Medici, Houndstooth..."}
],
"pagination": {"current": 1}
}

Input parameters

ParameterTypeRequiredDefaultNotes
qstringyescoffeeSearch query
locationstringnoAustin, Texas, United StatesCity-level location; cannot combine with uule
uulestringno-Google-encoded location for precise targeting
google_domainstringnogoogle.comRegional Google domain
glstringnous2-letter country code
hlstringnoen2-letter language code
ludocidstringno-Google CID for a specific place
tbsstringno-Advanced filter string
deviceenumnodesktopdesktop, tablet, or mobile
max_pagesintegerno10 = unlimited (safety cap 20)

Pricing

This Actor uses Apify's pay-per-event model:

EventCostWhen charged
setup$0.02Once per run
page_processed$0.02Per page of results

Worked example: a 10-page run costs $0.02 (setup) + 10 x $0.02 (pages) = $0.22. A single-page run costs $0.04. Failed validation (missing q, conflicting location + uule) writes a structured error record to the dataset and exits without charging anything beyond setup.

You always know your maximum cost up front: setup + (max_pages x page_processed).


How to get started

  1. Click Try for free at the top of this Actor's Apify Store page.
  2. Set a q (search query) and, if you want geo-targeted results, a location.
  3. Run the Actor. Each page is pushed as its own dataset item; you can export to JSON, CSV, or Excel.
  4. (Optional) Wire this Actor into Claude, ChatGPT, or Cursor through the Apify MCP Server - see the MCP section above.

FAQ

Q1. Is this a Google Maps scraper? No. This Actor targets the Google Local Search SERP - the local pack inside a normal Google Search results page. The data layout, ranking, and ad behavior differ from Google Maps. Use this when you care about the SERP surface (local SEO rank tracking, snippet-style results, ad presence inside Search) rather than the Maps app.

Q2. How many businesses are returned per page? Roughly 20 on desktop and 10 on mobile, matching what Google ships. Set device and max_pages to control.

Q3. Will my cost spike if Google returns more results than I expected? No. You pay per page fetched, not per business. The cost of a single-page run is fixed at $0.04 regardless of how many local results that page contains.

Q4. Why both location and uule? location is the easy path (just a city name). uule is for advanced users who want sub-city or coordinate-level precision via Google's encoded-location format. They cannot be used together.

Q5. What happens if I supply an invalid input? The Actor exits with a structured error record before doing any billable work. No setup or page charges are applied.

Q6. Does this work with AI agents through MCP? Yes. See the Use with Claude, ChatGPT, Cursor & other AI agents (MCP) section near the top. MCP-compatible clients can discover and call this Actor natively.

Q7. Where do I see results? In the Apify console under your run's Dataset tab. Export as JSON, CSV, or Excel from there. Each dataset item is one page; iterate them to walk all results.


Whether you are wiring this up as an MCP tool for Claude, ChatGPT, or Cursor - or pulling Google Local data directly through Apify's API - you will have clean, structured local pack results in minutes. Click Try for free to run your first search.

Last Updated: 2026.05.12