diff --git a/docs/en/shopping.md b/docs/en/shopping.md
index 560f015f1..354f922c4 100644
--- a/docs/en/shopping.md
+++ b/docs/en/shopping.md
@@ -206,6 +206,12 @@ Language
+## Snow Peak
+
+### New Arrivals(USA)
+
+
+
## The Independent
### PS5 stock UK
diff --git a/docs/shopping.md b/docs/shopping.md
index 2f6ed7c47..626f58bea 100644
--- a/docs/shopping.md
+++ b/docs/shopping.md
@@ -250,6 +250,12 @@ For instance, in
+## Snow Peak
+
+### New Arrivals(USA)
+
+
+
## The Independent
### PS5 stock UK
diff --git a/lib/v2/snowpeak/maintainer.js b/lib/v2/snowpeak/maintainer.js
new file mode 100644
index 000000000..0cf798e84
--- /dev/null
+++ b/lib/v2/snowpeak/maintainer.js
@@ -0,0 +1,3 @@
+module.exports = {
+ '/us/new-arrivals': ['NavePnow'],
+};
diff --git a/lib/v2/snowpeak/radar.js b/lib/v2/snowpeak/radar.js
new file mode 100644
index 000000000..c1d6ea6d3
--- /dev/null
+++ b/lib/v2/snowpeak/radar.js
@@ -0,0 +1,13 @@
+module.exports = {
+ 'snowpeak.com': {
+ _name: 'Snow Peak',
+ '.': [
+ {
+ title: 'New Arrivals(USA)',
+ docs: 'https://docs.rsshub.app/shopping.html#snow-peak',
+ source: ['/collections/new-arrivals', '/'],
+ target: '/snowpeak/us/new-arrivals',
+ },
+ ],
+ },
+};
diff --git a/lib/v2/snowpeak/router.js b/lib/v2/snowpeak/router.js
new file mode 100644
index 000000000..850e9e128
--- /dev/null
+++ b/lib/v2/snowpeak/router.js
@@ -0,0 +1,3 @@
+module.exports = function (router) {
+ router.get('/us/new-arrivals', require('./us-new-arrivals'));
+};
diff --git a/lib/v2/snowpeak/templates/new-arrivals.art b/lib/v2/snowpeak/templates/new-arrivals.art
new file mode 100644
index 000000000..d1b610e5b
--- /dev/null
+++ b/lib/v2/snowpeak/templates/new-arrivals.art
@@ -0,0 +1,11 @@
+
+ Variant:
+
+ {{each product.variants}}
+ {{$value.name}}
+
+ {{/each}}
+ {{each product.images}}
+

+ {{/each}}
+
diff --git a/lib/v2/snowpeak/us-new-arrivals.js b/lib/v2/snowpeak/us-new-arrivals.js
new file mode 100644
index 000000000..f461396a1
--- /dev/null
+++ b/lib/v2/snowpeak/us-new-arrivals.js
@@ -0,0 +1,45 @@
+const got = require('@/utils/got');
+const { art } = require('@/utils/render');
+const path = require('path');
+const cheerio = require('cheerio');
+const host = 'https://www.snowpeak.com';
+module.exports = async (ctx) => {
+ const url = `${host}/collections/new-arrivals`;
+ const response = await got({
+ method: 'get',
+ url,
+ });
+ const data = response.data;
+
+ const $ = cheerio.load(data);
+ const list = $('.element.product-tile')
+ .map(function () {
+ const data = {};
+ const product = $(this).find('.product-data').data('product');
+ data.title = product.title;
+ data.link = `${host}/products/${product.handle}`;
+ data.pubDate = new Date(product.published_at).toUTCString();
+ data.category = product.tags;
+ data.variants = product.variants.map((item) => item.name);
+ data.description =
+ product.description +
+ art(path.join(__dirname, 'templates/new-arrivals.art'), {
+ product,
+ });
+
+ return data;
+ })
+ .get();
+ ctx.state.data = {
+ title: 'Snow Peak - New Arrivals',
+ link: `${host}/new-arrivals`,
+ description: 'Snow Peak - New Arrivals',
+ item: list.map((item) => ({
+ title: item.title,
+ category: item.category,
+ description: item.description,
+ pubDate: item.pubDate,
+ link: item.link,
+ })),
+ };
+};