Skip to main content

Python wrapper for the Amazon Advertising API

Project description

PYTHON-AMAZON-AD-API [AMAZON ADVERTISING]

CodeQL CodeQL CodeQL Documentation Status

Python Amazon Advertising Api

Install

Badge

pip install python-amazon-ad-api

Donate

If you find this project is useful consider donating to keep on going on it

paypal

alt text

Set Up

Create a .env file and put in the root of your project ( SANDBOX or PRODUCTION )

# environment variables defined inside a .env file
AWS_ENV=SANDBOX
.
├── .env
└── campaign_client.py

Switcher SandBox Environment

Use a .env to manage the environment. Is high recommended try the SANDBOX environment as some features may delete (archive) modules as campaigns, ad groups,...etc and this cannot be undone.

AWS_ENV=SANDBOX
# AWS_ENV=PRODUCTION

You may create a test profile id to include in your credentials with a curl command, note the {"countryCode":"ES"} that refers to the marketplace you will operate.

curl \
    -X PUT \
    -H "Content-Type:application/json" \
    -H "Authorization: Bearer Your-Token \
    -H "Amazon-Advertising-API-ClientId: your-client-id" \
    --data '{"countryCode":"ES"}' \
     https://advertising-api-test.amazon.com/v2/profiles/register

Credentials

Use a credentials.yml file with your credentials if you dont know how to obtain your refresh token, please visit:

Login with Amazon application

version: '1.0'

default:
  refresh_token: 'your-refresh-token'
  client_id: 'your-client-id'
  client_secret: 'your-client-secret'
  profile_id: 'your-profile-id'

Search path for credentials.yml

  • macOS and Other Unix: ~/.config/python-ad-api
  • Windows: %APPDATA%\python-ad-api where the APPDATA environment variable falls back to %HOME%\AppData\Roaming if undefined

Confuse Help

Modules Available Common Resources

  • Profiles
  • Invoices aka Billing
  • Elegibility
  • Metadata aka Product metadata
  • History
  • Localization
  • Audiences
  • Portfolios
  • Insights

Modules Available Sponsored Products

  • Ad Groups
  • Bid Recommendations
  • Campaigns
  • Keywords
  • Negative Keywords
  • Product Ads
  • Suggested Keywords
  • Product Targeting
  • Negative Product Targeting
  • Campaign Negative Keywords
  • Reports
  • Snapshots

Modules Available Sponsored Brands

  • Campaigns
  • AdGroups
  • Keywords
  • Negative Keywords
  • Product Targeting
  • Negative Product Targeting
  • Targeting Recommendations
  • Bid Recommendations
  • Stores
  • Landing Page Asins
  • Media
  • Brands
  • Moderation
  • Reports

Modules Available Sponsored Display

  • Campaigns
  • AdGroups
  • Reports

Usage Campaigns

import logging
from ad_api.base import AdvertisingApiException, Marketplaces
from ad_api.api.sp import Campaigns

logging.basicConfig(
    level=logging.DEBUG,
    format="%(asctime)s:%(levelname)s:%(message)s"
)

try:

    states = 'enabled'

    res = Campaigns().list_campaigns_extended(
        stateFilter=states
    )

    campaigns = res.payload
    for campaign in campaigns:
        logging.info(campaign)

    logging.info(len(campaigns))


except AdvertisingApiException as ex:
    print(ex)

LICENSE

License

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

python-amazon-ad-api-0.1.2.tar.gz (36.4 kB view hashes)

Uploaded Source

Built Distribution

python_amazon_ad_api-0.1.2-py3-none-any.whl (65.6 kB view hashes)

Uploaded Python 3

Supported by

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