ShopSavvy for Eleventy
TypeScriptComing soonAn Eleventy (11ty) plugin that adds shortcodes for product cards, deal feeds, and price history, plus a Liquid/Nunjucks filter and a global data file with trending deals. Ships as dual ESM/CJS so it works on both 11ty 2.x and 3.x setups.
Set up ShopSavvy for Eleventy
- 1
Get a ShopSavvy Data API key
Create a key at shopsavvy.com/data. Keys look like ss_live_ followed by 32 characters. Keep it out of source control.
- 2
Install from GitHub
The package in the install command (npm install eleventy-plugin-shopsavvy) is not on its public registry yet, so install from the source repository and follow its README:
git clone https://github.com/shopsavvy/eleventy-plugin-shopsavvy.git - 3
Add your API key
Set the SHOPSAVVY_API_KEY environment variable to your key (shell, .env file or Eleventy's secrets settings), or pass it to the client as the README shows.
- 4
Make your first call
From the shopsavvy/eleventy-plugin-shopsavvy README (Configure):
// eleventy.config.mjs (ESM, Eleventy 3) import shopsavvy from "eleventy-plugin-shopsavvy" export default function (eleventyConfig) { eleventyConfig.addPlugin(shopsavvy, { apiKey: process.env.SHOPSAVVY_API_KEY, // optional: SHOPSAVVY_API_KEY is read by default cacheTTL: 60_000, // optional: reuse identical API responses for this long during a build }) }Copied from the repository README.
- 5
Configure
From the shopsavvy/eleventy-plugin-shopsavvy README (Configure):
// .eleventy.js (CommonJS, Eleventy 2 or 3) const shopsavvy = require("eleventy-plugin-shopsavvy") module.exports = function (eleventyConfig) { eleventyConfig.addPlugin(shopsavvy) }Copied from the repository README.
- 6
Run the example
From the shopsavvy/eleventy-plugin-shopsavvy README (Run the example):
bun install && bun run build cd examples/basic && SHOPSAVVY_API_KEY=ss_live_… npx @11ty/eleventyCopied from the repository README.
Keys come with a Data API plan. See plans.
Features
Use Cases
What data, how often, which direction
- Data
- Product records, current offers from tens of thousands of retailers and price history back to 2011, dense from 2019, from the ShopSavvy Data API. Prices are in US dollars.
- How often
- Every offer carries the time it was last checked. With the Data API you can schedule refreshes hourly, daily or weekly for retailers we can re-check through an official retailer API; other retailers update as ShopSavvy sees them.
- Direction
- ShopSavvy data flows into Eleventy. Requests carry only what you ask about (identifiers, search terms or schedules) and your API key.
FAQ
Do I need an API key?
Yes. The Eleventy integration calls the ShopSavvy Data API, which needs a Data API key. Create one at shopsavvy.com/data, then add it as the setup steps above show.
What data does it return?
ShopSavvy product records (title, brand, model, barcode, ASIN), current offers from tens of thousands of retailers with price, availability and condition, and price history back to 2011, dense from 2019. Products can be looked up by barcode, ASIN, URL or model number. Prices are in US dollars.
How fresh are the prices?
Every offer carries the time ShopSavvy last checked it, so you can see how current each price is. Through the Data API you can schedule refreshes hourly, daily or weekly for retailers we can re-check through an official retailer API; other retailers update as ShopSavvy sees them.
Is my API key stored securely?
The README has you supply it through the SHOPSAVVY_API_KEY environment variable or your own configuration, so it stays out of source code. The key is sent to the ShopSavvy API (api.shopsavvy.com) over HTTPS in the Authorization header. You can revoke a key and create a new one at shopsavvy.com/data/api-keys.
Can I install it from a package registry?
Not yet. The package named in its install command has not been published to its public registry, so install it from the GitHub repository (https://github.com/shopsavvy/eleventy-plugin-shopsavvy) for now.
Is it open source?
Yes. The source is on GitHub at https://github.com/shopsavvy/eleventy-plugin-shopsavvy under the MIT license.
Powered by the ShopSavvy Data API
This integration connects to the ShopSavvy Data API: product data and current prices from tens of thousands of retailers, across 30M+ products, with price history back to 2011, dense from 2019. Look up products by barcode, ASIN, URL or keyword, compare prices, read history and schedule refreshes.
Related Integrations
Hugo
GoHugo Module with shortcodes for product cards, deal feeds, and price history
Jekyll
RubyJekyll Liquid tags and filters for product cards, deals, and price lookups
Astro
TypeScriptAstro integration for content-first product and deal pages
TypeScript SDK
TypeScriptOfficial TypeScript/JavaScript SDK for the ShopSavvy Data API