Asda Scraper avatar

Asda Scraper

Pricing

from $2.50 / 1,000 results

Go to Apify Store
Asda Scraper

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

SolidCode

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

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 maxResults to 0 for 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 unitPrice plus unitPriceMeasure (e.g. "ยฃ12.11/kg", "per litre"), making cross-pack-size price comparison one column away.
  • Rollback and was-price promotion detection โ€” onOffer, wasPrice, and offerDescription flag every Asda Rollback and multi-buy so you catch price drops the moment they go live.
  • In-stock availability on every row โ€” the inStock flag 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 category path (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 onOffer and wasPrice
  • 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 offerDescription over 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 wasPrice and price
  • Alert on new offers within a watched category
  • Reconcile promotion calendars against live shelf prices

Getting Started

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

ParameterTypeDefaultDescription
searchTermsstring[]["milk"]Products to search for, one per line (e.g. "milk", "bread", "olive oil"). Each term runs as its own search.
startUrlsstring[][]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

ParameterTypeDefaultDescription
maxResultsinteger100Maximum 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.
sortByselectBest matchOrder 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

FieldTypeDescription
storestringAlways "asda".
querystringThe search term or source URL that produced this row.
namestringProduct name.
brandstringBrand name (e.g. "ASDA", "Heinz").
unitSizestringPack or selling size (e.g. "2.27L", "400g").
categorystringFull category breadcrumb (e.g. "Food Cupboard > Coffee").
imageUrlstringProduct image URL.
productUrlstringDirect Asda product page URL.
scrapedAtstringISO 8601 timestamp of capture.

Pricing & Offers

FieldTypeDescription
pricenumberCurrent price in GBP.
wasPricenumberPre-offer / Rollback price, when on offer.
unitPricenumberNormalised price per unit (e.g. per kg, per litre).
unitPriceMeasurestringUnit descriptor for unitPrice (e.g. "per kg", "per litre").
onOfferbooleanWhether the product is on offer or Rollback.
offerDescriptionstringOffer or Rollback detail text.

Availability & Identifiers

FieldTypeDescription
inStockbooleanWhether the product is in stock at Asda's national store.
gtinstringAsda product number โ€” stable identifier for catalog matching.

Tips for Best Results

  • Start small, then scale โ€” results arrive in pages of about 60, so set maxResults to 60 on your first run to confirm the data fits your needs, then raise it or set 0 for 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 gtin for 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, not price โ€” unitPrice plus unitPriceMeasure normalises across pack sizes, the only fair way to compare a 1L and a 2.27L of the same product.
  • Watch onOffer and wasPrice together โ€” the gap between wasPrice and price is 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.

ResultsNo discountBronzeSilverGold
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

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.