Impressions, clicks and spend forecast
LinkedIn-only. Forecasted impressions, clicks, spend and ~20 other
metrics for a targeting spec over a time range. Wraps LinkedIn's
adSupplyForecasts finder.
Each returned series carries a metricType (IMPRESSION, CLICK, SPENDING,
MAX_POTENTIAL_BUDGET, COST_PER_MILLION_IMPRESSIONS, ...) and a
granularity (DAILY, SEVEN_DAY, THIRTY_DAY, CUSTOM). LinkedIn caps the
daily spending forecast at 1.2x the daily budget and returns 0 once the
total budget is exhausted.
Non-LinkedIn accounts return available: false.
API key authentication - use your Zernio API key as a Bearer token
In: header
Defaults to SPONSORED_UPDATES.
"SPONSORED_UPDATES" | "SPONSORED_INMAILS" | "DYNAMIC"Unix ms. Must be in the future.
Unix ms. Must be after start and within LinkedIn's max horizon.
When set, the forecast assumes auto-bidding. When unset, competingBid is required.
Either dailyBudget or totalBudget is required.
ISO 4217, defaults to USD.
3 <= length <= 3Required for manual-bid forecasts (when optimizationTarget is not set).
Defaults to false. Required true for connectedTelevisionOnly.
Defaults to false.
Defaults to false.
Response Body
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.adtargeting.getLinkedInSupplyForecast({ body: { accountId: 'account_abc123', adAccountId: 'adaccount_abc123', spec: { countries: [ 'string', ], regions: [ { key: 'tok_abc123', }, ], cities: [ { key: 'tok_abc123', }, ], }, timeRangeStart: 0, timeRangeEnd: 0, },});console.log(data);{
"available": true,
"forecast": [
{
"metricType": "string",
"granularity": "DAILY",
"timeSeries": [
{
"timestamp": 0,
"value": 0,
"adForecastRange": {
"lowEnd": 0,
"highEnd": 0
}
}
]
}
]
}{
"error": "Unauthorized"
}{
"error": "Not found"
}Suggested bid and budget bounds POST
LinkedIn-only. Returns the suggested bid and bid limits for a targeting spec, plus the daily-budget bounds LinkedIn will accept. Use it before creating a campaign to pick a bid inside the allowed range and warn the user if their daily budget is below the minimum. Wraps LinkedIn's `adBudgetPricing` finder. Non-LinkedIn accounts return `available: false` so clients can hide the pricing UI without treating it as a failure.
Estimate audience reach POST
Returns a normalized pre-flight audience-size estimate for a targeting spec, before any campaign is created. Backed by each platform's native reach API (Meta `delivery_estimate`, LinkedIn `audienceCounts`, X `audience_summary`, Pinterest `audience_sizing`). Platforms without a usable pre-flight reach API (Google Search/Display, TikTok) return `available: false` with no bounds, so clients can hide or grey out the estimate rather than treat the absence as an error.