Skip to main content

Python wrapper for the Amazon Advertising API

Project description

PYTHON-AMAZON-AD-API

CodeQL CodeQL CodeQL Documentation Status

Amazon's Advertising API

A wrapper to access Amazon's Advertising API with an easy-to-use interface.

Install

Badge

pip install python-amazon-ad-api

Donate

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

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

Amazon Attribution open beta

  • Advertisers
  • Publishers
  • Attribution tags
  • Reports

Brand Metrics open beta

  • Reports

Test accounts

  • Create
  • Get

Modules Available Sponsored Products 2.0

  • 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 Products 3.0

  • Budget Rules
  • Campaign Optimization Rules
  • Ranked Keywords Recommendations
  • Product Targeting
  • Budget Recommendations
  • Budget Rules Recommendations
  • Product Recommendations

Modules Available Sponsored Brands

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

Modules Available Sponsored Display

  • Campaigns
  • Ad Groups
  • Reports
  • Product Ads
  • Targets
  • Negative Targets
  • Targets Recommendations
  • Bid Recommendations
  • Creatives

Example 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 error:
    logging.info(error)

SELLING PARTNER API

This API is based on the API Client created by @saleweaver which also build Python-Amazon-Selling-Partner-API with an easy-to-use interface. If you need use the Amazon's Selling Partner API you can find it here

DISCLAIMER

We are not affiliated with Amazon

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.2.7.tar.gz (53.1 kB view details)

Uploaded Source

Built Distribution

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

python_amazon_ad_api-0.2.7-py3-none-any.whl (92.9 kB view details)

Uploaded Python 3

File details

Details for the file python-amazon-ad-api-0.2.7.tar.gz.

File metadata

  • Download URL: python-amazon-ad-api-0.2.7.tar.gz
  • Upload date:
  • Size: 53.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.12

File hashes

Hashes for python-amazon-ad-api-0.2.7.tar.gz
Algorithm Hash digest
SHA256 c7b596cf2a1febdaf9bc6b023e9291ef8ec17d4f7bcdf92c20d716863b06f69d
MD5 d2da97b5babeb0fa20e99abfb0a0853e
BLAKE2b-256 c80829b04df8c3807485ee520a8889e534e84e509be1dc5dac9682662e42f22d

See more details on using hashes here.

File details

Details for the file python_amazon_ad_api-0.2.7-py3-none-any.whl.

File metadata

File hashes

Hashes for python_amazon_ad_api-0.2.7-py3-none-any.whl
Algorithm Hash digest
SHA256 3a69dcdbee7bda47c23f1aef26ec0026c11d0942f3b83c7688e6828f3d69f412
MD5 b4a6e3688782c406f6e04a3e0719568a
BLAKE2b-256 a1ecd3a28a3d115238adf978c28c09ac4c778250b9f1ecb0a01e61d25c04f18e

See more details on using hashes here.

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