Analisi

Tutti gli endpoint di analisi del profilo con esempi cURL, Python e Node: metriche Google e Facebook giornaliere e viste Bing settimanali per sede.

Le analisi del profilo indicano con quale frequenza una sede è stata visualizzata e ha ricevuto interazioni su ciascuna piattaforma di pubblicazione: impressioni, visualizzazioni di pagina, richieste di indicazioni stradali, chiamate e clic sul sito web. Ci sono tre endpoint, uno per piattaforma di pubblicazione, e tutti e tre eseguono operazioni di lettura, quindi è sufficiente una chiave Read (lettura). Ogni metrica è una serie temporale di punti { startTime, value }; l'API non restituisce totali scalari, quindi le somme che mostri sono quelle che calcoli tu.

Panoramica degli endpoint

MetodoPercorsoCosa faRiferimento
GET/locations/{locationId}/google-analyticsNove serie giornaliere di Google Business Profile.Analisi di Google
GET/locations/{locationId}/facebook-analyticsCinque serie giornaliere della Pagina Facebook.Analisi di Facebook
GET/locations/{locationId}/bing-analyticsUna serie settimanale di Bing Places.Analisi di Bing

Tutti e tre condividono gli stessi parametri. fromDate e toDate sono di tipo YYYY-MM-DD, entrambi facoltativi; se li ometti, viene usato l'intervallo recente predefinito della piattaforma di pubblicazione. Il percorso accetta l'id Relay in base64 oppure il semplice numero. Se il valore non corrisponde a nessuno dei due formati, l'endpoint restituisce 200 con l'oggetto insights impostato su null e un array errors, una risposta che sembra indicare un profilo non collegato, quindi controlla prima errors.

Leggi le metriche di Google per un intervallo di date

GET /locations/{locationId}/google-analytics restituisce data.googleInsights con una serie giornaliera per ogni metrica. total rappresenta le impressioni del profilo, ovvero search più maps; non include le metriche relative alle azioni. Usalo per un report sulla visibilità prima e dopo una modifica ai dati.

NomeInObbligatorioNote
locationIdpathSìId Relay in base64 oppure databaseId numerico.
fromDatequeryNoInizio dell'intervallo, YYYY-MM-DD. Per impostazione predefinita viene usato un intervallo recente.
toDatequeryNoFine dell'intervallo, YYYY-MM-DD.
Google
curl "https://listingsapi.com/api/v4/locations/TG9jYXRpb246MTgwMDI4OQ==/google-analytics?fromDate=2026-08-01&toDate=2026-08-31" \-H "Authorization: API $LISTINGSAPI_KEY"
JSON
{  "data": {    "googleInsights": {      "total": [        { "startTime": "2026-08-01T00:00:00+00:00", "value": 412 },        { "startTime": "2026-08-02T00:00:00+00:00", "value": 388 }      ],      "search": [{ "startTime": "2026-08-01T00:00:00+00:00", "value": 300 }],      "maps": [{ "startTime": "2026-08-01T00:00:00+00:00", "value": 112 }],      "directionsAction": [{ "startTime": "2026-08-01T00:00:00+00:00", "value": 24 }],      "phoneAction": [{ "startTime": "2026-08-01T00:00:00+00:00", "value": 8 }],      "websiteAction": [{ "startTime": "2026-08-01T00:00:00+00:00", "value": 41 }],      "businessBookings": [{ "startTime": "2026-08-01T00:00:00+00:00", "value": 0 }],      "businessFoodOrders": [{ "startTime": "2026-08-01T00:00:00+00:00", "value": 0 }],      "businessFoodMenuClicks": [{ "startTime": "2026-08-01T00:00:00+00:00", "value": 0 }]    }  }}

Il campo startTime di ogni punto indica il giorno a cui è assegnato il conteggio. Nell'esempio, total del primo giorno è 412, ovvero 300 search più 112 maps.

SerieSignificato
totalImpressioni del profilo, search più maps.
searchImpressioni nei risultati di Google Search, su desktop e dispositivi mobili complessivamente.
mapsImpressioni nei risultati di Google Maps, su desktop e dispositivi mobili complessivamente.
directionsActionRichieste di indicazioni stradali per raggiungere la sede.
phoneActionClic sul pulsante di chiamata.
websiteActionClic che portano al sito web.
businessBookingsPrenotazioni avviate dal profilo.
businessFoodOrdersOrdini di cibo effettuati dal profilo.
businessFoodMenuClicksClic sul link al menu.

Una metrica è null, non un array vuoto, quando la sede non ha dati di Google per l'intervallo o il suo profilo Google non è collegato. Gestisci null e [] allo stesso modo quando aggreghi i dati.

Leggi le metriche di Facebook per un intervallo di date

GET /locations/{locationId}/facebook-analytics ha la stessa struttura all'interno di data.facebookInsights, con cinque serie giornaliere. Richiede che la Pagina Facebook della sede sia collegata. ctaAction ti permette di misurare le interazioni con un pulsante "Prenota ora" o "Chiama ora" durante l'intervallo di una campagna.

NomeInObbligatorioNote
locationIdpathSìId Relay in base64 oppure databaseId numerico.
fromDatequeryNoInizio dell'intervallo, YYYY-MM-DD. Per impostazione predefinita viene usato un intervallo recente.
toDatequeryNoFine dell'intervallo, YYYY-MM-DD.
Facebook
curl "https://listingsapi.com/api/v4/locations/TG9jYXRpb246MTgwMDI4OQ==/facebook-analytics?fromDate=2026-08-01&toDate=2026-08-31" \-H "Authorization: API $LISTINGSAPI_KEY"
JSON
{  "data": {    "facebookInsights": {      "views": [{ "startTime": "2026-08-01T00:00:00+00:00", "value": 120 }],      "ctaAction": [{ "startTime": "2026-08-01T00:00:00+00:00", "value": 5 }],      "directionsAction": [{ "startTime": "2026-08-01T00:00:00+00:00", "value": 3 }],      "phoneAction": [{ "startTime": "2026-08-01T00:00:00+00:00", "value": 2 }],      "websiteAction": [{ "startTime": "2026-08-01T00:00:00+00:00", "value": 9 }]    }  }}
SerieSignificato
viewsVisualizzazioni totali della Pagina.
ctaActionClic sul pulsante di invito all'azione della Pagina.
directionsActionRichieste di indicazioni stradali tramite la Pagina.
phoneActionChiamate avviate dalla Pagina.
websiteActionClic che portano dalla Pagina al sito web.

Non esiste una metrica per i Mi piace della Pagina. Ogni serie viene restituita come null quando la Pagina non ha dati per l'intervallo o non è collegata, quindi verifica la presenza di null prima di iterare.

Leggi le visualizzazioni su Bing per un intervallo di date

GET /locations/{locationId}/bing-analytics restituisce una singola serie, data.bingInsights.views, raggruppata per settimana anziché per giorno. Ogni punto rappresenta il conteggio delle visualizzazioni di una settimana a partire da startTime. I dati vengono aggiornati ogni lunedì per la settimana precedente, quindi la settimana completa più recente è l'ultima che vedrai. Recupera un intervallo di più mesi per ottenere una linea di tendenza; non è adatto all'attribuzione su base giornaliera.

NomeInObbligatorioNote
locationIdpathSìID Relay in Base64 o databaseId numerico.
fromDatequeryNoInizio dell'intervallo, YYYY-MM-DD. Per impostazione predefinita viene usato un intervallo recente.
toDatequeryNoFine dell'intervallo, YYYY-MM-DD.
Bing
curl "https://listingsapi.com/api/v4/locations/TG9jYXRpb246MTgwMDI4OQ==/bing-analytics?fromDate=2026-06-01&toDate=2026-08-31" \-H "Authorization: API $LISTINGSAPI_KEY"
JSON
{  "data": {    "bingInsights": {      "views": [        { "startTime": "2026-06-01T00:00:00+00:00", "value": 73 },        { "startTime": "2026-06-08T00:00:00+00:00", "value": 58 }      ]    }  }}
SerieSignificato
viewsVisualizzazioni del profilo Bing Places, un punto per settimana.

A differenza di Google e Facebook, Bing segnala l'assenza di dati con un array views vuoto e un 200, non con null. Tratta entrambi i casi come "nulla da mostrare" e verifica la condizione length == 0 se vuoi un'etichetta "nessun dato", poiché la somma degli elementi di un array vuoto è 0.

Errori che vedrai

Le pagine di riferimento non indicano codici di errore specifici delle risorse per i dati analitici. I casi che incontrerai:

CodiceSignificatoSoluzione
401 con SY90001Chiave API mancante o non valida.Invia Authorization: API $LISTINGSAPI_KEY.
200 con googleInsights, facebookInsights o bingInsights impostato su null e un array errorslocationId non è né un numero né un ID Relay decodificabile.Passa l'ID in base64 restituito da un endpoint di lettura. Non applicare la codifica URL.
200 con una metrica null (Google, Facebook) o un array views vuoto (Bing), e senza errorsNessun dato per l'intervallo, oppure la piattaforma di pubblicazione non è collegata.Mostra "non disponibile", non zero. Collega l'account.
429Limite di frequenza.Attendi Retry-After. Consulta Limiti di frequenza.

L'elenco completo si trova in Codici di errore.

Passaggi successivi