---
title: "Get location details"
method: GET
path: "/v1/accounts/{accountId}/gmb-location-details"
tags: ["GMB Location Details"]
---

# Get location details

`GET /v1/accounts/{accountId}/gmb-location-details`

Returns detailed GBP location info (hours, description, phone, website, categories, services). Use readMask to request specific fields.

## Path parameters

- `accountId` string, required

## Query parameters

- `locationId` string
- `readMask` string

## Response `200`

Location details fetched successfully

- object
  - `success` boolean
  - `accountId` string
  - `locationId` string
  - `location` object, nullable — Compact public-facing summary derived from Google's `metadata`. Useful for surfacing the "leave a review" URL (e.g. behind a QR code) without parsing the raw block. Always populated regardless of readMask. For unverified or new locations Google omits placeId/reviewUrl/mapsUri, so those return as null and `isVerified` is false.
    - `name` string, nullable — Business name as set in GBP
    - `placeId` string, nullable — Google Maps Place ID for this location
    - `reviewUrl` string, nullable — Public "write a review" URL Google generates for this place
    - `mapsUri` string, nullable — Public Google Maps URL for this location
    - `isVerified` boolean — True when the location has Voice of Merchant (verified + live on Google)
  - `title` string — Business name
  - `regularHours` object
    - `periods` object[]
      - `openDay` 'MONDAY' | 'TUESDAY' | 'WEDNESDAY' | 'THURSDAY' | 'FRIDAY' | 'SATURDAY' | 'SUNDAY'
      - `openTime` string — Opening time in HH:MM format
      - `closeDay` string
      - `closeTime` string
  - `specialHours` object
    - `specialHourPeriods` object[]
      - `startDate` object
        - `year` integer
        - `month` integer
        - `day` integer
      - `endDate` object
        - `year` integer
        - `month` integer
        - `day` integer
      - `openTime` string
      - `closeTime` string
      - `closed` boolean
  - `profile` object
    - `description` string — Business description
  - `websiteUri` string
  - `phoneNumbers` object
    - `primaryPhone` string
    - `additionalPhones` string[]
  - `categories` object — Business categories (returned when readMask includes 'categories')
    - `primaryCategory` object
      - `name` string — Category resource name
      - `displayName` string — Human-readable category name
    - `additionalCategories` object[]
      - `name` string
      - `displayName` string
  - `serviceItems` object[] — Services offered (returned when readMask includes 'serviceItems')
    - `structuredServiceItem` object
      - `serviceTypeId` string
      - `description` string
    - `freeFormServiceItem` object
      - `category` string
      - `label` object
        - `displayName` string
        - `languageCode` string
    - `price` object
      - `currencyCode` string
      - `units` string
      - `nanos` integer

## Other responses

- `400` — Invalid request. Most commonly raised when the readMask query includes a value that is not a valid Google Business Information field (e.g. `location`, which is a response-only derived field).
- `401` — Unauthorized or token expired
- `404` — Resource not found

---

[API](https://skmtc.net/zernio/apis/zernio-api.md) · [All operations](https://skmtc.net/zernio/apis/zernio-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/zernio/zernio-api/revisions/d0ab3b4eb0ae/schema)
