Skip to main content

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

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.

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 files

0.2.0

2 files

0.1.0

2 files

Supported by

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