| name | apple-ads-cli |
| description | Use the apple-ads command to inspect Apple Search Ads accounts, list campaigns/ad groups/keywords, read keyword reports, and preview safe keyword bid updates. |
Apple Ads CLI
Use the installed apple-ads command for Apple Search Ads account work.
Start with:
apple-ads --json doctor
apple-ads --version
If credentials are configured and the user asks for a live check:
apple-ads --json doctor --live
Discovery
apple-ads --json campaigns list
apple-ads --json ad-groups list --campaign CAMPAIGN_ID
apple-ads --json keywords list --campaign CAMPAIGN_ID --ad-group AD_GROUP_ID
apple-ads --json keywords live --serving-only
Treat inventory reads as complete only when ok is true, partial is false, and pagination is not truncated.
Reports
apple-ads --json reports keywords --campaign CAMPAIGN_ID --latest-complete --nonzero-only
For explicit dates:
apple-ads --json reports keywords --campaign CAMPAIGN_ID --start YYYY-MM-DD --end YYYY-MM-DD --nonzero-only
Bid updates
Preview first:
apple-ads --json keywords set-bid --campaign CAMPAIGN_ID --ad-group AD_GROUP_ID --keyword KEYWORD_ID --bid 1.25
Apply only when the user explicitly approves the exact campaign, ad group, keyword, bid, and currency:
apple-ads --json keywords set-bid --campaign CAMPAIGN_ID --ad-group AD_GROUP_ID --keyword KEYWORD_ID --bid 1.25 --apply
Raw read-only hatch
Use high-level commands first. If a read-only endpoint is missing, use:
apple-ads --json request get campaigns --param limit=10
Do not run or add raw write methods unless the user explicitly approves that exact live write surface.
Safety rules
- Do not print credentials.
- Do not commit env files, private keys, account IDs, app IDs, campaign IDs, ad group IDs, or keyword IDs.
- Do not run
--apply without explicit user approval for the exact live mutation.
- Keep write previews as approval artifacts.
- Use
--json for analysis and automation.