ParseForge Scrapers

Sainsbury's Grocery Scraper

parseforge/sainsburys-grocery-scraper

E-commerceAutomationDeveloper tools

Scrapes Sainsbury's grocery products from category or search URLs, returning price, unit price, brand, and availability for each product.

Run this scraper See the API call
Total users
5
Monthly active
3
Total runs
188
Bookmarked
0
Rating
Not rated yet
Last modified
8 days ago

Overview

ParseForge

Sainsbury's Grocery Scraper

Scrape Sainsbury's grocery products from any category or search, up to a million per run. Each product comes with its price, unit price, brand, and availability. No login or API key. Export to CSV, JSON, Excel, or XML.

Sainsbury's has no public API for grocery data, and building a scraper means handling pagination, dynamic content, and rate limits. This Actor reads the public product feeds directly from sainsburys.co.uk, filtered by price, sort order, or keyword, and returns each match in one fixed schema.

Who uses it What they scrape Sainsbury's for
Market researchers Track Sainsbury's pricing and assortment changes over time
Price comparison sites Feed Sainsbury's product data into their comparison engine
E-commerce analysts Monitor competitor pricing and promotional activity
Data journalists Investigate grocery price inflation and product availability

What it does

This Actor collects Sainsbury's grocery products by category URL or search query, and returns each one as a flat row with price, unit price, brand, and availability.

  • πŸ›’ Category or search: start from any Sainsbury's category URL or a keyword search query.
  • πŸ’° Price filters: set minimum and maximum price bounds in GBP to narrow results.
  • πŸ”’ Sort order: choose relevance, price low to high, price high to low, best rated, or newest.
  • πŸ“¦ Bulk collection: collect up to 1,000,000 products per run.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with Sainsbury's data

πŸ“ˆ Track price changes.

A market researcher runs the Actor daily on a category URL to monitor Sainsbury's price fluctuations and identify promotional patterns.

πŸ” Monitor product availability.

A supply chain analyst scrapes search results for specific brands to see which products are in stock and which are missing.

πŸ›’ Build a price comparison dataset.

A developer feeds Sainsbury's product data into a comparison site to show users the best grocery deals.

πŸ“Š Analyze assortment trends.

A category manager scrapes a category over several weeks to see which new products appear and which disappear.

Why choose this scraper

What you get
No API key Scrape public Sainsbury's pages without registration or OAuth
Fixed schema Every product returns the same flat fields for easy analysis
Built-in filters Filter by price and sort order before data is saved
Export anywhere Download as CSV, JSON, Excel, or XML

How it compares

This Actor offers the same core Sainsbury's scraping as the competitors below, with the added flexibility of price filters and sort order controls.

Feature ParseForge Sainsbury's UK Grocery Scraper Sainsburys Products Scraper Sainsbury’s Grocery Price & Availability
Category URL input Yes Yes Not listed Not listed
Search query input Yes Yes Not listed Not listed
Price filters Yes Not listed Not listed Not listed
Sort order control Yes Not listed Not listed Not listed
Unit price extraction Yes Yes Not listed Not listed
Brand extraction Yes Yes Not listed Not listed
Availability data Yes Not listed Not listed Yes

Configure the run

Drive the Actor from a Sainsbury's category URL or a search query, and filters run as each product is read so only matches reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
 "startUrl": "https://www.sainsburys.co.uk/shop/gb/groceries/fruit-veg",
 "maxItems": 10
}

A larger pull:

{
 "startUrl": "https://www.sainsburys.co.uk/shop/gb/groceries/fruit-veg",
 "maxItems": 200
}

Pricing

Pay-per-result: $0.0085 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $0.85
1,000 results $8.50
10,000 results $85.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the Sainsbury's Grocery Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to Sainsbury's through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/sainsburys-grocery-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check that your startUrl or searchQuery is correct and that the category or search term exists on Sainsbury's. Also ensure your price filters are not too restrictive.

Why is the run slow?

The Actor respects Sainsbury's rate limits to avoid being blocked. Reduce maxItems or run during off-peak hours for faster collection.

Why are some products missing?

Sainsbury's may hide some products based on your location or cookies. Try running without filters or with a different sort order.

Why did the run fail with a timeout?

Large runs may hit Apify's memory or time limits. Increase the run timeout in the Actor settings or split the run into smaller maxItems chunks.

FAQ

Question Answer
Do I need a Sainsbury's account or API key? No. The Actor reads public product pages directly, so no login or API key is required.
Can I scrape a specific product by URL? The Actor accepts category or search URLs, not individual product URLs. To get a specific product, use a search query that matches it.
What is the maximum number of products I can scrape? You can set maxItems up to 1,000,000 products per run.
How do I filter by price? Use the minPrice and maxPrice input fields to set a price range in GBP. Only products within that range will be returned.
Can I sort the results? Yes, use the sort field to choose relevance, price low to high, price high to low, best rated, or newest.
What data does each product include? Each product row includes name, price, unit price, brand, and availability, among other fields. See the sample output for the full schema.
Is the data updated in real time? The Actor scrapes live pages at the time of the run, so the data reflects what Sainsbury's shows at that moment.
Can I run this on a schedule? Yes, you can schedule the Actor to run daily, weekly, or at any interval using Apify's scheduler.
What formats can I export the data to? You can export to CSV, JSON, Excel, or XML directly from the Apify dataset.
Does this Actor handle pagination? Yes, it automatically follows pagination links to collect all products up to your maxItems limit.

Related actors

Browse the full ParseForge collection for more scrapers.

πŸ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Sainsbury's Supermarkets Ltd. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
searchQuery string Keyword to search Sainsbury's groceries for (e.g. "milk", "bananas", "coffee"). milk
maxItems integer Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000 10
sort string (3 options) Result ordering applied by Sainsbury's. relevance
minPrice integer Only include products at or above this retail price. not set
maxPrice integer Only include products at or below this retail price. not set
proxyConfiguration object Apify proxy. UK residential proxies are required to reach Sainsbury's. {"useApifyProxy":true,"apifyProxyGroups"

Pricing

from $7.69 per 1,000 results

Charged forWhat it isPrice each
result Single result in the default dataset. $0.00769 to $0.0085

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST Β· run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~sainsburys-grocery-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

Reviews

No reviews yet. Be the first.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run Sainsbury's Grocery Scraper on Apify All scrapers