API reference/Google reviews
Get a site's Google reviews
Try itThe kept copy of each Google listing the site's "From Google" Reviews sections read: rating, count, up to five newest reviews (Google's words with each reviewer's name) and when it was read.
GET
/api/v1/sites/{site_id}/google-reviewsAuthentication
An API key as Authorization: Bearer or x-api-key. It needs the sites:read scope — read sites, pages and sections.
sites:readRead onlyMCP tool: get_google_reviews
Parameters
Named placeholders go in the path; the rest in the query string.
site_idstringPath · required- The site's id.1 to 100 characters
Response
200 with JSON on success (schema on the right). Errors use the standard envelope.
curl -X GET 'https://websites.workflowcorp.com/api/v1/sites/SITE_ID/google-reviews' \
-H "Authorization: Bearer $WEBSITEBUDDY_API_KEY"{
"site_id": "SITE_ID"
}{
"type": "object",
"properties": {
"available": {
"type": "boolean",
"description": "Google reviews can be read on this service (Workflow Corp's Places API key is set). false = \"From Google\" sections show their typed reviews."
},
"listings": {
"type": "array",
"items": {
"type": "object",
"properties": {
"lookup": {
"type": "string",
"description": "Which listing: place:{Place ID} (typed in the section) or search:{business name and address}."
},
"place_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"place_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"rating": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"rating_count": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"maps_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "The listing on Google Maps."
},
"read_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "When Google was last read (every 12 hours; a copy older than 30 days is never shown)."
},
"problem": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Plain words for the last failed read; the last copy stays on the site."
},
"reviews": {
"type": "array",
"items": {
"type": "object",
"properties": {
"author": {
"type": "string",
"description": "The reviewer's name as Google shows it."
},
"author_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "The reviewer's Google Maps profile (Google's attribution link)."
},
"rating": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "1–5 stars."
},
"text": {
"type": "string",
"description": "The review as written on Google — never edited."
},
"when": {
"type": "string",
"description": "Google's own words for when, e.g. \"2 weeks ago\"."
},
"published_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"author",
"author_url",
"rating",
"text",
"when",
"published_at"
],
"additionalProperties": false
},
"description": "Up to five newest reviews, newest first."
}
},
"required": [
"lookup",
"place_id",
"place_name",
"rating",
"rating_count",
"maps_url",
"read_at",
"problem",
"reviews"
],
"additionalProperties": false
}
}
},
"required": [
"available",
"listings"
],
"additionalProperties": false
}