Morrisons Scraper — UK grocery prices GBP
Pricing
from $0.21 / 1,000 products
Morrisons Scraper — UK grocery prices GBP
Morrisons Scraper for UK grocery prices in GBP on groceries.morrisons.com: pack size, unit price, brand, offers, image and URL. Morrisons prices by keyword on the public store JSON. Residential GB proxy recommended. No login. PPE per product.
Pricing
from $0.21 / 1,000 products
Rating
0.0
(0)
Developer
Noah Adler
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
13 days ago
Last modified
Categories
Share
Morrisons scraper for UK grocery prices on groceries.morrisons.com: title, GBP price, pack size, unit price, brand, offer text, image and product URL — one clean Dataset row per product.
HTTP-only (curl_cffi + Chrome TLS). Calls the public storefront product-pages search JSON used by the Morrisons groceries SPA (Ocado Smart Platform). No Playwright. No login.
Proxy: Default Apify RESIDENTIAL with country GB. Datacenter IPs sometimes get 403 — soft-fail error row (honest), not fake empty success.
Keywords: morrisons scraper · morrisons prices · UK grocery scraper · morrisons products · supermarket prices UK
What this Actor does
| Step | Action |
|---|---|
| 1 | Accept query (or extract q= from a Morrisons search URL) + maxItems |
| 2 | GET storefront search JSON for that keyword |
| 3 | Read decoratedProducts (name, price, pack, unit price, offers, image) |
| 4 | Normalize GBP amounts → Dataset |
| 5 | Paginate with nextPageToken until maxItems |
Input
| Field | Required | Description |
|---|---|---|
query | Yes* | Keyword (e.g. milk, baked beans) |
searchUrl | No | Full …/search?q=… URL (extracts keyword only) |
maxItems | No | 1–200 (default 40) |
proxyConfiguration | No | Default RESIDENTIAL; Actor injects GB if country empty |
*Or a searchUrl that includes q=.
Example
{"query": "milk","maxItems": 25,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "GB"}}
Output example
{"productId": "721a6e29-4bab-43e1-a241-a34296dd606e","retailerProductId": "113240422","title": "Morrisons British Semi Skimmed Milk 4 Pint","brand": "Morrisons","price": 1.65,"currency": "GBP","packSize": "2.272L","unitPrice": 72.6,"unitPriceCurrency": "GBX","unitName": "PER_LITRE","offerText": "Unbeatable Price","rating": 3.2,"reviewCount": 22,"imageUrl": "https://groceries.morrisons.com/images-v3/…/300x","detailUrl": "https://groceries.morrisons.com/products/morrisons-british-semi-skimmed-milk-4-pint/113240422","query": "milk","scrapedAt": "2026-10-02T16:00:00Z","error": false,"errorMessage": null}
unitPrice may be in pence (GBX) when Morrisons returns that currency for per-litre / per-kg lines — check unitPriceCurrency.
Limits
- Search results only (no nutrition / ingredients enrichment in v0.1).
- Ratings appear when Morrisons returns a review count; not every SKU has them.
- Source site: groceries.morrisons.com Terms & Conditions of Sale (consumer grocery). Not my.morrisons.com account ToU.
- UK database rights still apply; use for your own analysis / comparison workflows.
- robots.txt disallows
/api/for some bots — this Actor uses the same storefront JSON path the website loads in-browser.
Pricing
Pay-per-event: small start fee + one charge per product row written to the Dataset.