Google Business Profile

Daily performance metrics

GET
/v1/google-business-profile/daily-metrics

One row per location, day and metric (website clicks, calls, direction requests, conversations, bookings, food orders and impressions) with its count.

dateFrom and dateTo filter by date (inclusive days, YYYY-MM-DD). Rows are sorted by date, metric, location_id, integration_id, inserted_at and paginated with page/limit; meta.hasNextPage says whether another page exists. Responses are cached for 30 minutes.

Authorization

ClientIdAuthClientSecretAuth
headerx-client-id<token>

Client ID

headerx-client-secret<token>

Client secret

Query Parameters

organizationId*string

Organization that owns the connected accounts.

Formatuuid
integrationId?string

One connected account of this integration (integration_id of the rows). Omit it to read every account of the organization.

Lengthlength <= 255
dateFrom?string

First day (inclusive) of date, YYYY-MM-DD.

Formatdate
dateTo?string

Last day (inclusive) of date, YYYY-MM-DD. Must not be before dateFrom.

Formatdate
page?integer

Page number, starting at 1.

Range1 <= value <= 1000000
Default1
limit?integer

Rows per page (max 5000).

Range1 <= value <= 5000
Default500

Response Body

One page of rows

application/json
  1. response
data*array<>
meta*
curl -X GET "https://example.com/v1/google-business-profile/daily-metrics?organizationId=3f2b8c1e-5d4a-4e6f-9a7b-1c2d3e4f5a6b&dateFrom=2026-10-01&dateTo=2026-10-31"
{  "data": [    {      "organization_id": "3f2b8c1e-5d4a-4e6f-9a7b-1c2d3e4f5a6b",      "integration_id": "9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d",      "user_id": "123456",      "document_id": "123456",      "integration_name": "example",      "location_id": "123456",      "date": "2026-10-01",      "metric": "example",      "value": "1250",      "inserted_at": "2026-10-01T12:00:00.000Z"    }  ],  "meta": {    "page": 1,    "limit": 500,    "hasNextPage": false,    "hasPreviousPage": false  }}