This section documents the local pack data returned by the Google Search endpoint. These places are part of the same response, so no separate API call is needed. For use cases, pricing context, and copy-paste examples, see the Local Pack API page on the product site.
Overview
Google’s local pack (often called the “3-pack”) is the map-backed block of local businesses that appears for local-intent queries such as best pizza in new york city or plumbers in houston. When this module is present, the response includes a localResults array where each entry is a single place.
The localResults field is omitted from result when the module is absent — treat it as optional rather than expecting an empty array.
The pack only exposes its visible places (typically 3). When Google renders a “More places” / “More businesses” control, the response also includes result.localResultsMoreLink — the absolute URL of Google’s expanded Local Finder for the query. The full expanded list is not embedded in this response; follow that link (or scrape it separately) to retrieve it.
Local pack extraction is desktop only. Mobile SERPs render the pack with a different layout, and Google’s separate hotels/travel pack is a distinct module — neither is surfaced in localResults.
Place structure
position and title are always present. Every other field is included only when Google renders it for that place, so field availability varies by query (restaurant packs tend to carry price; service packs tend to carry yearsInBusiness, phone, and hours).
| Field | Type | Description |
|---|
position | number | Position within the pack (1-indexed) |
title | string | Business name as displayed on the SERP |
placeId | string | Google entity id for the place (e.g. "/g/11bw4ws2mt") |
rating | number | Average star rating (0–5) |
reviews | string | Review count as displayed by Google (e.g. "26K"). Free-form string — not normalized to a number. |
price | string | Price band as displayed by Google (e.g. "$10–20"). Currency symbol matches the locale. |
type | string | Business category (e.g. "Pizza", "Plumber") |
yearsInBusiness | string | Years-in-business badge, when shown (typical on service-style packs) |
address | string | Street address or locality as displayed on the SERP |
phone | string | Phone number, when shown (locale-formatted) |
hours | string | Opening-hours text as displayed (e.g. "Open · Closes 11 PM", "Open 24 hours") |
description | string | Trailing snippet — a review quote or a service-options line |
links | object | Action links, when rendered. See Links below. |
Links
Business and service-style packs (plumbers, salons, dentists, …) render each place with action buttons. When present, links carries the ones we resolve:
| Field | Type | Description |
|---|
website | string | The business’s own website URL |
directions | string | Absolute Google Maps directions URL |
Each key is included only when Google rendered that button. Restaurant packs render places as plain buttons and carry no links object.
Response examples
Field availability varies by pack flavour. Restaurant and retail packs tend to carry price and a review snippet, and render places as plain buttons (no links); service packs tend to carry yearsInBusiness, phone, hours, and links.
Restaurant pack
A response to best pizza in new york city:
{
"success": true,
"result": {
"localResults": [
{
"position": 1,
"title": "Joe's Pizza Broadway",
"placeId": "/g/11bw4ws2mt",
"rating": 4.4,
"reviews": "26K",
"price": "$10–20",
"type": "Pizza",
"address": "1435 Broadway",
"description": "\"Fast service, great atmosphere, and truly scrumptious pizza.\""
},
{
"position": 2,
"title": "John's of Bleecker Street",
"placeId": "/g/11b8zbnw8g",
"rating": 4.6,
"reviews": "8.4K",
"price": "$10–20",
"type": "Pizza",
"address": "278 Bleecker St",
"description": "\"Funky fun vibes, efficient and polite staff, DELICIOUS pizza.\""
}
],
"localResultsMoreLink": "https://www.google.com/search?q=best+pizza+in+new+york+city&udm=1"
}
}
Service pack
A response to plumbers in houston — note yearsInBusiness, phone, hours, and links:
{
"success": true,
"result": {
"localResults": [
{
"position": 1,
"title": "Village Plumbing, Air & Electric",
"placeId": "/g/1td7nq1l",
"rating": 4.8,
"reviews": "10K",
"type": "Plumber",
"yearsInBusiness": "80+ years in business",
"address": "Houston, TX",
"phone": "(281) 344-2270",
"hours": "Open · Closes 8 PM",
"description": "Online estimates · Onsite services not available",
"links": {
"website": "https://villageplumbing.com/",
"directions": "https://www.google.com/maps/dir//Village+Plumbing,+Air+%26+Electric"
}
},
{
"position": 2,
"title": "Cooper Plumbing | Houston Plumber",
"placeId": "/g/11h511y417",
"rating": 4.9,
"reviews": "550",
"type": "Plumber",
"yearsInBusiness": "10+ years in business",
"address": "Houston, TX",
"phone": "(832) 441-9683",
"hours": "Open 24 hours",
"description": "Onsite services not available",
"links": {
"website": "https://www.cooperplumbinghouston.com/",
"directions": "https://www.google.com/maps/dir//Cooper+Plumbing"
}
}
],
"localResultsMoreLink": "https://www.google.com/search?q=plumbers+in+houston&udm=1"
}
}