Asia Foodstore Scraper - Asian Grocery Prices & EANs avatar

Asia Foodstore Scraper - Asian Grocery Prices & EANs

Pricing

from $10.00 / 1,000 catalogues

Go to Apify Store
Asia Foodstore Scraper - Asian Grocery Prices & EANs

Asia Foodstore Scraper - Asian Grocery Prices & EANs

Exportiere den Asia-Foodstore-Katalog: Preise, Grundpreis pro Kilo, EAN-Codes, Lagerbestand, Zutaten, Nährwerte und Herkunft für 7.400 Asia-Lebensmittel.

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

3 days ago

Last modified

Categories

Share

Asia Foodstore Scraper — Asian Grocery Prices, EANs & Nutrition 🥡

Store Store Store Store

For price monitors, importers, dietary apps and anyone joining a German Asian assortment to their own catalogue


🔎 What is the Asia Foodstore Scraper — and when should you use it?

The Asia Foodstore Scraper turns the public catalogue of asia-foodstore.de, a German Asian grocery of about 7,500 articles, 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: Asian grocery products as rows: product name, brand, the shop's article number, the EAN barcode, the current euro price, the published price per kilo or litre, in-stock state and the product image. Detail mode adds the ingredient list and the allergen line. It also carries the full nutrition table with its per-100g or per-100ml basis, country of origin, the EU importer's address, storage instructions, the printed best-before date, article weight and pack content.

Use something else when: you need a different retailer. Use Tesco Product Scraper for a mainstream UK supermarket, with the same price-and-availability row shape. Use Google Shopping Price Tracker for finding who else sells the same barcode, and for how much. This actor reads one shop. It reports what Asia Foodstore charges and stocks today; it does not compare that against other retailers, and it does not keep price history unless you run it on a schedule and keep the datasets.

🤖 Use with AI agents

Already connected to the Apify MCP server? Just ask for this Actor by name: sian.agency/asia-foodstore-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 Asian grocery products with prices, barcodes and nutrition data using the Apify Actor `sian.agency/asia-foodstore-product-scraper`.
Use it when I need: Asian grocery products as rows: product name, brand, the shop's article number, the EAN barcode, the current euro price, the published price per kilo or litre, in-stock state and the product image. Detail mode adds the ingredient list and the allergen line. It also carries the full nutrition table with its per-100g or per-100ml basis, country of origin, the EU importer's address, storage instructions, the printed best-before date, article weight and pack content.
Don't use it when: you need a different retailer — use tesco-product-scraper or google-shopping-price-scraper instead.
How to call it: the `operation` field picks the mode. `catalog` takes `searchTerms` (German words such as kimchi or sojasauce) and/or `categoryUrls` (department links from the shop menu) and returns one row per product, a hundred per request; leaving both empty walks all seven departments. `productDetail` takes `productUrls` and returns one row per product page with ingredients, allergens, nutrition and origin. `availability` keeps all products, only what is in stock, or only what is sold out, and anything the filter removes is never saved and never billed. `sortBy` orders listings cheapest first, most expensive first, or by name. `maxItems` caps the run and therefore the bill.
Start with this input:
{
"operation": "catalog",
"searchTerms": [
"kimchi",
"sojasauce"
],
"availability": "all",
"sortBy": "priceAsc",
"maxItems": 100
}
Ask me which products or departments you care about and how many rows you want, then run the Actor and summarise the results as a table.

Things you can ask your agent for:

  • Every soy sauce this shop stocks, with the price per litre, so I can see which bottle is actually cheapest.
  • Pull the whole instant-noodle department and tell me which lines are sold out right now.
  • Find every product whose allergen line mentions peanut, and give me the EAN barcodes.

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

📋 Overview

Asian groceries are a blind spot in retail data. Mainstream supermarket scrapers cover Tesco, REWE and Edeka; the Asian-grocery ones that exist all cover North America. This one reads a German Asian grocery with about 7,500 articles across eight departments, and it returns the two fields that make grocery rows genuinely useful — the EAN barcode and the price per kilo.

What you get:

  • About 7,500 products: counted by walking every page of every department, not estimated. The seven product departments hold 7,401 unique articles; a further 115 sit outside them and are reachable by product link.
  • 🏷️ EAN barcodes on 85% of rows, straight off the listing. No detail call needed, no fuzzy name matching, and neither Asian-grocery comparable on the Store publishes them at all.
  • ⚖️ The published price per kilo or litre on 96% of rows. German law requires the shop to print it. It is the only honest way to compare a 132 ml bottle against a 1 litre one.
  • 🥗 Label-grade food data: ingredient list, allergen line, the full nutrition table with its per-100g or per-100ml basis, country of origin, the EU importer's address and the printed best-before date.
  • 📦 Availability that is actually right. The rule was checked against 140 product pages before it was trusted, so a promotional badge never gets mistaken for a sold-out line.
  • 💶 Pay per product returned. A search that matches nothing, a product the filter leaves out and a duplicate the run skips all cost nothing.

✨ Features

  • 🛒 Catalogue mode: search the shop in German, or take whole departments, a hundred products per request.
  • 🔬 Detail mode: read named product pages for ingredients, allergens, nutrition, origin, importer, storage and best-before.
  • 🗂️ Whole-shop export: leave the search and the department fields empty and the run walks all seven departments.
  • ♻️ Automatic de-duplication: the shop files the same goods under a cuisine cross-cut as well as a department. You are never charged twice for one product.
  • 📦 Availability filter: all products, in-stock only, or sold-out only. Filtered products are never billed.
  • ↕️ Four sort orders that work: cheapest first, most expensive first, and both name orders. Every one was verified against live listings.
  • 💶 Price change tracking: sale prices carry the date the offer ends, so you can see what is about to revert.
  • 📊 HTML run report: a per-run summary with the numbers, a copy-paste EAN list and an itemised charge statement.

🎬 Quick Start

Pick catalogue mode, give it a German search word or a department link, and set how many products you want. Rows land in the dataset with prices, barcodes and stock state. Feed the product links from those rows back into detail mode when you need ingredients and nutrition.

curl -X POST 'https://api.apify.com/v2/acts/sian.agency~asia-foodstore-product-scraper/runs?token=YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"operation": "catalog", "searchTerms": ["kimchi"], "maxItems": 50}'

🚀 Getting Started (3 Simple Steps)

Step 1: Choose the mode

Leave Operation on catalogue for prices, barcodes and stock. Switch it to product detail when you need ingredients and nutrition.

Step 2: Say what to take

Type German search words, paste department links, or leave both empty to walk the whole shop.

Step 3: Set the ceiling

Maximum products caps the run and therefore the bill. Raise it to 7500 for a complete export.

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

  • A table of products with prices, EAN barcodes and the price per kilo
  • A clear split of what is in stock and what is sold out
  • A JSON or CSV export, and an HTML report of the run

📥 Input Configuration

FieldTypeRequiredDescription
operationstringNocatalog (default) or productDetail
searchTermsarrayNoGerman search words, one per line. Catalogue mode.
categoryUrlsarrayNoDepartment links such as https://asia-foodstore.de/lebensmittel. Catalogue mode.
sortBystringNoshopDefault, priceAsc, priceDesc, nameAsc, nameDesc
availabilitystringNoall (default), inStock, outOfStock
productUrlsarrayNoProduct page links. Required for productDetail.
maxItemsintegerNoUpper bound on products returned, 1–8000. Default 25.

Example — search the shop:

{
"operation": "catalog",
"searchTerms": ["kimchi", "sojasauce"],
"sortBy": "priceAsc",
"maxItems": 100
}

Example — take a whole department, in stock only:

{
"operation": "catalog",
"categoryUrls": ["https://asia-foodstore.de/instantnudeln_1"],
"availability": "inStock",
"maxItems": 1000
}

Example — ingredients and nutrition for named products:

{
"operation": "productDetail",
"productUrls": [
"https://asia-foodstore.de/doenjang",
"https://asia-foodstore.de/abc-ketjap-manis-suesse-sojsauce-132ml"
]
}

📤 Output

Results are saved to the Apify dataset with 43 fields. The most useful ones:

FieldTypeDescription
productNamestringProduct name as the shop lists it
productUrlstringLink to the product page
skustringThe shop's own article number
eanstringEAN barcode (GTIN-13), on 85% of products
brandstringBrand or manufacturer
pricenumberCurrent price in euros, including German VAT
unitPricenumberPublished price per kilo or litre
unitPriceBasisstringWhat the unit price refers to, e.g. 1 kg
inStockbooleanWhether the line can be ordered today
ingredientsstringFull ingredient list (detail mode)
allergensstringAllergen line (detail mode)
nutritionarrayNutrient and value pairs (detail mode)
originCountrystringCountry of origin (detail mode)
bestBeforestringPrinted best-before date (detail mode)

Example row (catalogue mode):

{
"sku": "15143",
"ean": "8994907002347",
"productId": "24164",
"productName": "ABC Ketjap Manis Süsse Sojsauce 132ml",
"productUrl": "https://asia-foodstore.de/abc-ketjap-manis-suesse-sojsauce-132ml",
"brand": "ABC",
"imageUrl": "https://asia-foodstore.de/media/image/product/24164/md/abc-ketjap-manis-suesse-sojsauce-132ml.jpg",
"price": 1.49,
"priceIsPublished": true,
"currency": "EUR",
"unitPrice": 11.29,
"unitPriceBasis": "1 l",
"availability": "InStock",
"inStock": true,
"labels": ["Auf Lager"],
"listingPosition": 1,
"searchTerm": "sojasauce",
"operation": "catalog",
"status": "success",
"scrapedAt": "2026-09-10T12:00:00.000Z"
}

💼 Use Cases & Examples

1. Price monitoring for an Asian food importer

An importer tracks what a competing retailer charges for the lines they distribute.

Input: the departments they sell into, on a daily schedule Output: price, price per kilo, sale end date and stock state for every article Use: spot undercutting the day it starts, and see which of your lines are sold out at retail

2. Catalogue matching on EAN barcodes

A marketplace seller joins this assortment to their own product list.

Input: the whole shop, maximum raised to 7500 Output: 6,300+ rows carrying a GTIN-13 barcode Use: match on the barcode instead of guessing at product names in two languages

3. Allergen and ingredient screening

A dietary app needs ingredient lists for Asian pantry staples.

Input: product links from a catalogue run, in detail mode Output: ingredient text, allergen line, nutrition values and their basis, country of origin Use: flag products containing soy, wheat, peanut or sulphite without reading labels by hand

4. Assortment and delisting analysis

A category manager watches which lines disappear.

Input: the whole shop weekly, availability left on all products Output: a full snapshot including the roughly one third that is sold out Use: diff two weeks to see what went out of stock, what came back, and what never returned

5. Clearance and best-before hunting

A discount buyer works the shop's clearance shelf.

Input: the MHD-Ware department, sorted cheapest first Output: prices, price per kilo and the printed best-before date from the product page Use: decide what is worth buying in bulk before the date

6. Cuisine and range research

A researcher maps how a German Asian grocery segments its range.

Input: the Länderküche department link Output: the same goods filed by Chinese, Korean, Thai, Vietnamese, Japanese and Indian kitchens Use: a ready-made view of the assortment by cuisine rather than by shelf

7. Feeding a shopping or recipe agent

An AI agent answers "what is the cheapest gochujang here, per kilo?"

Input: a search term, sorted cheapest first, small maximum Output: a handful of rows with price, price per kilo and stock state Use: grounded answers instead of guesses, over MCP


🔗 Integration Examples

JavaScript/Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('sian.agency/asia-foodstore-product-scraper').call({
operation: 'catalog',
searchTerms: ['kimchi'],
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/asia-foodstore-product-scraper').call(
run_input={'operation': 'catalog', 'searchTerms': ['kimchi'], 'maxItems': 100}
)
for item in client.dataset(run['defaultDatasetId']).iterate_items():
print(item['productName'], item['price'], item.get('ean'))

cURL

curl -X POST 'https://api.apify.com/v2/acts/sian.agency~asia-foodstore-product-scraper/runs?token=YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"operation": "catalog", "categoryUrls": ["https://asia-foodstore.de/lebensmittel"], "maxItems": 500}'

Automation Workflows (N8N / Zapier / Make)

  1. Trigger: a daily or weekly schedule
  2. HTTP Request: call the Actor API with your departments
  3. Process: compare today's prices against yesterday's dataset
  4. Action: write to a sheet, a database, or a price-drop alert

📊 Performance & Pricing

FREE Tier (Try It Now)

  • 25 products per run — every field, same quality
  • No credit card required
  • Enough to check the fields against your own catalogue before committing
  • Up to 8,000 products per run, which covers the entire shop
  • A hundred products per request, so a full export is under a hundred requests
  • Pay per product returned: errors, filtered products and duplicates are never charged

💰 Priced for volume. This catalogue is roughly five times larger than any Asian-grocery scraper on the Store, and it publishes two fields none of them do.

🔗 View current pricing


❓ Frequently Asked Questions

Q: How many products are there? A: About 7,500. The seven product departments hold 7,401 unique articles and a further 115 sit in no department. Clear the search and department fields, raise the maximum to 7500, and you get a complete export.

Q: Do I get EAN barcodes? A: Yes, on 85% of products, and they come off the listing itself. You never have to pay for a detail call to get one. The rest carry the shop's own article number.

Q: Is the price per kilo included? A: Yes, on 96% of products. It is the shop's own published figure rather than something this tool divided out — German grocery law requires it to be printed.

Q: Are sold-out products included? A: Yes, by default. Roughly a third of this catalogue is sold out at any moment, and that is usually the thing an assortment report is looking for. Switch the availability filter to in-stock only if you want just what can be ordered today.

Q: Can I sort by cheapest first? A: Yes. Cheapest first, most expensive first and both name orders were each checked against live listings. The shop offers seven more orderings that it quietly ignores on a search, and none of those is offered here.

Q: Does it need a proxy? A: No. There is nothing to configure and no residential-traffic bill.

Q: What happens if a search finds nothing? A: You get an honest empty result, not an error and not a charge.

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. "sojasauce" finds 354 products where "soy sauce" finds none.
  • Try the head noun rather than a phrase: "kimchi", "mochi", "reispapier", "curry".

A department link returns nothing

  • Pick the link from the shop's own menu. A brand page or an article page is not a department.
  • The whole shop is easier: clear both fields and raise the maximum.

Detail mode says a link is not a product page

  • Paste a product link, not a department link. Every catalogue row carries one in productUrl.

Fewer rows than expected

  • Products are de-duplicated across everything you name. The Länderküche department files 6,646 of its products a second time, so adding it to a full export adds almost nothing.
  • On the FREE tier the run stops at 25 rows.

The price is empty on a row

  • One article in the shop publishes no price at all. It is reported as null with priceIsPublished: false, never as 0.00, so your dashboard is not silently wrong.

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.

Asia Foodstore and Tiger & Dragon's are trademarks of their owner. This tool is not affiliated with, endorsed by or sponsored by Asia Foodstore, and reads only information the shop publishes for shoppers.


🤝 Support

Telegram Support

Join our active support community


Built by SIÁN Agency | More Tools