List custom audiences
Returns custom audiences for the given ad account. Supports Meta, Google, TikTok, Pinterest, LinkedIn, and X (Twitter).
API key authentication - use your Zernio API key as a Bearer token
In: header
Query Parameters
Social account ID
Platform ad account ID
"facebook" | "instagram" | "googleads" | "tiktok" | "tiktokads" | "pinterest" | "linkedin" | "linkedinads" | "twitter" | "xads"Filter to one audience type. saved_targeting returns stored TargetingSpec audiences (each item carries a spec); the other types return uploaded/derived audiences.
"customer_list" | "website" | "lookalike" | "saved_targeting"Response Body
application/json
application/json
import Zernio from '@zernio/node';const zernio = new Zernio({ apiKey: process.env.ZERNIO_API_KEY });const { data } = await zernio.adaudiences.listAdAudiences({ query: { accountId: 'account_abc123', adAccountId: 'adaccount_abc123', },});console.log(data);{
"audiences": [
{
"id": "string",
"platformAudienceId": "string",
"name": "string",
"description": "string",
"type": "customer_list",
"spec": {
"countries": [
"string"
],
"regions": [
{
"key": "string",
"name": "string"
}
],
"cities": [
{
"key": "string",
"name": "string",
"radius": 0,
"distance_unit": "mile"
}
],
"zips": [
{
"key": "string",
"name": "string"
}
],
"metros": [
{
"key": "string",
"name": "string"
}
],
"customLocations": [
{
"latitude": -90,
"longitude": -180,
"radius": 0,
"distanceUnit": "mile",
"name": "string",
"address": "string"
}
],
"excludedLocations": {
"countries": [
"string"
],
"regions": [
{
"key": "string",
"name": "string"
}
],
"cities": [
{
"key": "string",
"radius": 0,
"distance_unit": "mile"
}
],
"zips": [
{
"key": "string",
"name": "string"
}
],
"places": [
{
"key": "string"
}
],
"neighborhoods": [
{
"key": "string"
}
],
"customLocations": [
{
"latitude": -90,
"longitude": -180,
"radius": 0,
"distanceUnit": "mile",
"name": "string",
"address": "string"
}
]
},
"ageMin": 13,
"ageMax": 13,
"gender": "all",
"incomeTier": "top_5",
"languages": [
"string"
],
"interests": [
{
"id": "string",
"name": "string"
}
],
"behaviors": [
{
"id": "string",
"name": "string"
}
],
"industries": [
"string"
],
"companySizes": [
"string"
],
"seniorities": [
"string"
],
"jobFunctions": [
"string"
],
"audienceInclude": [
"string"
],
"audienceExclude": [
"string"
]
},
"platform": "string",
"size": 0,
"status": "string"
}
]
}{
"error": "Unauthorized"
}Get daily account metrics GET
Returns daily aggregate metrics across all ads in a SocialAccount as a single time series — one row per calendar day in the requested range. Use this for dashboards that draw a daily-spend or daily-conversions chart, instead of calling `/v1/ads/tree` once per day. `accountId` is required. The lookup is sibling-expanded so passing the `metaads` ID also includes ads under the linked `facebook` / `instagram` posting account (and vice-versa) — same convention as `/v1/ads/tree` and `/v1/ads`. Date range defaults to the last 90 days. Capped at 730 days. Ranges older than the 90-day cache window trigger an on-demand backfill from the platform before returning.
Create custom audience POST
Create a custom audience. `customer_list` is supported on Meta, Google, X, LinkedIn, TikTok, and Pinterest; `website` and `lookalike` are Meta-only. `saved_targeting` stores a reusable TargetingSpec (no member upload, no adAccountId) that you reference later via `savedTargetingId` on `POST /v1/ads/create`. Upload-backed audiences are created empty, add members via `POST /v1/ads/audiences/{audienceId}/users`. On TikTok and Pinterest the audience is provisioned lazily on the first member upload (until then its status is `pending`). Create is not idempotent, never auto-retry.