LinkedIn Ads Read
User asks how to allocate their LinkedIn budget, wants budget optimization recommendations, or asks "How should I split my LinkedIn spend?" Uses linear programming to optimize budget allocation acros
POST https://api.adspirer.ai/api/v1/tools/optimize_linkedin_budget/execute
Authorization: Bearer sk_live_... — your Adspirer API key (required)Content-Type: application/json (required)Idempotency-Key: <uuid> — recommended for write operations to make retries safeAll tool arguments are wrapped in an arguments object.
| Field | Type | Description |
|---|---|---|
start_date | string optional | Start date (YYYY-MM-DD). If provided with end_date, overrides lookback_days for custom date range queries. |
end_date | string optional | End date (YYYY-MM-DD). If provided with start_date, overrides lookback_days for custom date range queries. |
date_range | string optional | Date range preset: 'last_7_days', 'last_14_days', 'last_30_days', 'last_60_days', 'last_90_days'. Overrides lookback_days. Ignored if start_date/end_date are provided. |
raw_data | boolean optional | If true, return ONLY raw metrics as a JSON code block (spend, clicks, impressions, conversions, CPA, CPC, CTR, CVR, ROAS by campaign/ad/date). Strips severity labels, suggested bids/budgets, industry benchmarks, and optimization recommendations. Use when you run your own attribution model or want to minimize token usage. default: false |
total_budget | number required | Total monthly budget to allocate across campaigns (required, > 0) |
lookback_days | integer optional | Number of days of historical data to use for optimization. Default: 30. default: 30 |
target_roas | number optional | Target ROAS for optimization. If not provided, uses historical average. |
max_change_percentage | number optional | Maximum budget change per campaign (0.3-0.7). Default: 0.5 (50%) default: 0.5 |
min_daily_budget | number optional | Minimum daily budget per campaign. LinkedIn minimum is $10. Default: $20 default: 20.0 |
optimization_goal | string optional | Optimization goal: 'conversions' or 'leads'. Default: conversions default: "conversions" |
ad_account_id | string optional | LinkedIn Ad Account ID. Required for multi-account users. Get from list_connected_accounts. |
{
"arguments": {
"total_budget": 1.0,
"start_date": "string",
"end_date": "string",
"date_range": "string",
"raw_data": false,
"lookback_days": 30,
"target_roas": 0.1
}
}
{
"success": true,
"data": {
"text": "(tool-specific textual output for optimize_linkedin_budget)",
"quota": {
"used": 42,
"limit": 150,
"tier": "plus",
"period_end": "2026-05-01"
}
},
"tool": "optimize_linkedin_budget"
}
{
"success": false,
"error": "You have 25 meta_ads accounts connected. Please specify which account to use by passing the ad_account_id parameter:\n - Acme Holdings (ad_account_id=\"act_123456789\")\n - Acme EU (ad_account_id=\"act_987654321\")",
"is_error": true,
"tool": "optimize_linkedin_budget"
}
{
"success": false,
"error": "\ud83d\udea8 Monthly limit reached (150/150 tool calls on Plus tier).\nUpgrade to Pro at https://adspirer.ai to keep building.",
"is_error": true,
"tool": "optimize_linkedin_budget",
"quota": {
"used": 150,
"limit": 150,
"tier": "plus",
"period_end": "2026-05-01",
"upgrade_url": "https://adspirer.ai"
}
}
Interactive: Swagger UI
Machine-readable: OpenAPI 3.1 spec · llms-full.txt
More tools: LinkedIn Ads · All tools
Adspirer REST API — get an API key at adspirer.ai/keys · adspirer.ai