Google Business Profile API
Provides programmatic access to manage business location information on Google, including accounts, locations, reviews, media, local posts, and verification workflows.
Provides programmatic access to manage business location information on Google, including accounts, locations, reviews, media, local posts, and verification workflows.
openapi: 3.1.0
info:
title: Google Business Profile API
description: >-
The Google Business Profile API provides an interface for managing business
location information on Google. It enables developers to programmatically
manage accounts, locations, reviews, media, posts, and more.
version: 4.0.0
contact:
name: Google
url: https://developers.google.com/my-business/reference/rest
servers:
- url: https://mybusiness.googleapis.com/v4
paths:
/accounts:
get:
operationId: listAccounts
summary: Google Business Profile List Accounts
description: Lists all accounts for the authenticated user.
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/ListAccountsResponse'
tags:
- Accounts
/accounts/{accountId}:
get:
operationId: getAccount
summary: Google Business Profile Get Account
description: Gets the specified account.
parameters:
- name: accountId
in: path
required: true
schema:
type: string
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Account'
tags:
- Accounts
/accounts/{accountId}/locations:
get:
operationId: listLocations
summary: Google Business Profile List Locations
description: Lists the locations for the specified account.
parameters:
- name: accountId
in: path
required: true
schema:
type: string
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/ListLocationsResponse'
tags:
- Accounts
post:
operationId: createLocation
summary: Google Business Profile Create Location
description: Creates a new location for the specified account.
parameters:
- name: accountId
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Location'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Location'
tags:
- Accounts
/accounts/{accountId}/locations/{locationId}:
get:
operationId: getLocation
summary: Google Business Profile Get Location
description: Gets the specified location.
parameters:
- name: accountId
in: path
required: true
schema:
type: string
- name: locationId
in: path
required: true
schema:
type: string
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Location'
tags:
- Accounts
patch:
operationId: updateLocation
summary: Google Business Profile Update Location
description: Updates the specified location.
parameters:
- name: accountId
in: path
required: true
schema:
type: string
- name: locationId
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Location'
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Location'
tags:
- Accounts
delete:
operationId: deleteLocation
summary: Google Business Profile Delete Location
description: Deletes a location.
parameters:
- name: accountId
in: path
required: true
schema:
type: string
- name: locationId
in: path
required: true
schema:
type: string
responses:
'200':
description: Successful response
tags:
- Accounts
/accounts/{accountId}/locations/{locationId}/reviews:
get:
operationId: listReviews
summary: Google Business Profile List Reviews
description: Returns a paginated list of reviews for the specified location.
parameters:
- name: accountId
in: path
required: true
schema:
type: string
- name: locationId
in: path
required: true
schema:
type: string
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/ListReviewsResponse'
tags:
- Accounts
/accounts/{accountId}/locations/{locationId}/reviews/{reviewId}/reply:
put:
operationId: replyToReview
summary: Google Business Profile Reply to Review
description: Updates the reply to a specified review.
parameters:
- name: accountId
in: path
required: true
schema:
type: string
- name: locationId
in: path
required: true
schema:
type: string
- name: reviewId
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
comment:
type: string
responses:
'200':
description: Successful response
tags:
- Accounts
/accounts/{accountId}/locations/{locationId}/media:
get:
operationId: listMedia
summary: Google Business Profile List Media
description: Returns a list of media items associated with a location.
parameters:
- name: accountId
in: path
required: true
schema:
type: string
- name: locationId
in: path
required: true
schema:
type: string
responses:
'200':
description: Successful response
tags:
- Accounts
/accounts/{accountId}/locations/{locationId}/localPosts:
get:
operationId: listLocalPosts
summary: Google Business Profile List Local Posts
description: Returns a list of local posts for a location.
parameters:
- name: accountId
in: path
required: true
schema:
type: string
- name: locationId
in: path
required: true
schema:
type: string
responses:
'200':
description: Successful response
tags:
- Accounts
post:
operationId: createLocalPost
summary: Google Business Profile Create Local Post
description: Creates a new local post for a location.
parameters:
- name: accountId
in: path
required: true
schema:
type: string
- name: locationId
in: path
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/LocalPost'
responses:
'200':
description: Successful response
tags:
- Accounts
components:
securitySchemes:
OAuth2:
type: oauth2
flows:
authorizationCode:
authorizationUrl: https://accounts.google.com/o/oauth2/auth
tokenUrl: https://oauth2.googleapis.com/token
scopes:
https://www.googleapis.com/auth/business.manage: Manage business listings
schemas:
Account:
type: object
properties:
name:
type: string
accountName:
type: string
type:
type: string
role:
type: string
state:
type: object
Location:
type: object
properties:
name:
type: string
locationName:
type: string
primaryPhone:
type: string
address:
type: object
properties:
addressLines:
type: array
items:
type: string
locality:
type: string
administrativeArea:
type: string
postalCode:
type: string
regionCode:
type: string
primaryCategory:
type: object
properties:
displayName:
type: string
categoryId:
type: string
websiteUrl:
type: string
regularHours:
type: object
locationState:
type: object
metadata:
type: object
Review:
type: object
properties:
name:
type: string
reviewId:
type: string
reviewer:
type: object
properties:
displayName:
type: string
profilePhotoUrl:
type: string
starRating:
type: string
comment:
type: string
createTime:
type: string
updateTime:
type: string
reviewReply:
type: object
properties:
comment:
type: string
updateTime:
type: string
LocalPost:
type: object
properties:
name:
type: string
summary:
type: string
topicType:
type: string
callToAction:
type: object
media:
type: array
items:
type: object
state:
type: string
createTime:
type: string
updateTime:
type: string
ListAccountsResponse:
type: object
properties:
accounts:
type: array
items:
$ref: '#/components/schemas/Account'
nextPageToken:
type: string
ListLocationsResponse:
type: object
properties:
locations:
type: array
items:
$ref: '#/components/schemas/Location'
nextPageToken:
type: string
ListReviewsResponse:
type: object
properties:
reviews:
type: array
items:
$ref: '#/components/schemas/Review'
averageRating:
type: number
totalReviewCount:
type: integer
nextPageToken:
type: string
security:
- OAuth2: []
tags:
- name: Accounts