Skip to content
ltoinelPublic

About

Modern Amazon affiliate product widgets for any website — Amazon Creators API, Express, Redis, Docker

Topics

Resources

Security policy

Stars

29 stars

Watchers

2 watching

Forks

Repository files navigation

Amazon Modern Widgets: fast, beautiful Amazon product cards for your blog

CI CodeQL Release Docs Coverage Dependabot

npm version npm downloads Docker pulls Docker image size GitHub release Node version Conventional Commits License

Amazon Modern Widgets (AMW) replaces the dated Amazon affiliate widgets with fast, responsive product cards. A small Node.js server queries the Amazon Creators API with your partner tag and caches the results in Redis. A single widget.js turns <div class="amw" id="ASIN"> placeholders into clickable cards on any website or CMS (Ghost, WordPress, Drupal, static sites…), with lazy loading, seven languages and SEO-friendly JSON-LD.

📖 Full documentation: https://ltoinel.github.io/amw/

Quick start

Credentials are passed as environment variables: copy .env.example to .env and fill in your Creators API credentials (all variables).

Docker (port 9080, API under /item):

docker run -d --name amw -p 127.0.0.1:9080:9080 --env-file .env \
  ltoinel/amw:latest            # or ghcr.io/ltoinel/amw:latest
curl http://localhost:9080/item/health

From a clone, ./start.sh runs everything (./start.sh --help):

./start.sh docker   # AMW + Redis in Docker, http://localhost:9080/item
./start.sh dev      # development container with hot reload
./start.sh          # local Node.js 26 run with config/production.yml
./start.sh stop     # stop the Docker stacks

npm (Node.js 26):

npm install amazon-modern-widgets
mkdir config && cp node_modules/amazon-modern-widgets/config/sample.yml config/production.yml
# edit config/production.yml (credentials, Server.projectDir, Server.path: /item)
node node_modules/amazon-modern-widgets/dist/main.js

Then proxy /item/ from your website to AMW (NGINX example).

Add a widget to your page

<html lang="en">
  <!-- ... -->
  <div class="amw" id="B084DN3XVN"></div>
  <script src="/item/widget.js" defer></script>
</html>

AMW product cards in a blog article

See Add widgets to your website for the embedding options, JavaScript API and styling, and Product cards for what readers see (languages, savings badge, lazy loading).

Contributing

Issues and pull requests are welcome. Every change follows issue → branch → pull request to develop with Conventional Commits: see AGENTS.md and the contributing guide.

License

MIT © Ludovic Toinel

About

Modern Amazon affiliate product widgets for any website — Amazon Creators API, Express, Redis, Docker

Topics

Resources

Security policy

Stars

29 stars

Watchers

2 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages