Amazon Modern Widgets¶
Beautiful, fast and SEO-friendly Amazon product cards for your blog, powered by your own server, your partner tag and the Amazon Creators API.

Why AMW?¶
-
Modern product cards
Image, title, price, savings badge and a localized call to action, styled independently of your theme. The whole card links to Amazon with your partner tag.
-
Fast pages
One deferred, brotli-compressed script, lazy loading as cards scroll into view, and three cache layers in front of the Amazon API.
-
SEO friendly
schema.org
ProductJSON-LD for every product andsponsored nofollowlinks. -
Seven languages
French, English, Spanish, German, Italian, Portuguese and Dutch, picked from your page's
lang. -
Secure by default
Untrusted data never rendered as HTML, strict validation, per-IP rate limiting, non-root Docker image.
-
Easy to run
Docker image for amd64 and arm64, Docker Compose with Redis, npm package, or
./start.shfrom source.
Three guides¶
-
User guide
What AMW does, the product cards, caching, the HTTP API and Swagger UI, security, with screenshots.
-
Installation
Step by step: credentials, Docker or npm, reverse proxy on your blog's domain, configuration, verification, upgrade and troubleshooting.
-
Developer guide
Architecture, code layout, dev container, tests, CI/CD, releases and the contribution workflow.
Quick start¶
cp .env.example .env # add your Amazon Creators API credentials
./start.sh docker # AMW + Redis on http://localhost:9080/item
Works with any website or CMS that lets you insert HTML: Ghost, WordPress, Drupal, Joomla, Dotclear, static site generators...
| Source code | github.com/ltoinel/amw |
| npm package | amazon-modern-widgets |
| Docker images | ltoinel/amw and ghcr.io/ltoinel/amw |
| Tutorial (French) | Amazon affiliation with Modern Widgets |
| Contact | GitHub issues: share your blog posts and feedback |
| License | MIT |