asiafoodland Scraper - German Asia Shop Prices
Pricing
from $10.00 / 1,000 catalogues
asiafoodland Scraper - German Asia Shop Prices
Exportiere den asiafoodland.de-Katalog: Preise, Grundpreis, EAN-Codes, Marken, Zutaten, Herkunftsland und Lagerbestand für 2.220 asiatische Lebensmittel.
Pricing
from $10.00 / 1,000 catalogues
Rating
0.0
(0)
Developer
SIÁN OÜ
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
asiafoodland Scraper — German Asia Shop Prices, EAN & Ingredients 🍜
🎉 All 2,220 products, with EAN barcodes, ingredients and a real price per kilo
Built for anyone pricing, sourcing or comparing Asian food in Germany
🔎 What is the asiafoodland German Asia Shop Scraper — and when should you use it?
The asiafoodland German Asia Shop Scraper turns the public product catalogue of asiafoodland.de, a large German Asian grocery 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: German Asian-grocery products as rows: the price in euros including VAT, the shop's own Grundpreis so a 52 g snack bag and a 1 kg rice sack compare on one axis, the brand, the pack size, the star rating and the delivery window. Every row says whether the shop can ship it, and carries the unit count where the shop tracks stock. Offers bring their previous price and the date the offer ends. Detail mode opens each product page and adds the EAN barcode, the shop's article number, the ingredient list, the country of origin, the allergen note, the full description, the shelf path and the image gallery.
Use something else when: the products are not from a German Asian grocery. Use Tesco Product Scraper for mainstream supermarket groceries, with the same price-and-unit-price row shape. Use Google Shopping Price Tracker for what every other retailer charges for the same barcode, across shops rather than inside one. Use Kleinanzeigen Scraper for Germany's biggest classifieds site, for second-hand goods rather than a shop catalogue. This actor covers what asiafoodland.de publishes for shoppers: its four shelves (Food, Non-Food, Getränke & Tee, Sushi & Co), its search results, and its product pages. It reads one shop, so it says what asiafoodland charges, not what anyone else charges. The shop publishes ingredients and allergens as free text rather than structured nutrition values, so calories and macros are not available at any price. Each run is a snapshot; 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/asiafoodland-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 product prices, barcodes and ingredients from asiafoodland.de using the Apify Actor `sian.agency/asiafoodland-product-scraper`.Use it when I need: German Asian-grocery products as rows: the price in euros including VAT, the shop's own Grundpreis so a 52 g snack bag and a 1 kg rice sack compare on one axis, the brand, the pack size, the star rating and the delivery window. Every row says whether the shop can ship it, and carries the unit count where the shop tracks stock. Offers bring their previous price and the date the offer ends. Detail mode opens each product page and adds the EAN barcode, the shop's article number, the ingredient list, the country of origin, the allergen note, the full description, the shelf path and the image gallery.Don't use it when: the products are not from a German Asian grocery — use tesco-product-scraper or google-shopping-price-scraper or kleinanzeigen-scraper instead.How to call it: leave `operation` on `catalog` and either put German words in `searchTerms` (`ramen`, `sojasauce`, `currypaste` — the shop is German, so German words find the most) or pick a `shelf` from the dropdown, where every entry carries the product count measured by walking it. `categoryUrls` reaches any of the shop's 395 shelves, including the sub-shelves the dropdown does not list. `sortBy` offers the five orders the shop actually honours, and it decides which products you get when `maxItems` stops a run early. `inStockOnly` drops what the shop cannot ship today, which is about a third of the catalogue. Switch `operation` to `productDetail` and give `productUrls` a list of product pages to get the EAN, the ingredients, the country of origin and the allergens; catalogue mode is far cheaper per product, so use detail mode on the products you have already narrowed down..Start with this input:{"operation": "catalog","searchTerms": ["ramen"],"shelf": "Any","sortBy": "priceAsc","inStockOnly": true,"maxItems": 100}Ask me which products or shelves to cover, whether sold-out products should come back too, and whether the EAN barcode, ingredients and allergens are worth the higher per-product charge of detail mode, then run the Actor and summarise the results as a table.
Things you can ask your agent for:
- List every instant ramen asiafoodland sells under 3 euro, sorted by price per kilo.
- Export the whole Sushi & Co shelf with brand, pack size and whether it is in stock today.
- Give me the EAN barcode, ingredients and country of origin for every curry paste in the shop.
- Which products on the Snacks & Süßes shelf are on offer right now, and when does each offer end?
- Walk the whole catalogue and tell me which brands asiafoodland carries most products from.
Machine-readable API, MCP config and OpenAPI definition for this Actor are published at apify.com/sian.agency/asiafoodland-product-scraper.md.
📋 Overview
asiafoodland.de sells Asian food, drinks, sushi supplies and kitchen goods across Germany from its base in Hagen. This actor turns its whole shop into rows you can sort, filter and join.
What you get:
- ✅ The complete catalogue: 2,220 products, counted against the shop's own sitemap. A product filed on two shelves is returned once, not twice.
- 🏷️ EAN barcodes on every product page: 20 of 20 sampled products published a GTIN-13. That is the join key that lets a row meet a wholesaler list without fuzzy name matching.
- ⚖️ A real price per kilo: the shop's own Grundpreis sits on nearly every row, so a 52 g snack bag and a 1 kg rice sack compare on one axis.
- 🥗 Ingredients, origin and allergens: detail rows carry the shop's ingredient text on 14 of 20 sampled products, country of origin on 14, and the allergen note on 7.
- 📦 Availability with three states, not two: in stock, sold out, or a product whose options are chosen on its own page and whose listing says nothing either way. 1,628 of 2,395 shelf entries were available when the catalogue was measured.
- 🌏 A specialist assortment: gochujang, tamarind paste, Thai curry pastes, sushi rice. Products a mainstream German supermarket does not stock.
✨ Features
- 🛒 Search or browse: German keywords, one shelf, several shelves, or the entire shop in one run.
- 🗂️ Fifteen shelves with counts that were measured: every product count in the picker came from walking that shelf to its last page.
- ↕️ Sorting that actually sorts: five orderings, each confirmed to change what the shop returns. The one the shop ignores is not offered.
- 🔬 A deeper row when you want it: EAN, article number, ingredients, country of origin, allergens, full description, shelf path and image gallery.
- ✅ In-stock filtering: keep only what the shop can ship, or take everything and decide later.
- 🔢 A hard maximum: a first run costs exactly what you set.
- 🔁 Quiet retries: a page the shop turns away is fetched again automatically, and a retry never appears on your bill.
- 💰 Billed per product returned: an empty search, an empty shelf and an unreadable link all cost nothing.
- 📄 A run report every time: what came back, what did not, what it cost, and copy buttons for the product links.
🎬 Quick Start
Pick a mode, give it something to look for, set a maximum. Catalogue mode is the one to start with, because it returns many products per request and never needs a link. Everything below runs without setup beyond an Apify token.
curl -X POST 'https://api.apify.com/v2/acts/sian.agency~asiafoodland-product-scraper/runs?token=YOUR_TOKEN' \-H 'Content-Type: application/json' \-d '{"operation": "catalog", "searchTerms": ["ramen"], "maxItems": 25}'
🚀 Getting Started (3 Simple Steps)
Step 1: Choose search or browse
Type German words into Search terms: ramen, sojasauce, currypaste, kokosmilch. Or clear that field and pick a Shelf to walk one instead.
Step 2: Set your maximum
Leave it at 25 for a first look. Raise it to 2500 when you want a whole shelf or the entire shop.
Step 3: Run it and open the dataset
Export as JSON, CSV or Excel, or read the run report for a table with copy buttons.
That's it! In under two minutes, you'll have:
- One row per product, with price, price per kilo, brand and availability
- A dataset you can schedule weekly to watch prices move
- A list of product links ready for detail mode
📥 Input Configuration
| Field | Type | Required | Description |
|---|---|---|---|
operation | string | No | catalog (search or browse) or productDetail (deeper rows) |
searchTerms | array | No | German search words, one per line |
shelf | string | No | Which shelf to walk. Any walks the whole shop |
categoryUrls | array | No | Shelf addresses from the shop, including sub-shelves |
sortBy | string | No | shopDefault, nameAsc, priceAsc, priceDesc, bestSelling, mostViewed |
inStockOnly | boolean | No | Keep only products the shop can ship |
productUrls | array | No | Product page links for productDetail |
maxItems | integer | No | Stop after this many rows (default 25, max 2500) |
Example: search
{"operation": "catalog","searchTerms": ["ramen", "sojasauce"],"sortBy": "priceAsc","maxItems": 100}
Example: the whole shop
{"operation": "catalog","searchTerms": [],"shelf": "Any","maxItems": 2500}
Example: one shelf, in stock only
{"operation": "catalog","searchTerms": [],"shelf": "food/reis-nudeln","inStockOnly": true,"maxItems": 200}
Example: deeper rows
{"operation": "productDetail","productUrls": ["https://www.asiafoodland.de/food/reis-nudeln/nudeln/reisnudeln/farmer-reisnudeln-s-1mm-reisbandnudeln-400g.html","https://www.asiafoodland.de/food/snacks-suesses/snacks/taro-fisch-snack-bbq-52g.html"]}
📤 Output
Results are saved to the Apify dataset with 39 fields, including:
| Field | Type | Description |
|---|---|---|
productName | string | The product as the shop names it |
productUrl | string | Its page on the shop |
productId | integer | The shop's own product id, used to remove duplicates |
ean | string | EAN-13 barcode (detail mode) |
sku | string | The shop's own article number (detail mode) |
brand | string | Manufacturer or house brand |
priceEur | number | Price in EUR, VAT included |
oldPriceEur | number | The previous price, when the product is on offer |
saleEndsAt | string | When that offer ends, in the shop's own wording |
basePriceEur | number | The shop's own Grundpreis |
basePriceUnit | string | What that Grundpreis is per: 1 kg, 1 l |
packSize | string | The pack the price refers to, such as 400,00 g |
vatNote | string | The shop's VAT line: 7% on food, 19% on non-food |
availability | string | InStock, OutOfStock, or empty when the listing does not say |
stockQuantity | integer | Units on hand, where the shop tracks them |
deliveryTime | string | The shop's own delivery wording |
ingredients | string | Ingredient text (detail mode) |
countryOfOrigin | string | Where the product is made (detail mode) |
allergens | string | The shop's allergen note (detail mode) |
categoryPath | string | The shelf path this product sits on (detail mode) |
Example row:
{"productName": "Farmer - Reisnudeln (S) 1mm - Reisbandnudeln - 400g","productUrl": "https://www.asiafoodland.de/food/reis-nudeln/nudeln/reisnudeln/farmer-reisnudeln-s-1mm-reisbandnudeln-400g.html","productId": 76,"sku": "HS3230","ean": "8850521115125","brand": "Farmer","priceEur": 3.69,"currency": "EUR","packSize": "400,00 g","basePriceEur": 9.23,"basePriceUnit": "1 kg","vatNote": "inkl. 7% USt.","availability": "InStock","inStock": true,"stockQuantity": 12,"deliveryTime": "Lieferzeit max. 6 Tage","ingredients": "Reismehl","countryOfOrigin": "Thailand","packContent": "400g","storageNote": "Kühl und trocken lagern.","categoryPath": "Food > Reis & Nudeln > Nudeln > Reisnudeln","operation": "productDetail","scrapedAt": "2026-09-10T10:00:00.000Z"}
💼 Use Cases & Examples
1. Asian grocery price monitoring in Germany
A category buyer needs to know what a specialist retailer charges, at the pack size that matters.
Input: search terms like sojasauce, currypaste, reis, or the Food shelf
Output: one row per product with price, Grundpreis per kilo and availability
Use: schedule it weekly and diff the datasets to see which lines moved.
2. Product matching on EAN barcodes
A marketplace seller wants to line this catalogue up against a wholesaler list.
Input: product links in productDetail mode
Output: the EAN-13 barcode, published on every sampled product page, plus the shop's article number
Use: join on the barcode instead of guessing whether two product names mean the same jar.
3. Ingredient and allergen screening
A dietary app or a food buyer needs to filter a shelf by what is actually in the jar.
Input: a shelf walked in catalogue mode, then its product links in detail mode Output: ingredient text, country of origin and the shop's allergen note Use: flag everything containing fish sauce, or split Thai production from Vietnamese.
4. Restocking and availability tracking
A competitor analyst wants to see what sells out and what comes back.
Input: a shelf, run on a schedule Output: availability, the unit count where the shop tracks it, and the delivery window Use: find the products that spend the most weeks unavailable, and drop them from a plan.
5. Assortment research for a competing shop
A founder is deciding what an Asian specialist range in Germany should contain.
Input: shelf: "Any", maxItems: 2500
Output: all 2,220 products with brands, shelf paths, pack sizes and prices
Use: size the categories before committing to stock, and see which third the shop cannot currently ship.
6. Catalogue and content feeds
A comparison site needs product copy and images it does not have to write.
Input: product links in productDetail mode
Output: the full German description, the image gallery, the storage note and the manufacturer
Use: seed product pages without rewriting every description by hand.
7. AI agents and shopping assistants
An assistant needs live prices for a recipe's ingredients.
Input: one search term per ingredient Output: structured rows with price, Grundpreis and availability Use: answer "what would this dish cost tonight" with numbers rather than guesses.
🔗 Integration Examples
JavaScript/Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_TOKEN' });const run = await client.actor('sian.agency/asiafoodland-product-scraper').call({operation: 'catalog',searchTerms: ['ramen', 'sojasauce'],sortBy: 'priceAsc',maxItems: 100,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items[0]);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_TOKEN')run = client.actor('sian.agency/asiafoodland-product-scraper').call(run_input={'operation': 'catalog','shelf': 'food/gewuerze-pasten','inStockOnly': True,'maxItems': 400,})for item in client.dataset(run['defaultDatasetId']).iterate_items():print(item['productName'], item['priceEur'], item['availability'])
cURL
curl -X POST 'https://api.apify.com/v2/acts/sian.agency~asiafoodland-product-scraper/runs?token=YOUR_TOKEN' \-H 'Content-Type: application/json' \-d '{"operation": "productDetail", "productUrls": ["https://www.asiafoodland.de/food/snacks-suesses/snacks/taro-fisch-snack-bbq-52g.html"]}'
Automation Workflows (N8N / Zapier / Make)
- Trigger: a weekly schedule, or a webhook from your own system
- HTTP Request: call the actor API with your shelf or search terms
- Process: compare the new prices against last week's dataset
- Action: write to a sheet, update your catalogue, or send an alert when something moves
📊 Performance & Pricing
FREE Tier (Try It Now)
- 25 products per run, with every field and both modes
- No card required
- Enough to see the shape of the data before you commit
PAID Tier (Production Ready)
- Unlimited products per run, so the whole 2,220-product catalogue fits in one go
- Pay per product returned: an empty search, an empty shelf and an unreadable link all cost nothing
- A run report with the itemised charges every time
💰 $0.01 per catalogue product and $0.02 per detail product, plus a $0.05 run start. Catalogue rows are the cheap, broad mode. Detail rows cost more because each one is its own request to the shop. Every paid plan from Bronze to Diamond pays the same per-product rate.
❓ Frequently Asked Questions
Q: How many products are there? A: 2,220. Leave the shelf on Everything, clear the search terms and raise the maximum to 2500 for a complete export.
Q: What is the difference between catalogue mode and detail mode? A: Catalogue mode is broad and cheap. It returns one row per product with price, Grundpreis, brand, pack size, image, availability and delivery window, 24 products per request. Detail mode is deep. It returns one row per product link and adds the EAN barcode, the article number, the ingredient list, the country of origin, the allergen note, the full description, the shelf path and the image gallery.
Q: Do I get EAN barcodes? A: In detail mode, yes. All 20 sampled product pages published a GTIN-13. The shop puts barcodes on product pages only, which is why catalogue rows leave the field empty.
Q: How much of the catalogue is in stock? A: 1,628 of the 2,395 shelf entries were available when the shop was measured, so roughly two products in three. Sold-out products stay visible and most still show their last price. The shop's own default order puts everything it can ship first, so a run with a small maximum returns available products without you asking.
Q: Why do some rows have no availability at all? A: Because the listing genuinely does not say. A handful of products have a size or flavour that must be chosen on the product page, and their tile carries no order control either way. Reporting that as empty is more honest than guessing, and In stock only drops them along with the sold-out ones.
Q: Why does the shop show a comma and my export a dot? A: The shop is German and writes 3,69EUR. Rows carry a real number, 3.69, so a spreadsheet can add them up without a locale conversion. The currency is always EUR.
Q: Can I cover more than one shelf in a single run? A: Yes. Pick one from the dropdown and paste any number of further shelf addresses into Shelf links. Duplicates are removed on the shop's own product id, so a product filed on two shelves is billed once.
Q: Why does a run take a little longer than other shop scrapers? A: This shop screens automated traffic, so a page it turns away is fetched again automatically. That costs you nothing, but it does add seconds. Catalogue mode is much faster per product, since one request returns 24 of them.
Q: What output formats are available? A: JSON, CSV and Excel, exported straight from the Apify dataset.
🐛 Troubleshooting
A search returns nothing
- The shop is German. Try
sojasaucerather than soy sauce,nudelnrather than noodles. - Browse instead: clear the search terms and pick a shelf from the dropdown.
Fewer rows than the shelf claims
- Check the maximum. It stops the run the moment that many rows exist.
- Check In stock only. It removes about a third of the catalogue.
A product link comes back as removed
- The shop takes pages down. Search the catalogue for the product name to find its replacement, or walk the shelf it sat on.
A row has no EAN, no ingredients and no origin
- Catalogue rows never carry those. Only detail mode reads the product page where the shop publishes them.
A row has no price
- The shop prints no price on a small number of products. That is what the shop itself shows, not a failed read.
⚖️ Is it legal to scrape data?
Our actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has 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.
asiafoodland is a trademark of its owner. This tool is not affiliated with, endorsed by or sponsored by asiafoodland, and reads only information the shop publishes for shoppers.
🤝 Support
Join our active support community
- For issues or questions, open an issue in the actor's repository
- Check SIÁN Agency Store for more automation tools
- 📧 apify@sian-agency.online
Built by SIÁN Agency | More Tools