Zernio
APIFor you
Zernio
APIFor you
API Reference

Insights

List lead conversationsGETGoogle Local Services Ads leadsGETSubmit async insights reportPOSTGet ad analyticsGETPoll an async insights report runGETGoogle Ads search terms reportGETGet campaign analyticsGETPer-creative performance inside TikTok Smart+ adsGETGet historical keyword metricsPOSTGenerate keyword ideasPOSTFlexible live insights queryGET
Dashboard
OverviewPlatformsAPI ReferenceResources
Insights

Poll an async insights report run

Checks progress of a background Meta insights report and returns its results once it has finished.

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: send your Zernio API key in the Authorization header, prefixed with Bearer.

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

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.getAdInsightsReport({  path: {    reportRunId: 'reportrun_abc123',  },  query: {    accountId: 'account_abc123',  },});console.log(data);
{  "reportRunId": "string",  "status": "string",  "percentCompletion": 0,  "dateStart": "string",  "dateStop": "string",  "data": [    {}  ],  "paging": {    "after": "string"  }}
Was this page helpful?

Get ad analytics

Returns one ad's performance summary and daily timeline, with optional audience breakdowns on Meta, TikTok and LinkedIn. Includes summary metrics, a daily timeline over the requested date range, and optional demographic breakdowns (Meta, TikTok and LinkedIn only). If no date range is provided, defaults to the last 90 days. Date range is capped at 730 days max. History: when an ad account connects, Zernio imports its last 90 days of metrics. `summary` and `daily` come from those synced metrics, so they hold no data for days before that. Breakdowns are read live from the platform over the requested range, so they are not limited by the import. When the ad belongs to a Meta ad account, a range reaching further back answers `202` with `backfillPending: true` and the covered part while the older days (up to 730 days back) are imported in the background; repeat the request until it returns 200. Other platforms never return `202`.

Google Ads search terms report

Shows the actual Google searches that triggered your ads, with spend and results, so you can spot wasted spend and add negative keywords. 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.