Asda Scraper
Pricing
from $2.50 / 1,000 results
Asda Scraper
[๐ฐ $2.50 / 1K] Extract product, pricing, and availability data from Asda (groceries.asda.com). Search by keyword or paste category and product URLs to collect names, brands, prices, price-per-unit, pack sizes, rollback and offer promotions, images, and stock status.
Pricing
from $2.50 / 1,000 results
Rating
0.0
(0)
Developer
SolidCode
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Pull live grocery data from Asda (groceries.asda.com) at scale โ current price, rollback and was-price promotions, price-per-unit in ยฃ/kg and ยฃ/litre, pack size, GTIN product numbers, category breadcrumbs, images, and in-stock availability for every product. Search by keyword or paste a category, product, or search URL to grab a whole aisle at once. Built for price-monitoring teams, grocery comparison sites, and FMCG brands who need fresh Asda price and promotion data without checking thousands of product pages by hand.
Why This Scraper?
- Whole-aisle URL input โ paste an Asda category or department URL and pull the entire aisle, a single product URL for one item, or a search URL as a keyword run. Keyword-only tools can't target a specific aisle or product page.
- Unlimited results per search โ set
maxResultsto0for no cap and sweep an entire category. Comparable tools stop at 100 products per query. - Four sort modes โ Best match, Name AโZ, Price lowโhigh, and Price highโlow, so you can pull the cheapest milk first or walk a category in price order.
- Price-per-unit normalisation โ every row carries
unitPriceplusunitPriceMeasure(e.g. "ยฃ12.11/kg", "per litre"), making cross-pack-size price comparison one column away. - Rollback and was-price promotion detection โ
onOffer,wasPrice, andofferDescriptionflag every Asda Rollback and multi-buy so you catch price drops the moment they go live. - In-stock availability on every row โ the
inStockflag tells you whether a product is actually buyable at Asda's national store, not just listed. - GTIN product numbers for catalog matching โ every product ships with its Asda product number in
gtin, ready to join against your own SKU master or a competitor basket. - Category breadcrumb on each product โ the full
categorypath (e.g. "Food Cupboard > Tea, Coffee & Hot Drinks > Coffee") lets you segment results without a second lookup.
Use Cases
Price Monitoring
- Track daily price moves on your core basket across hundreds of Asda lines
- Watch Rollback price drops the moment they appear with
onOfferandwasPrice - Compare price-per-kg and price-per-litre across pack sizes in one column
- Flag out-of-stock products before they affect availability reports
Competitor Intelligence
- Benchmark your retail prices against Asda for matching products
- Match Asda lines to your own catalog by GTIN product number
- Compare own-brand (ASDA) versus branded pricing within a category
- Spot promotional cadence by logging
offerDescriptionover time
Market Research
- Map an entire aisle or department by pasting a category URL
- Measure price spread within a category from cheapest to most expensive
- Profile a brand's presence and pricing across the Asda range
- Build longitudinal grocery price indices from repeated runs
Promotion Tracking
- Capture every Rollback and multi-buy with its
offerDescription - Measure discount depth from the gap between
wasPriceandprice - Alert on new offers within a watched category
- Reconcile promotion calendars against live shelf prices
Getting Started
Simple Keyword Search
Just one search term โ perfect for a first test run:
{"searchTerms": ["milk"],"maxResults": 50}
Multiple Terms, Sorted by Price
Run several searches at once and pull the cheapest first:
{"searchTerms": ["coffee", "olive oil", "bread"],"sortBy": "price_asc","maxResults": 100}
Scrape a Whole Aisle by URL
Paste a category, product, or search URL โ a category URL browses the entire aisle, a product URL returns that single item:
{"startUrls": ["https://groceries.asda.com/dept/chilled-food/1215337189632","https://groceries.asda.com/product/asda-british-semi-skimmed-milk/165468"],"maxResults": 0}
Input Reference
What to Scrape
| Parameter | Type | Default | Description |
|---|---|---|---|
searchTerms | string[] | ["milk"] | Products to search for, one per line (e.g. "milk", "bread", "olive oil"). Each term runs as its own search. |
startUrls | string[] | [] | Asda category, product, or search-result URLs. A category URL browses the whole aisle, a product URL returns that one item, a search URL runs as a keyword search. Any filters already in the URL are applied automatically. |
Options
| Parameter | Type | Default | Description |
|---|---|---|---|
maxResults | integer | 100 | Maximum products to collect per search term or URL. Set to 0 for no limit (Asda allows at most 20,000 results per single search or category). Results come back in pages of about 60, so any value between 1 and 59 still returns about 60 products (the full last page is kept). Start with 60 to test, then increase. |
sortBy | select | Best match | Order products within each search or category: Best match, Name (A to Z), Price (low to high), or Price (high to low). |
Output
Each product is one flat row. Here's a representative result:
{"store": "asda","query": "milk","name": "ASDA British Semi Skimmed Milk","brand": "ASDA","price": 1.45,"wasPrice": 1.65,"unitPrice": 0.64,"unitPriceMeasure": "per litre","unitSize": "2.27L","onOffer": true,"offerDescription": "Rollback","inStock": true,"category": "Food Cupboard > Milk, Butter & Eggs > Fresh Milk","gtin": "165468","imageUrl": "https://asdagroceries.scene7.com/is/image/asdagroceries/5054781657552","productUrl": "https://www.asda.com/groceries/product/asda-british-semi-skimmed-milk/165468","scrapedAt": "2026-06-19T14:30:00+00:00"}
Core Fields
| Field | Type | Description |
|---|---|---|
store | string | Always "asda". |
query | string | The search term or source URL that produced this row. |
name | string | Product name. |
brand | string | Brand name (e.g. "ASDA", "Heinz"). |
unitSize | string | Pack or selling size (e.g. "2.27L", "400g"). |
category | string | Full category breadcrumb (e.g. "Food Cupboard > Coffee"). |
imageUrl | string | Product image URL. |
productUrl | string | Direct Asda product page URL. |
scrapedAt | string | ISO 8601 timestamp of capture. |
Pricing & Offers
| Field | Type | Description |
|---|---|---|
price | number | Current price in GBP. |
wasPrice | number | Pre-offer / Rollback price, when on offer. |
unitPrice | number | Normalised price per unit (e.g. per kg, per litre). |
unitPriceMeasure | string | Unit descriptor for unitPrice (e.g. "per kg", "per litre"). |
onOffer | boolean | Whether the product is on offer or Rollback. |
offerDescription | string | Offer or Rollback detail text. |
Availability & Identifiers
| Field | Type | Description |
|---|---|---|
inStock | boolean | Whether the product is in stock at Asda's national store. |
gtin | string | Asda product number โ stable identifier for catalog matching. |
Tips for Best Results
- Start small, then scale โ results arrive in pages of about 60, so set
maxResultsto 60 on your first run to confirm the data fits your needs, then raise it or set0for unlimited. - Paste a category URL to grab a whole aisle โ a department or category URL pulls every product in that aisle in one run, far faster than guessing keywords.
- Price-sorted searches return a larger, looser set โ sorting a keyword search by price relaxes Asda's own matching, so you'll get more (and broader) results than Best match. This mirrors the live Asda site; use Best match when you want only tight keyword matches.
- Join on
gtinfor catalog matching โ the Asda product number is the stable key for linking results to your own SKUs or a competitor basket; avoid matching on product name, which varies by pack size. - Compare with
unitPrice, notpriceโunitPriceplusunitPriceMeasurenormalises across pack sizes, the only fair way to compare a 1L and a 2.27L of the same product. - Watch
onOfferandwasPricetogether โ the gap betweenwasPriceandpriceis your discount depth; log both over repeated runs to track promotion cadence. - Mix search terms and URLs in one run โ combine keyword searches and pasted URLs together; each is capped independently by
maxResults.
Pricing
From $2.50 per 1,000 results โ flat pay-per-result pricing with no surprises. No compute or time-based charges โ you pay per result, plus a small fixed per-run start fee. Bronze, Silver, and Gold subscribers pay progressively less; the table below shows total cost at each discount tier.
| Results | No discount | Bronze | Silver | Gold |
|---|---|---|---|---|
| 100 | $0.30 | $0.28 | $0.27 | $0.25 |
| 1,000 | $3.00 | $2.80 | $2.65 | $2.50 |
| 10,000 | $30.00 | $28.00 | $26.50 | $25.00 |
| 100,000 | $300.00 | $280.00 | $265.00 | $250.00 |
A "result" is any product row in the output dataset. Platform fees depend on your Apify plan.
Integrations
Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:
- Zapier / Make / n8n โ Workflow automation
- Google Sheets โ Direct spreadsheet export
- Slack / Email โ Notifications on new results
- Webhooks โ Trigger custom APIs on run completion
- Apify API โ Full programmatic access
Legal & Ethical Use
This actor is designed for legitimate price monitoring, market research, and competitive analysis. Users are responsible for complying with applicable laws and Asda's Terms of Service. Collect only publicly available product information, and do not use extracted data for spam, harassment, or any unlawful purpose.