Skip to main content

Command-line interface for Apple Search Ads campaign management

Project description

ASA API CLI

PyPI version Python License CI

A command-line interface for managing Apple Search Ads campaigns.

Built on top of asa-api-client.

Installation

Using uv (recommended):

uv tool install asa-api-cli

Using pip:

pip install asa-api-cli

Using pipx:

pipx install asa-api-cli

Setup

Set up your Apple Search Ads API credentials:

export ASA_CLIENT_ID="SEARCHADS.your-client-id"
export ASA_TEAM_ID="SEARCHADS.your-team-id"
export ASA_KEY_ID="your-key-id"
export ASA_ORG_ID="123456"
export ASA_PRIVATE_KEY_PATH="/path/to/private-key.pem"

Or use a .env file in your working directory.

Test your credentials:

asa auth test

Commands

Campaigns

# List all enabled campaigns
asa campaigns list

# List all campaigns (including paused)
asa campaigns list --all

# List with 7-day spend data
asa campaigns list --with-spend

# Get a specific campaign
asa campaigns get 123456789

# Output as JSON
asa campaigns list --json

Ad Groups

# List ad groups in a campaign
asa ad-groups list 123456789

Keywords

# List keywords in an ad group
asa keywords list 123456789 987654321

Reports

# Campaign performance report
asa reports campaigns --start 2024-01-01 --end 2024-01-31

# Keyword report
asa reports keywords 123456789 --start 2024-01-01 --end 2024-01-31

# Export to CSV
asa reports campaigns --start 2024-01-01 --end 2024-01-31 --output report.csv

Brand Campaigns

Create brand protection campaigns for your app:

# Interactive mode (recommended)
asa brand

# With arguments
asa brand "My App Name" -v "My App" -c US -c GB

# All standard countries
asa brand "My App Name" --country all

# Preview without creating
asa brand "My App Name" -c US --dry-run

Campaign Expansion

Expand existing campaigns to new markets:

# Interactive mode
asa optimize expand

# With filters
asa optimize expand --type Generic --match EM

# Preview
asa optimize expand --dry-run

Bid Optimization

Check and fix bid discrepancies:

# Check bids
asa optimize bid-check

# Auto-fix discrepancies
asa optimize bid-check --auto-fix

# With threshold
asa optimize bid-check --threshold 0.05

Shell Completion

Install shell completion for your shell:

# Bash
asa --install-completion bash

# Zsh
asa --install-completion zsh

# Fish
asa --install-completion fish

License

MIT License - Copyright (c) 2025 Peth Pty Ltd

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

asa_api_cli-0.3.0.tar.gz (215.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

asa_api_cli-0.3.0-py3-none-any.whl (84.5 kB view details)

Uploaded Python 3

File details

Details for the file asa_api_cli-0.3.0.tar.gz.

File metadata

  • Download URL: asa_api_cli-0.3.0.tar.gz
  • Upload date:
  • Size: 215.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for asa_api_cli-0.3.0.tar.gz
Algorithm Hash digest
SHA256 6de5e7eb48015328a9f38e1007892375953853392c804bc6c75c25475f127747
MD5 2e986545b5958bdf2e132647b5bde3d8
BLAKE2b-256 70c085860ae8e130d8817537e6716f6187f749d17cc544c7a65c932060d9289e

See more details on using hashes here.

Provenance

The following attestation bundles were made for asa_api_cli-0.3.0.tar.gz:

Publisher: publish.yml on SamPetherbridge/asa-api-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file asa_api_cli-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: asa_api_cli-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 84.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for asa_api_cli-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 721f7831a3b2de584af7bdf2b89e4e46fb2c4d837945992e60d68f145b2e1a8b
MD5 929ef3d7bc1e0bbd6afe35af10209720
BLAKE2b-256 c6e6794ca6f59fe5a05ab625a67cdaca20ae326683a804df03a719fa730b4bc4

See more details on using hashes here.

Provenance

The following attestation bundles were made for asa_api_cli-0.3.0-py3-none-any.whl:

Publisher: publish.yml on SamPetherbridge/asa-api-cli

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page