v1Resources/Listings Published/getGet location's listing

Get location's listing

Returns sync status across publishers, Google Business Profile status, and improvement opportunities for one location.

get/api/v1/listings
listings:read
Query parameters
locationIdstringrequired
The location to look up. Required. Look it up with GET /api/v1/locations.
clientIdstringoptional
The location's client. Only needed to disambiguate when your key is scoped to specific clients.
Response
dataobjectoptional
statsobjectoptional
Summary counts across all publishers for this location.
publishersnumberoptional
Total number of publishers tracked.
syncednumberoptional
Number of publishers currently in sync.
notConnectednumberoptional
Number of publishers not yet connected.
googleVerifiedLocationsnumberoptional
Number of Google-verified locations.
duplicatesnumberoptional
Number of duplicate listings detected.
connectionIssuesnumberoptional
Number of publishers with a connection issue.
requiresActionnumberoptional
Number of publishers requiring action.
publishersarray of objectoptional
Per-publisher sync status.
publisherIdstringoptional
Identifier of the directory/publisher.
publisherNamestringoptional
Display name of the publisher.
statusstring (synced | in_progress | failed | requires_action | not_connected | expired | suspended | pending_approval | inaccessible | credentials_invalidated | not_available)optional
One of: synced, in_progress, failed, requires_action, not_connected, expired, suspended, pending_approval, inaccessible, credentials_invalidated, not_available.
liveLinksnumberoptional
Number of live links found for this publisher, or null.
gbpobjectoptional
Google Business Profile summary, when connected.
connectedbooleanoptional
Whether a Google Business Profile is connected.
scorenumberoptional
Profile completeness score, 0–100, or null.
donearray of stringoptional
Completed profile improvement items.
todoarray of stringoptional
Outstanding profile improvement items.
opportunitiesarray of objectoptional
Suggested improvements, each with a short message and a tone.
textstringoptional
tonestring (amber | rose | blue | zinc)optional
aiobjectoptional
A short AI-generated headline and up to 3 prioritized fixes for this location, or null.
headlinestringoptional
One-sentence summary of this location's listing health.
fixFirstarray of objectoptional
Up to 3 suggested next actions, ranked by impact.
textstringoptional
impactstring (High | Med | Low)optional
noticestringoptional
A human-readable notice about this location's listing data, or null.
Errors
400The request is missing a required parameter or is otherwise malformed.
401Missing, invalid, expired, or revoked API key.
403The key lacks the required scope, or isn't authorized for this client/location.
404The resource wasn't found, or doesn't belong to your agency.
429Too many requests. Retry after the number of seconds in the Retry-After header.
get/api/v1/listings
Your API key
locationId *
clientId
{
  "data": {
    "stats": {
      "publishers": 42,
      "synced": 38,
      "notConnected": 2,
      "googleVerifiedLocations": 1,
      "duplicates": 0,
      "connectionIssues": 1,
      "requiresAction": 1
    },
    "publishers": [
      {
        "publisherId": "google",
        "publisherName": "Google",
        "status": "synced",
        "liveLinks": 1
      }
    ],
    "gbp": {
      "connected": true,
      "score": 82,
      "done": [
        "Business name",
        "Address"
      ],
      "todo": [
        "Add photos"
      ]
    },
    "opportunities": [
      {
        "text": "Add more photos to your Google profile",
        "tone": "amber"
      }
    ],
    "ai": {
      "headline": "90% synced — 1 listing needs action.",
      "fixFirst": [
        {
          "text": "Reconnect 1 listing needing action.",
          "impact": "High"
        }
      ]
    },
    "notice": null
  }
}