List lead conversations
Conversation entries of one Local Services lead: phone calls (duration,
recording URL) and messages (text, attachment URLs), oldest first. Read
live from local_services_lead_conversation, always scoped to a single
lead. Call-recording URLs require read access on the Google Ads account.
Draws on the shared Google Ads operations budget.
Authorization
bearerAuth API key authentication: send your Zernio API key in the Authorization header, prefixed with Bearer.
In: header
Path Parameters
Numeric lead id from /v1/ads/local-services/leads.
Query Parameters
Google ads SocialAccount id.
Platform ad account ID (Google customer ID, digits only). Defaults to the account's connected customer.
Alias of adAccountId, kept for existing callers
Cursor from paging.nextPageToken of the previous page.
Response Body
application/json
application/json
application/json
application/json
application/json
import Zernio from '@zernio/node';const zernio = new Zernio({ apiKey: process.env.ZERNIO_API_KEY });const { data } = await zernio.adinsights.listLocalServicesLeadConversations({ path: { leadId: 'lead_abc123', }, query: { accountId: 'account_abc123', },});console.log(data);{ "customerId": "string", "data": [ { "id": "string", "channel": "string", "participantType": "string", "eventDateTime": "string", "phoneCall": { "callDurationMillis": 0, "callRecordingUrl": "string" }, "message": { "text": "string", "attachmentUrls": [ "string" ] } } ], "paging": { "nextPageToken": "string" }}Search the public Ad Library
Competitor and market research over the public ad archives. Meta's Ad Library (`GET /ads_archive`) is searched with Zernio's own developer access, so `platform=meta` needs no connected account at all. LinkedIn's Ad Library (`GET /rest/adLibrary`) runs on a connected `linkedin` / `linkedinads` account, passed as `accountId`. Passing a Meta account as `accountId` also selects Meta. Rows are returned in the platform's raw shape under `data`; `paging.after` is an opaque cursor on both (`null` when exhausted). **Meta coverage.** Political and social-issue ads are searchable worldwide. Every other ad is in the archive only if it was delivered to the EU or UK within the last year, so a US-only commercial advertiser is invisible. Spend, impressions and demographics are political-only fields and are left out of the default projection; request them via `fields`. All customers share Zernio's Meta quota, so a `429` means back off for a minute. **LinkedIn coverage.** Ads served after June 1 2023, worldwide, kept for a year after their last impression. EU-delivered ads carry impression ranges and the disclosed targeting facets. Pages are capped at 25 ads (`limit` > 25 is a 400); `after` is the next offset. Which params apply: `q`, `countries`, `limit`, `after` on both; `pageIds`, `adType`, `status`, `platforms`, `mediaType`, `languages`, `searchType`, `fields`, `since`, `until` are Meta-only; `advertiser` is LinkedIn-only. Passing a param the account's platform does not support is a 400 naming the param.
Google Local Services Ads leads
Leads generated by Local Services Ads (phone calls, messages, bookings), read live from Google's `local_services_lead` resource, newest first. No persistence: Google is the source of truth and lead/credit statuses keep changing server-side. Google never returns healthcare-category leads, and `WIPED_OUT` leads arrive with contact erased (`contact` is null). Draws on the shared Google Ads operations budget.