> ## Documentation Index
> Fetch the complete documentation index at: https://docs.markifact.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Supply Forecast

> Forecast how a LinkedIn campaign would deliver: impressions, clicks, spend and objective specific metrics per day, each with a low and high range

Forecast how a LinkedIn campaign would deliver: impressions, clicks, spend and objective specific metrics per day, each with a low and high range. Supplying a daily budget and bid changes the answer substantially, because the forecast is capped by the budget.

| | |
| - | - |
| **App** | LinkedIn Ads |
| **Operation ID** | `linkedin_ads_get_supply_forecast` |
| **Type** | Action |
| **Connection** | `linkedin_ads` (required) |
| **Credits per run** | Free |
| **Agent / MCP tool** | Yes |

## Inputs

| Field | Type | Required | Default | Description |
| - | - | - | - | - |
| `account` | DynamicAccount | Yes | - | LinkedIn Ads account the forecast should be run for. |
| `targeting_criteria` | object or string | Yes | - | LinkedIn targetingCriteria object describing the audience, as a dict or JSON string, for example \{'include': \{'and': \[\{'or': \{'urn:li:adTargetingFacet:locations': \['urn:li:geo:103644278']}}]}}. Use linkedin\_ads\_search\_targeting to look up real URNs and do not invent them. LinkedIn requires locations, and in practice also interfaceLocales, before it will answer. |
| `campaign_type` | enum (`SPONSORED_UPDATES`, `SPONSORED_INMAILS`, `DYNAMIC`) | Yes | - | Ad format being forecast. SPONSORED\_UPDATES covers feed ads including single image, video and carousel. |
| `objective_type` | enum (`BRAND_AWARENESS`, `ENGAGEMENT`, `LEAD_GENERATION`, `VIDEO_VIEW`, `WEBSITE_CONVERSION`, `WEBSITE_TRAFFIC`, `WEBSITE_VISIT`) | Yes | - | Campaign objective. LinkedIn's docs call this optional, but the API rejects the request without it, and the objective decides which metrics come back: LEAD\_GENERATION adds leads, BRAND\_AWARENESS adds cost per impression. |
| `days` | integer | No | `7` | How many days ahead to forecast, starting tomorrow. Defaults to 7. LinkedIn only forecasts future time, so the window always starts in the future. |
| `daily_budget` | number | Yes | - | Planned daily budget in the account currency. The forecast is capped by it, so the budget drives the result as much as the targeting does. |
| `bid_amount` | number | Yes | - | Planned bid in the account currency. |
| `bid_type` | enum (`CPM`, `CPC`, `CPV`) | Yes | - | Bid basis that goes with bid\_amount. |
| `enable_audience_network` | boolean | No | - | Whether to forecast with the LinkedIn Audience Network on, which extends delivery to third party apps and sites. |

## Output

**Type**: `List[Dict]`

Returns one row per metric, granularity and day. A metric repeats across granularities, so filter on granularity when comparing.

**Fields**: `metric`, `granularity`, `date`, `value`, `low_end`, `high_end`


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.