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.
Authorization
bearerAuth API key authentication: send your Zernio API key in the Authorization header, prefixed with Bearer.
In: header
Query Parameters
Google ads SocialAccount id.
Numeric Google Ads customer id (no dashes). Defaults to the account's connected customer.
Leads created at/after this day.
dateLeads created at/before this day.
dateValue in
- "PHONE_CALL"
- "MESSAGE"
- "BOOKING"
Google LocalServicesLeadStatus enum value (e.g. NEW, BOOKED, WIPED_OUT).
true = only leads Google charged for.
Cursor from paging.nextPageToken of the previous page.
Response Body
application/json
application/json
application/json
application/json
application/json
{ "customerId": "string", "data": [ { "id": "string", "leadType": "string", "categoryId": "string", "serviceId": "string", "contact": { "consumerName": "string", "email": "string", "phoneNumber": "string" }, "status": "string", "createdTime": "string", "locale": "string", "charged": true, "creditState": "string", "creditStateLastUpdate": "string" } ], "paging": { "nextPageToken": "string" }}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.
Submit async insights report
Submits an asynchronous Meta insights report. Same query surface as GET /v1/ads/insights, but in the JSON body; Meta processes the report server-side, which is the right choice for long ranges or large accounts where the sync query is slow or rate-limited. Returns a `reportRunId` to poll via GET /v1/ads/insights/reports/{reportRunId}.