Meta Ads CLI
Launch Facebook Ads with Claude Code
Run the full Ads Uploader workflow from your terminal. A JSON spec file describes the launch; the CLI handles validation, retries, and the Meta API. Save specs to git, diff them next week, hand them to a teammate or an AI agent. Built for high-volume creative testing where the same launch needs to ship over and over.
Browse, upload, preview, and launch from the command line
Hand it to Claude Code, Cursor, or Codex with a single skill file
Your presets, accounts, and Meta API connection carry over
Watch the CLI in Action
A full walkthrough from install to launching ads
Install Once, Authenticate Once
Install globally with npm, run ads login to authenticate through your browser, and pick a default ad account. Your existing Ads Uploader account and Facebook connection do all the heavy lifting.
- One npm install. Works anywhere Node 18+ runs.
- Browser-based OAuth, no manual token juggling
- Pick a default account once with ads account act_xxx
- Switch between accounts as fast as you switch directories
Browse Your Account Without Leaving the Shell
The same campaign, ad set, and ad picker you use in the web app, but as commands. Find the ad you want to copy settings from, confirm a preset ID, or scan ad performance without opening Ads Manager.
- ads campaigns lists active campaigns in your default account
- Drill in with ads campaign, ads adset, and ads ad
- Shows headlines, body copy, CTA, destination URL, and parent ad set
- Copy any ad ID straight into a copyFromAd spec field
Upload Folders, Not Files One by One
Point the CLI at a folder of creatives and the entire batch goes straight to Meta's media library. Variant grouping by filename suffix works exactly like it does in the web app.
- ads upload ./my-creatives uploads an entire directory
- 1:1, 4:5, 9:16, and 16:9 variants auto-grouped by filename
- Returns a batch ID you reference in your spec file
- Works with mounted Google Drive, Dropbox, and OneDrive folders
One Spec File. Reusable. Diffable.
Instead of clicking through configuration screens, you describe the launch in a JSON spec file. Reference a saved preset or copy from any existing ad, then layer in headlines, primary text, naming patterns, and overrides.
- Reference a saved preset by ID, the same one you built in the web app
- Or copyFromAd to mirror an existing ad's full configuration
- Override text, URLs, naming patterns, and creative enhancements
- Save it to git, diff it next week, hand it to a teammate
Preview Before You Spend
Every launch starts with a dry run. ads create:preview shows exactly what would be created - campaign, ad sets, ads, budgets, status - without touching Meta's API. Catch config mistakes before they cost you anything.
- Dry-run output matches what the live run will create
- Validates your spec against the same engine the web app uses
- Surfaces missing fields, bad references, or invalid combinations
- No API calls, no charges, no risk
Watch Ads Go Live in Real Time
ads create runs the launch as a background job and streams progress back to your terminal. The same execution pipeline that powers the web app - rate limiting, retries, validation, and creative variations all handled.
- One command publishes the entire batch to Meta
- Live progress for every ad set and ad as it's created
- Resume with ads jobs JOB_ID --follow if you disconnect
- Launch active by default, or use --status PAUSED for a safety net
Hand the Whole Workflow to an AI Agent
The CLI ships with a skill file you drop into Claude Code, Cursor, or any agent that can run shell commands. The agent reads creatives, writes copy, builds the spec, previews, and launches - you stay in the loop on the command line.
- Drop SKILL.md into .claude/commands and the /ads command appears
- Each command is single-purpose, so the agent stays deterministic
- Spec files give the agent a reviewable plan before any spend
- Works alongside your MCP setup for analysis-to-execution loops
Same Ads Uploader Workflow. Now Driven By You and Your Agent.
One spec file, one command, ads in your account.
Start 7-Day Free TrialFree 7-day trial
•No credit card required
•Cancel anytime