Reishunger Product Scraper - Prices, Stock, Nutrition avatar

Reishunger Product Scraper - Prices, Stock, Nutrition

Pricing

from $10.00 / 1,000 catalogues

Go to Apify Store
Reishunger Product Scraper - Prices, Stock, Nutrition

Reishunger Product Scraper - Prices, Stock, Nutrition

Export the Reishunger catalogue: prices, discounts, EUR per kilo, ratings, availability, pack sizes, EAN codes, nutrition values and ingredient lists.

Pricing

from $10.00 / 1,000 catalogues

Rating

0.0

(0)

Developer

SIÁN OÜ

SIÁN OÜ

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

🍚 Reishunger Product Scraper — Prices, Stock & Nutrition

SIÁN Agency Store Tesco Product Scraper Douglas Product Scraper BAUHAUS Product Scraper

🎉 The whole Reishunger catalogue — 347 products, priced per kilo, with EAN codes and nutrition

Built for price monitoring, food-data research and marketplace resellers working the German market

🔎 What is the Reishunger Product Scraper — and when should you use it?

The Reishunger Product Scraper turns the German shop reishunger.de and its 347 product pages into clean, structured rows you can filter, export and feed straight into a spreadsheet, database or AI agent. No account, no portal API key, no browser automation to maintain.

Use it when you need: Reishunger product rows carrying the German product name, the current price, any crossed-out price with the money off and the percentage, and the shop's own published price per kilo or litre. Every row also brings a star rating with its review count, a sold-out flag, an image and the direct product link. Detail mode goes further on a single product. It returns every pack size that product is sold in, each with its own article number, EAN, price, price per kilo and live stock count, plus nutrition per 100 g and the full German ingredient declaration.

Use something else when: you need a different shop. Use Tesco Product Scraper for UK supermarket groceries, where this one covers a German specialist. Use Douglas Product Scraper for German beauty and fragrance retail. Use BAUHAUS Product Scraper for German DIY, garden and hardware. This actor reads one shop, so it tells you what Reishunger charges rather than what anyone else charges for the same rice. Each run is a snapshot too: price history exists only if you schedule the run and keep the datasets.

🤖 Use with AI agents

Already connected to the Apify MCP server? Just ask for this Actor by name: sian.agency/reishunger-product-scraper

Your agent can pay for its own runs. This Actor is eligible for agentic payments, so an agent can discover it, run it and settle the bill over x402 (USDC on Base) or Skyfire — without an Apify account or API token of its own. Billing is the same either way: per successful row, never for errors.

Otherwise copy this prompt into Claude, ChatGPT, Cursor or any MCP-enabled assistant:

I want prices, discounts, stock and nutrition from the Reishunger shop using the Apify Actor `sian.agency/reishunger-product-scraper`.
Use it when I need: Reishunger product rows carrying the German product name, the current price, any crossed-out price with the money off and the percentage, and the shop's own published price per kilo or litre. Every row also brings a star rating with its review count, a sold-out flag, an image and the direct product link. Detail mode goes further on a single product. It returns every pack size that product is sold in, each with its own article number, EAN, price, price per kilo and live stock count, plus nutrition per 100 g and the full German ingredient declaration.
Don't use it when: you need a different shop — use tesco-product-scraper or douglas-product-scraper or bauhaus-product-scraper instead.
How to call it: leave `operation` on `catalog` to walk the whole shop, add a `keyword` to keep only products whose German name contains it (reis matches 126 products, bio 119, reiskocher 31, curry 27), or paste shop category links into `categoryUrls` to take named categories and pick up the shop's own taxonomy. Switch `operation` to `productDetail` and pass `productUrls` to get one deep row per product with every pack size, its EAN and stock, plus nutrition and ingredients. `maxItems` is the hard ceiling on rows and therefore on what a run charges.
Start with this input:
{
"operation": "catalog",
"keyword": "reis",
"maxItems": 100
}
Ask me whether they want a broad catalogue sweep or a deep read of named products, and which German keyword or category to narrow to, then run the Actor and summarise the results as a table.

Things you can ask your agent for:

  • Export every organic rice at Reishunger with its price per kilo and flag anything currently discounted.
  • Check the 5 pack sizes of Bio Jasmin Reis every morning and tell me when the 9 kg sack drops below 8 euro per kilo.
  • Build me a food table of every Reishunger product with its EAN, ingredients and salt content per 100 g.

Machine-readable API, MCP config and OpenAPI definition for this Actor are published at apify.com/sian.agency/reishunger-product-scraper.md.

📋 Overview

Germany's largest Asian-food shop, turned into a spreadsheet. This Actor reads reishunger.de and hands back one clean row per product. Price today, price before the discount, what a kilo works out at, how many people rated it, and whether it is actually in stock.

What each row carries:

  • Price per kilo, published rather than calculated — the shop states it on 195 of its 347 products. That is the honest way to compare a 600 g bag against a 9 kg sack.
  • Every pack size on one row — Bio Jasmin Reis comes back with all five of them (600 g, 3×600 g, set, 3 kg, 9 kg), each with its own EAN, price and live stock count.
  • 🎯 Discounts you can act on — 62 of the 347 products were on offer during testing. Each of those rows carries the old price, the money off and the percentage.
  • 💰 Nutrition and ingredients — energy, fat, saturates, carbohydrates, sugars, protein and salt per 100 g, plus the full German ingredient declaration, matched to an EAN.
  • 💎 The first structured feed of this shop — reishunger.de had no Actor on the Apify Store before this one.
  • Two modes, one Actor — a fast catalogue sweep at $0.01 per product, or a deep read at $0.02 when you need pack sizes and nutrition.

✨ Features

  • 🛒 Whole-shop sweep — 347 consumer products across 53 shop categories in a single run.
  • 🔍 German keyword filter — narrow on the product name: reis keeps 126 products, bio 119, reiskocher 31, curry 27, sauce 26, sushi 18.
  • 📂 Category mode — paste shop category links and rows arrive with the shop's own taxonomy: category name, three-level category path, pack size and article number.
  • ⚖️ Price-per-unit column — EUR per kilo or per litre exactly as the shop publishes it.
  • 📦 Real stock counts — detail rows carry the number of units on hand for each pack size, not an in-stock badge.
  • 📟 EAN on every pack size — join this catalogue straight onto Amazon, eBay or a wholesaler feed.
  • 🧂 Nutrition and ingredient declarations for food products, in German, as published.
  • 🔢 Hard row capmaxItems sets the ceiling on rows and therefore on what a run can charge.
  • 📄 HTML run report — the products, what you paid, and a fix for anything that failed.

🎬 Quick start

Open the Actor, press Start, and read the Output tab. The defaults sweep the catalogue for rice and return 25 products, so you see real data before changing a thing.

curl -X POST 'https://api.apify.com/v2/acts/sian.agency~reishunger-product-scraper/runs?token=YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"operation": "catalog", "keyword": "reis", "maxItems": 100}'

🚀 Getting started (3 simple steps)

Step 1: Pick a mode

Leave operation on catalog for many products at once. Switch it to productDetail when you need pack sizes, EAN codes, stock counts and nutrition for specific products.

Step 2: Say what to cover

Add a German keyword to filter on the product name, or paste shop category links into categoryUrls. Leave both empty and you get the whole shop.

Step 3: Set your ceiling

maxItems caps the rows a run returns. Leave it at 25 to test; raise it to 400 for a complete catalogue export.

That's it. In under a minute you'll have:

  • Every matching product with its current price and price per kilo
  • Discounts, ratings and availability on the same row
  • A dataset you can export as JSON, CSV or Excel

📥 Input configuration

FieldTypeDefaultWhat it does
operationstringcatalogcatalog for many products at once, productDetail for a deep read of named products
keywordstring(empty)Keeps only products whose German name contains this text. Empty means the whole shop
categoryUrlsarray[]Shop category links. Rows from these also carry the shop's own taxonomy
productUrlsarray[]Product page links to read in detail. Required when operation is productDetail
maxItemsinteger25Hard ceiling on rows returned, and so on what a run charges (1–1000)

Catalogue sweep:

{
"operation": "catalog",
"keyword": "reis",
"maxItems": 400
}

One category only:

{
"operation": "catalog",
"categoryUrls": ["https://www.reishunger.de/kategorie/162/bio-reis"],
"maxItems": 100
}

Deep read of specific products:

{
"operation": "productDetail",
"productUrls": ["https://www.reishunger.de/produkt/1079/bio-jasmin-reis"],
"maxItems": 25
}

📤 Output

One flat row per product, exportable as JSON, CSV or Excel.

Catalogue mode returns:

FieldTypeDescription
productIdintegerThe shop's product number
productNamestringGerman product name
productUrlstringDirect link to the product page
imageUrlstringProduct image
pricenumberCurrent price in EUR
listPricenumberCrossed-out price, when the product is discounted
discountAmountnumberMoney off in EUR
discountPercentagenumberDiscount as a percentage
referencePricenumberPrice per kilo or litre, as the shop publishes it
referenceUnitstringThe unit that reference price is quoted in
ratingAveragenumberStar rating (present on 341 of 347 products)
ratingCountintegerNumber of ratings behind that average
isSoldOutbooleanWhether the product is currently unavailable
isNewbooleanFlagged as new by the shop
hasBestBeforeDealbooleanOn a short-dated clearance offer
availabilitystringAvailability as the shop states it

Category mode adds sku, brand, variantLabel, categoryName and categoryPath.

Detail mode adds ean, variety, productCategory, productSubCategory, isOrganic, shortDescription and ingredients. Then the nutrition block: nutritionBasis, energyKj, energyKcal, fatG, saturatedFatG, carbohydratesG, sugarsG, proteinG, saltG and packSizeCount.

It also adds packSizes, an array holding one entry per pack size. Each entry has sku, name, ean, packUnit, price, referencePrice, referenceUnit, stock, available, weightKg, brand, variety, productCategory, productSubCategory and isOrganic.

Example row (detail mode, abbreviated):

{
"productId": 1079,
"productName": "Bio Jasmin Reis",
"productUrl": "https://www.reishunger.de/produkt/1079/bio-jasmin-reis",
"price": 5.99,
"referencePrice": 9.98,
"referenceUnit": "kg",
"ratingAverage": 4.97,
"ratingCount": 129,
"isSoldOut": false,
"isOrganic": true,
"energyKj": 1475,
"energyKcal": 347,
"fatG": 0.6,
"carbohydratesG": 78,
"proteinG": 6.8,
"saltG": 0.03,
"packSizeCount": 5,
"packSizes": [
{
"sku": "150-600",
"packUnit": "600g",
"ean": "4260757837724",
"price": 5.99,
"referencePrice": 9.98,
"referenceUnit": "Kilogramm",
"stock": 721,
"available": true,
"weightKg": 0.614
}
]
}

💼 Use cases & examples

1. Rice and pantry price monitoring

Category managers and buyers tracking what Germany's biggest Asian-food shop charges.

Input: operation: catalog, no keyword, maxItems: 400 Output: All 347 products with price, discount and price per kilo Use: Schedule it daily and you have a price series you can chart, including the €/kg that makes a 600 g bag comparable to a 9 kg sack.

2. Promotion and discount tracking

E-commerce teams watching when a competitor's offers start and stop.

Input: operation: catalog, maxItems: 400 Output: listPrice, discountAmount and discountPercentage on every discounted row Use: 62 of 347 products were on offer during testing. A scheduled run turns that into a promotion calendar.

3. Food data and nutrition research

Nutrition analysts and food-tech teams building product databases.

Input: operation: productDetail with the product links you care about Output: Energy, fat, saturates, carbohydrates, sugars, protein and salt per 100 g, plus the full ingredient declaration and an EAN Use: The EAN lets these rows join straight onto other food databases without fuzzy name matching.

4. Availability and assortment monitoring

Distributors checking what is genuinely in stock rather than merely listed.

Input: operation: productDetail for the lines you supply or resell Output: A real stock count per pack size, plus an availability flag Use: Spot a line running down before it goes out of stock, and see which pack size sells through fastest.

5. Marketplace and reseller research

Amazon and eBay sellers hunting for arbitrage on German pantry goods.

Input: operation: productDetail across a shortlist Output: EAN codes on every pack size, with price and price per kilo Use: Match the catalogue against a marketplace feed by EAN and find where the same article sells for more.

6. Category and assortment tracking

Merchandisers watching how a single category evolves.

Input: operation: catalog with categoryUrls Output: Rows carrying categoryName, categoryPath, brand and variantLabel Use: Run the same category weekly and diff the product list to see what was added, dropped or repriced.

7. AI agents and shopping assistants

Builders wiring a German grocery catalogue into an assistant.

Input: Any mode, called over the Apify API or MCP Output: Flat structured rows an LLM can read without parsing HTML Use: Answer "what is the cheapest organic basmati per kilo right now" from live data instead of a stale index.


🔗 Integration examples

JavaScript/Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('sian.agency/reishunger-product-scraper').call({
operation: 'catalog',
keyword: 'reis',
maxItems: 100
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0]);

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_TOKEN')
run = client.actor('sian.agency/reishunger-product-scraper').call(
run_input={'operation': 'catalog', 'keyword': 'reis', 'maxItems': 100}
)
for item in client.dataset(run['defaultDatasetId']).iterate_items():
print(item['productName'], item['price'], item.get('referencePrice'))

cURL

curl -X POST 'https://api.apify.com/v2/acts/sian.agency~reishunger-product-scraper/runs?token=YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"operation": "productDetail", "productUrls": ["https://www.reishunger.de/produkt/1079/bio-jasmin-reis"]}'

Automation workflows (N8N / Zapier / Make)

  1. Trigger: a daily schedule, or a webhook from your own system
  2. HTTP Request: start the Actor and wait for the dataset
  3. Process: filter rows where discountPercentage is above your threshold
  4. Action: write to a sheet, push to Slack, or update your pricing table

📊 Performance & pricing

FREE tier (try it now)

  • 25 products per run — every field, same quality, no credit card
  • Enough to check the data before you commit to a schedule
  • Unlimited products per run — the whole 347-product catalogue in one go
  • Pay only for rows you actually receive: a failed link costs nothing

How it is charged: a small run-start fee, then $0.01 per product in catalogue mode or $0.02 per product in detail mode. Every paid plan from Bronze to Diamond pays the same per-product rate, so there is no volume table to work out.

🔗 View current pricing


❓ FAQ

Q: How many products are there? A: 347 consumer products across 53 shop categories — rice, noodles, pulses, sauces, spice pastes, snacks, rice cookers and kitchen equipment. Set maxItems to 400 and leave the keyword empty for a full export.

Q: What is the difference between catalogue mode and detail mode? A: Catalogue mode is broad and cheap: one row per product with price, discount, price per kilo, rating, image and availability. Detail mode is deep: one row per product link, carrying every pack size with its own EAN, price and stock count, plus nutrition and the ingredient list.

Q: Do I get nutrition values for everything? A: For food, yes. Rice cookers, pans and kitchen equipment have no nutrition table, so those fields stay empty rather than being invented. A multi-component set publishes one table per component, and the row carries the first one, labelled as such in nutritionBasis.

Q: Is the data in German? A: Yes. Product names, ingredient declarations and category names come from the German shop exactly as published, and prices are in EUR. Nothing is translated, because a translated ingredient declaration is not a legal one.

Q: Can I follow one category only? A: Yes. Paste one or more shop category links into categoryUrls and only those are read. Those rows also carry the shop's own taxonomy and the pack size shown on the tile.

Q: Does it give me price history? A: Each run is a snapshot. Schedule the Actor and keep the datasets, and you have a history — there is no archive to query retroactively.

Q: Does it cover other shops? A: No. This Actor reads reishunger.de only. It tells you what Reishunger charges, not what anyone else charges for the same rice.

Q: Are there hidden costs? A: No. A run-start fee plus one event per product row, and nothing else. No proxy bill, no key to buy, no per-request surcharge.


🐛 Troubleshooting

A run returns fewer rows than expected

  • Free Apify accounts are capped at 25 rows per run. Add credits or a payment method to lift it.
  • Check maxItems — it is a hard ceiling, and the run stops the moment it is reached.

The keyword matched nothing

  • Product names are German. Try a shorter stem: reis, bio, curry, sauce.
  • Clear the keyword entirely to take the whole shop, then filter the dataset instead.

Nutrition columns are empty

  • The product is not food. Rice cookers, pans, bowls and books have no nutrition table.
  • You are in catalogue mode. Nutrition only comes back with operation: productDetail.

A product link returns an error row

  • Open the link in a browser. The product may have been withdrawn from the shop.
  • Category links belong in categoryUrls, product links in productUrls — swapping them fails.

"Temporarily unavailable" on a row

  • The shop was briefly unreachable and the run already retried. Re-run that input on its own in a few minutes.

Our actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what has been chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.

However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.

You can also read Apify's blog post on the legality of web scraping.

Reishunger is a trademark of its owner. This tool is not affiliated with, endorsed by or sponsored by Reishunger, and reads only information the shop publishes for shoppers.


🤝 Support

Telegram Support

Join our active support community

Related retail actors: Tesco Product Scraper, Douglas Product Scraper, BAUHAUS Product Scraper.


Built by SIÁN Agency | More Tools

Keywords for LLM Discovery