v1Recursos/Listagens publicadas/getObter um resumo de listagens
Obter um resumo de listagens
Status de sincronização de publishers nos locais deste cliente (ou de toda a agência) — um resumo agregado mais um detalhamento por local, insights (% de saúde, distribuição de sincronização, publishers mais fracos, itens priorizados "precisa de atenção") e uma manchete determinística. Limite o escopo com tags. Usa o mesmo rollup da visualização Listagens → Todos os locais.
get
listings:read/api/v1/listings/summaryParâmetros de consulta
clientIdstringopcional
Limitar aos locais de um cliente.
tagsstringopcional
Nomes de tags de local separados por vírgula — apenas locais com pelo menos uma dessas tags são incluídos.
pageintegeropcional
Página das linhas por local (base 1). Padrão 1.
perPageintegeropcional
Linhas por página (máx. 200). Padrão 50.
Resposta
dataobjectopcional
summaryobjectopcional
Contagens agregadas de todos os locais no escopo.
locationsnumberopcional
Número de locais no escopo.
publishersTotalnumberopcional
Total de vagas de publisher em todos os locais no escopo.
publishersSyncednumberopcional
Desses, atualmente sincronizados.
connectionIssuesnumberopcional
Linhas de conectores nativos (Google/Facebook) com problema de conexão.
duplicatesnumberopcional
Listagens duplicadas detectadas no escopo.
reviewsnumberopcional
Total de avaliações no escopo.
avgRatingnumberopcional
Avaliação média entre os locais que possuem uma.
rowsarray of objectopcional
Uma linha por local no escopo (paginada).
locationIdstringopcional
ID do local.
namestringopcional
Nome do local.
citystringopcional
Cidade do local.
publishersnumberopcional
Vagas de publisher para este local.
syncednumberopcional
Dessas, atualmente sincronizadas.
connectionIssuesnumberopcional
Linhas de conectores nativos com problema de conexão.
duplicatesnumberopcional
Listagens duplicadas detectadas para este local.
reviewsnumberopcional
Total de avaliações deste local.
unrepliednumberopcional
Avaliações aguardando resposta.
avgRatingnumberopcional
Avaliação média deste local.
googleVerifiedbooleanopcional
A listagem do Google está conectada e verificada.
googleConnectedbooleanopcional
O Google está conectado (a verificação pode ainda estar pendente).
tagsarray of stringopcional
Tags internas deste local.
insightsobjectopcional
Insights derivados calculados a partir das linhas acima.
healthnumberopcional
publishersSynced / publishersTotal, em porcentagem.
distributionobjectopcional
Locais agrupados por taxa de sincronização (fullySynced 100%, healthy 90-99%, atRisk <90%).
fullySyncednumberopcional
Locais com 100% de sincronização.
healthynumberopcional
Locais com 90-99% de sincronização.
atRisknumberopcional
Locais abaixo de 90% de sincronização.
weakestarray of objectopcional
Publishers com menor cobertura no escopo.
idstringopcional
ID do publisher.
namestringopcional
Nome do publisher.
totalnumberopcional
Locais que possuem este publisher.
syncednumberopcional
Desses, sincronizados.
requiresActionnumberopcional
Desses, que precisam de ação.
notConnectednumberopcional
Desses, não conectados.
pctnumberopcional
Percentual sincronizado, arredondado.
directoriesarray of objectopcional
Tabela completa de cobertura por publisher.
idstringopcional
ID do publisher.
namestringopcional
Nome do publisher.
totalnumberopcional
Locais que possuem este publisher.
syncednumberopcional
Desses, sincronizados.
requiresActionnumberopcional
Desses, que precisam de ação.
notConnectednumberopcional
Desses, não conectados.
pctnumberopcional
Percentual sincronizado, arredondado.
attentionarray of objectopcional
Cartões priorizados de "precisa de atenção".
nnumberopcional
Quantidade que este cartão representa.
titlestringopcional
Título do cartão.
substringopcional
Subtítulo do cartão.
tonestring (amber | blue | rose | zinc)opcional
Tom visual deste cartão.
filterstring (issues | duplicates | under80 | unverified | notconnected)opcional
Chave de filtro correspondente na tabela de locais.
headlinestringopcional
Uma manchete determinística de uma linha sobre a saúde do escopo.
fixFirstarray of objectopcional
Correções priorizadas.
textstringopcional
Descrição da correção.
impactstring (High | Med | Low)opcional
Impacto estimado desta correção.
filterstring (issues | duplicates | under80 | unverified | notconnected)opcional
Chave de filtro correspondente na tabela de locais.
totalnumberopcional
Total de locais correspondentes (para paginação), independente de perPage.
pagenumberopcional
Página atual (base 1).
perPagenumberopcional
Linhas por página.
Erros
401Chave de API ausente, inválida, expirada ou revogada.
403A chave não tem a permissão exigida, ou não está autorizada para este cliente/local.
429Muitas solicitações. Tente novamente após o número de segundos indicado no cabeçalho Retry-After.
get/api/v1/listings/summary
Sua chave de API
clientId
tags
page
perPage
{
"data": {
"summary": {
"locations": 12,
"publishersTotal": 96,
"publishersSynced": 81,
"connectionIssues": 3,
"duplicates": 2,
"reviews": 340,
"avgRating": 4.6
},
"rows": [
{
"locationId": "loc_456",
"name": "Acme Dental — Downtown",
"city": "Austin",
"publishers": 8,
"synced": 7,
"connectionIssues": 0,
"duplicates": 0,
"reviews": 26,
"unreplied": 2,
"avgRating": 4.8,
"googleVerified": true,
"googleConnected": true,
"facebookConnected": true,
"tags": [
"vip"
]
}
],
"insights": {
"health": 84,
"distribution": {
"fullySynced": 9,
"healthy": 2,
"atRisk": 1
},
"weakest": [
{
"locationId": "loc_789",
"name": "Acme Dental — Eastside",
"health": 40
}
],
"directories": [
{
"id": "google",
"name": "Google Maps",
"total": 12,
"synced": 11,
"requiresAction": 0,
"notConnected": 1,
"pct": 92
}
],
"attention": [
{
"n": 1,
"title": "1 location under 90% synced",
"sub": "Listings not fully propagated",
"tone": "amber",
"filter": "under80"
}
],
"headline": "84% listing health — 1 location under 90% synced needs attention.",
"fixFirst": [
{
"text": "Reconnect 1 location's listing sync.",
"impact": "Med"
}
]
},
"total": 12,
"page": 1,
"perPage": 50
}
}Guias que usam este endpoint
- Business Listings API: Complete Developer GuideHow a business listings API works and how to create, update, sync and monitor locations across Google, Apple, Bing and directories with the Synup API.
- How to Add Local Marketing Features to Your SaaSAdd listings management, reviews, Google posts, profile analytics, rank tracking and AI visibility to a SaaS product with the Synup API, tenant by tenant.
- How to Manage Business Listings ProgrammaticallyKeep business listings accurate from your own system with the Synup API. Covers change detection, idempotent updates, hours, photos and sync reporting.
- How to Update Business Information Across Google, Apple, Bing and DirectoriesPush one business-information change to Google, Apple, Bing and the directory network through a single API call, and verify it reached each publisher.
- How Listing Syndication WorksListing syndication takes one business record, translates it into each publisher's format, and pushes it out asynchronously, which is why sync status matters.
- How to Build an AI Agent for Local SEOBuild an AI agent that audits and fixes listings, tracks local rankings, checks AI visibility and drafts review replies with Synup's MCP server or REST tools.
- How to Manage Thousands of Business Locations via APIDesign a sync job for thousands of locations on the Synup API with cursor pagination, tags, rate-limit handling, an id map and rollup health checks.
- How to Find and Remove Duplicate Business ListingsDetect duplicate business listings across publishers, review them by confidence, and flag them for removal or dismiss them with the Synup API.
- How to Build a Multi-Location Marketing DashboardBuild a multi-location marketing dashboard from the API's rollup endpoints, one call per panel, covering listings, reviews, rank, AI visibility and duplicates.
- Local SEO APIs: What Developers Actually NeedA practical checklist of what a local SEO API must cover, from listings and sync status to reviews, rank tracking and AI visibility, mapped to endpoints.
- How to Monitor Local SEO Across Multiple LocationsMonitor local SEO across hundreds of locations through rollup endpoints, with rank and AI visibility per location and the weakest surfaced first.