Google Ads Write
๐จ **IF THIS TOOL RETURNS A QUOTA ERROR:** - The error message will include a clickable upgrade link - Show the FULL error message to the user (it contains the upgrade link) - DO NOT attempt to work ar
POST https://api.adspirer.ai/api/v1/tools/add_sitelinks/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 |
|---|---|---|
campaign_id | string required | The campaign ID to add sitelinks to. Get from list_campaigns. |
sitelinks | array required | List of sitelink objects. Each has 'link_text' (max 25 chars), 'final_url', and optional 'description1'/'description2' (max 35 chars each). |
customer_id | string optional | Google Ads customer ID. Required for multi-account users. Get from get_connections_status. |
ad_group_id | string optional | Optional. Pin sitelinks to a SPECIFIC ad group instead of the whole campaign. Use when the campaign has themed ad groups (e.g. Men's vs Women's products) and you want sitelinks per theme so the links shown match each ad group's intent. Per Google's specificity rules, ad-group sitelinks override campaign-level sitelinks for that ad group. Get ad group IDs from get_campaign_structure or list_ad_groups. |
{
"arguments": {
"campaign_id": "<campaign_id>",
"sitelinks": [
{
"link_text": "Shop Running",
"final_url": "https://example.com/running"
},
{
"link_text": "New Arrivals",
"final_url": "https://example.com/new"
}
],
"customer_id": "string",
"ad_group_id": "string"
}
}
{
"success": true,
"data": {
"text": "(tool-specific textual output for add_sitelinks)",
"quota": {
"used": 42,
"limit": 150,
"tier": "plus",
"period_end": "2026-05-01"
}
},
"tool": "add_sitelinks"
}
{
"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": "add_sitelinks"
}
{
"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": "add_sitelinks",
"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: Google Ads ยท All tools
Adspirer REST API โ get an API key at adspirer.ai/keys ยท adspirer.ai