Zernio
Zernio
API Reference

Insights

Conversations of a Local Services leadGETGoogle Local Services Ads leadsGETSubmit an async insights report runPOSTGet ad analyticsGETPoll an async insights report runGETGoogle Ads search terms reportGETGet campaign analyticsGETHistorical keyword metrics (Google Keyword Planner)POSTGenerate keyword ideas (Google Keyword Planner)POSTFlexible live insights queryGET
Dashboard
llms.txtOpenAPI
OverviewPlatformsAPI ReferenceResources
Insights

Poll an async insights report run

Status and results for a report run created via POST /v1/ads/insights/reports. While the job runs, returns status and percentCompletion. Once status is "Job Completed" the response also carries a data page, cursor-paginated via limit / after.


PlatformsMeta
GET
/v1/ads/insights/reports/{reportRunId}

Authorization

bearerAuth
AuthorizationBearer <token>

API key authentication - use your Zernio API key as a Bearer token

In: header

Path Parameters

reportRunId*string

Query Parameters

accountId*string

Zernio SocialAccount id used to resolve the Meta token (must be the same connection that created the run).

limit?integer
Range1 <= value <= 500
Default25
after?string

Response Body

application/json

application/json

{  "reportRunId": "string",  "status": "string",  "percentCompletion": 0,  "dateStart": "string",  "dateStop": "string",  "data": [    {}  ],  "paging": {    "after": "string"  }}
Was this page helpful?

Get ad analytics

Returns detailed performance analytics for an ad. Includes summary metrics, a daily timeline over the requested date range, and optional demographic breakdowns (Meta and TikTok only). If no date range is provided, defaults to the last 90 days. Date range is capped at 730 days max.

Google Ads search terms report

The actual search queries that triggered your ads, with matched-keyword status and spend metrics — the raw material for wasted-spend analysis and negative-keyword lists. Reads Google's `search_term_view`, cached for the quota window; defaults to the last 30 days. Rows are ordered by cost, descending. Draws on the shared Google Ads operations budget. The response carries `cachedAt` and `stale`, set when a quota-exhausted call falls back to the last-good copy instead of a live read.