Suggested bid and budget bounds
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.
API key authentication - use your Zernio API key as a Bearer token
In: header
Zernio social account ID (LinkedIn).
LinkedIn ad account ID (numeric).
Defaults to SPONSORED_UPDATES.
"TEXT_AD" | "SPONSORED_UPDATES" | "SPONSORED_INMAILS"Defaults to CPM.
"CPM" | "CPC" | "CPV"Defaults to EXACT.
"EXACT" | "AUDIENCE_EXPANDED"ISO 4217, defaults to USD.
3 <= length <= 3LinkedIn objectiveType, e.g. WEBSITE_VISIT, LEAD_GENERATION, VIDEO_VIEW.
LinkedIn optimizationTargetType, e.g. MAX_CLICK, MAX_IMPRESSION.
Optional daily budget in whole account-currency units. LinkedIn refines the suggested bid to this budget.
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.getLinkedInBidPricing({ body: { accountId: 'account_abc123', adAccountId: 'adaccount_abc123', spec: { countries: [ 'string', ], regions: [ { key: 'tok_abc123', }, ], cities: [ { key: 'tok_abc123', }, ], }, },});console.log(data);{
"available": true,
"pricing": {
"bidLimits": {
"min": {
"amount": "string",
"currencyCode": "string"
},
"max": {
"amount": "string",
"currencyCode": "string"
}
},
"suggestedBid": {
"min": {
"amount": "string",
"currencyCode": "string"
},
"default": {
"amount": "string",
"currencyCode": "string"
},
"max": {
"amount": "string",
"currencyCode": "string"
}
},
"dailyBudgetLimits": {
"min": {
"amount": "string",
"currencyCode": "string"
},
"default": {
"amount": "string",
"currencyCode": "string"
},
"max": {
"amount": "string",
"currencyCode": "string"
}
}
}
}{
"error": "Unauthorized"
}{
"error": "Not found"
}Search targeting options GET
Resolve a human-readable query into the platform's opaque targeting ids used in the `TargetingSpec` (`countries`/`regions`/`cities`/`zips`/`metros` geo keys, and `interests`/`behaviors` entity ids) on `POST /v1/ads/create`, `POST /v1/ads/targeting/reach-estimate`, and `saved_targeting` audiences. The `dimension` param selects what is searched, `geo` (locations, further scoped by `geoType`), `interest`, `behavior`, or `income`. Availability of each dimension varies by platform (e.g. behaviours are Meta/TikTok only). Results are normalized across platforms into a single shape, so the same client code consumes Meta, TikTok, LinkedIn, X, Pinterest, and Google results. TikTok geo searches return every matching level in one list (`type` is `country`, `region`, `city`, `district`, or `metro` for DMA areas) — `geoType` is not applied. Results are scoped to the advertiser's targetable markets, and every id is usable in `regions`/`cities`/`metros` keys on `POST /v1/ads/create`. For geo queries, `q` should contain only the locality name (e.g. `"Amsterdam"`, not `"Amsterdam, NL"`). Use `countryCode` to disambiguate.
Impressions, clicks and spend forecast POST
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`.