Repolode
imrenagicom

imrenagicom/adsctl

AI-agent-ready Go CLI for inspecting, monitoring, reporting on and launching Meta ad campaigns, with JSON output and explicit account scope.

Open-source alternative to:Meta Ads Manager

Stars
76
Forks
6
Open issues
0
Last commit
2 days ago

What is it?

adsctl is a Go and Cobra command-line tool for working with advertising accounts. Meta (Facebook and Instagram ads) is the first supported platform, and a Google adapter is planned. It returns JSON by default, requires explicit account scope for writes, and reads credentials from external token files or environment variables rather than storing them in config.

The CLI covers resource discovery (accounts, campaigns, ad sets, ads, creatives, pixels, audiences), native Insights and async reporting with summaries, rankings and CSV/JSONL export, and one-shot read-only monitoring rules that can flag delivery and metric issues. Write operations include creating, updating, pausing and archiving campaign objects, budget changes with dry-run previews, and multi-step launch runs that record state and support resume and reconciliation after interruptions.

The repository also bundles three agent skills (reporting/operations, Meta performance audits and setup) and can be installed as a plugin for Codex, Claude Code and Google Antigravity. It includes Instagram publishing commands for images, Reels, Stories and carousels, and ships prebuilt binaries for Linux, macOS and Windows.

Key features

  • 01Returns versioned JSON envelopes by default, suited to AI agents and shell scripts.
  • 02Requires explicit profile and account scope for advertising writes, with dry-run previews.
  • 03Reads Meta access tokens from external files or environment variables, never storing values in config.
  • 04Provides native Insights queries, async jobs, summaries, rankings and CSV/JSONL export.
  • 05Runs deterministic, read-only monitoring rules and reports changes between account snapshots.
  • 06Supports resumable multi-step campaign launches with state journals and reconciliation.

Use cases

  • Letting an AI agent pull campaign performance reports and flag delivery problems.
  • Scheduling read-only account checks in CI or cron and failing jobs on findings.
  • Bulk-pausing or adjusting budgets across client ad accounts from a script.
  • Publishing Instagram posts, Reels or carousels from an automated pipeline.

Quick start

  1. 1

    Run the official install script from the README

  2. 2

    Load the PATH configuration into your shell

    source "$HOME/.adsctl/env"
  3. 3

    Check that the CLI runs

    adsctl version

Things to know

  • Only Meta ads are implemented so far; Google is a future adapter.
  • You must create a Meta developer app and supply an access token yourself; the CLI does not handle OAuth.
  • Persistent launch and monitor execution is not supported on Windows.

In collections

Topics

FAQ

What is adsctl?
AI-agent-ready Go CLI for inspecting, monitoring, reporting on and launching Meta ad campaigns, with JSON output and explicit account scope. adsctl is a Go and Cobra command-line tool for working with advertising accounts. Meta (Facebook and Instagram ads) is the first supported platform, and a Google adapter is planned. It returns JSON by default, requires explicit account scope for writes, and reads credentials from external token files or environment variables rather than storing them in config.
Is adsctl free to use? What license does it have?
adsctl is open source under the MIT license. Check the license terms before using it in commercial products.
Is adsctl still maintained?
Actively maintained. The last commit to adsctl was on Nov 5, 2026.
What can I use adsctl for?
Letting an AI agent pull campaign performance reports and flag delivery problems. Scheduling read-only account checks in CI or cron and failing jobs on findings. Bulk-pausing or adjusting budgets across client ad accounts from a script. Publishing Instagram posts, Reels or carousels from an automated pipeline.
How do I install adsctl?
Run the official install script from the README Load the PATH configuration into your shell: source "$HOME/.adsctl/env" Check that the CLI runs: adsctl version
Where can I get adsctl?
The source code and installation instructions are on GitHub: https://github.com/imrenagicom/adsctl

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects

A local macOS hardware inspection tool for checking used Macs, with automatic system checks, interactive tests, and PDF/PNG reports.

Developer Tools#macos#hardware-diagnostics#swiftui
908+19 this week83SwiftNo licenseUpdated 11 days ago