Plan before write
Every write command starts as a JSON plan that Claude Code, Codex, CI, or a human can review before execution.
Built for agents and ROAS. asccli.sh is the broad App Store Connect CLI. Lily CLI is narrower on growth: plan Apple Ads campaigns, get keyword-level revenue, and optimize for ROAS.
brew install crevas/tap/lilyadslily ads plan create \
--country US \
--daily-budget 300 \
--bid 3.00 \
--cpa-goal 2.00 \
--exact-keywords "photo editor,ai photo" \
--negative-exact "wallpaper,jobs" \
--creative product-page:pp_123Different by focus
Apple Ads managers think in launches, countries, budgets, CPA goals, creative routes, and payback. The CLI should speak that language.
Every write command starts as a JSON plan that Claude Code, Codex, CI, or a human can review before execution.
Reports can call Lily Ads Revenue Analytics so campaign decisions are tied to paid users, profit, and ROAS.
Create the campaign package you mean, not a pile of raw endpoint calls stitched together by an agent.
The CLI keeps v5 as the default today while reserving Platform API v1.0 commands for target CPA suggestions.
Lily advantage
A free Apple Ads CLI gets developers into the workflow. Lily Ads Revenue Analytics turns those same commands into paid-user, profit, and ROAS decisions.
Ask an agent to launch a US Apple Ads plan.
Review the JSON dry-run with campaign, ad group, keywords, negatives, CPA, and creative.
Approve execution only when the plan matches the business intent.
Pull spend plus Lily revenue to understand ROAS and paid-user quality.

lily ads reports campaigns --app-id 999999999
{
"appleAds": { "spend": "$12,856" },
"revenue": { "source": "Lily Ads Revenue Analytics" },
"roas": "6.12x"
}Lily versus asc
The point is not to replace asc. The point is to own the Apple Ads workflow where revenue, creative, bids, and Platform API migration all meet.
Broad App Store Connect automation across releases, TestFlight, metadata, signing, analytics, and Apple Ads.
Apple Ads only, with deeper campaign planning, revenue enrichment, creative routing, and migration logic.
Endpoint-rich command tree for many App Store Connect jobs.
Business-first commands that create a campaign, ad group, keywords, negatives, CPA goal, and creative in one plan.
Great general-purpose automation surface for coding agents.
JSON dry-runs by default, explicit confirmation for writes, and prompts that map to growth decisions.
Manages Apple Ads objects and reports.
Connects Apple Ads spend to Lily Ads Revenue Analytics so agents can explain paid users, profit, and ROAS.
Useful for current Apple Ads API access inside a larger toolkit.
Built around the v5 and upcoming Platform API v1.0 transition with reserved target CPA suggestions and recommendations.
Lily CLI is an independent Apple Ads-focused CLI and analytics tool for Apple Ads. It is not affiliated with Apple Inc. “Apple” and “Apple Ads” are trademarks of Apple Inc.
Platform API window
The command surface is already reserved, so the public endpoint contract can be mapped without changing how agents ask for help.
lily ads suggestions cpa --app-id 999999999lily ads recommendations apply --type target-cpa --app-id 999999999lily --provider platform ads plan create --country GB --cpa-goal 12.00brew install crevas/tap/lilyads
# or
curl -fsSL https://www.chatlily.ai/apple-ads-cli/install | bashFrequently asked questions
The short version: local keys stay local, the CLI stays open, and revenue analytics is the commercial layer.
Free core CLI, Lily revenue layer when you need ROAS