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
  • Portfolios
  • Invoices aka Billing
  • Audiences
  • Change History open Beta
  • Elegibility
  • Insights
  • Localization
  • Metadata aka Product metadata

Amazon Attribution open beta

  • Advertisers
  • Publishers
  • Attribution tags
  • Reports

Brand Metrics open beta

  • Report

Advertising Test Account

  • Create test account
  • Get test account information

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.3.0.tar.gz (58.5 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.3.0-py3-none-any.whl (99.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: python-amazon-ad-api-0.3.0.tar.gz
  • Upload date:
  • Size: 58.5 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.3.0.tar.gz
Algorithm Hash digest
SHA256 40f0430edb4e347c525a4fc7fe8de10ea4f3a18c5a5247ea40e2ee1458b26d3e
MD5 7fe9d7d370f859c584d1bf635bbbff8b
BLAKE2b-256 b96a124e29be1fbf3ca8add6e79bc6fe8d547db83869eeb4678234d77db5ffce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for python_amazon_ad_api-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b0bc484332e5e9c78e8809d9ac827a10092c1712e8107999bd37d7cafa3919f1
MD5 282b26ed92663120cd83eed5f0b2a183
BLAKE2b-256 059b00c3d001a7aca7f83ec2dfdb90cfb1a17478507e06c0a46c3d85f1a312ea

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