Tesco Products Scraper avatar

Tesco Products Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Tesco Products Scraper

Tesco Products Scraper

Harvest Tesco product data fast: prices, ratings, availability, and descriptions. Built for price monitoring, market research, and competitive intelligence. Perfect for retail analytics and e-commerce insights at scale.

Pricing

from $1.00 / 1,000 results

Rating

5.0

(3)

Developer

Shahid Irfan

Shahid Irfan

Maintained by Community

Actor stats

2

Bookmarked

15

Total users

7

Monthly active users

15 days ago

Last modified

Share

What does Tesco Products Scraper do?

Tesco Products Scraper is a Tesco product scraper and data extractor for collecting structured grocery listings from Tesco search, category, and tag-style pages. Provide a public Tesco groceries listing URL, choose the result limit, and receive product titles, brands, prices, unit pricing, promotions, ratings, availability, category placement, and direct product URLs.

The dataset is useful for grocery price monitoring, promotion intelligence, competitor research, assortment analysis, retail reporting, and ecommerce data pipelines. Results are saved as clean dataset items with empty values omitted, making them easier to export and analyze.

Why use Tesco Products Scraper?

  • Price monitoring - Compare product prices and unit prices across repeated runs for staples, branded products, or seasonal searches.
  • Promotion tracking - Capture promotion text and sponsored-result indicators to study Tesco offers and retail visibility.
  • Catalog research - Analyze products by department, aisle, shelf, brand, rating, and product identifiers.
  • Clean product records - Receive consistent field names, direct URLs, product images, timestamps, and page information for every result.
  • Repeatable workflows - Run the Actor on demand or schedule recurring collections in Apify for historical comparisons.
  • Automation-ready exports - Download data as JSON, CSV, Excel, or XML, or connect runs to APIs and workflow tools.

What data can you extract from Tesco?

Each dataset item represents one Tesco grocery product listing. Fields are included when Tesco publishes a value for that product.

FieldTypeDescription
product_idStringTesco product identifier.
titleStringProduct name shown in the listing.
brandStringProduct brand when available.
product_urlStringDirect Tesco product page URL.
image_urlStringMain product image URL.
priceNumberCurrent displayed product price.
unit_priceNumberPrice per unit when available.
unit_of_measureStringUnit used for the unit price, such as litre or kilogram.
is_for_saleBooleanIndicates whether the product is available for sale.
statusStringProduct status supplied by Tesco.
is_sponsoredBooleanIndicates whether the result is sponsored.
sponsored_ad_idStringSponsored listing identifier when available.
promotion_textsArrayPromotion or offer text values.
departmentStringTesco department name.
aisleStringTesco aisle name.
shelfStringTesco shelf name.
review_countIntegerNumber of product reviews.
ratingNumberAverage product rating.
gtinStringGlobal Trade Item Number when available.
tpnbStringTesco product number when available.
tpncStringTesco product code when available.
base_product_idStringBase product identifier for a product family.
search_termStringSearch term resolved for the collected listing.
pageIntegerResults page containing the product.
scraped_atStringISO timestamp for when the item was collected.

How to scrape Tesco product data

  1. Open Tesco and copy a public groceries search, category, or tag-style listing URL.
  2. Open Tesco Products Scraper on Apify Store.
  3. Paste the URL into the url field.
  4. Set results_wanted and max_pages for the size of the collection.
  5. Optionally configure Apify Proxy for larger or repeated runs.
  6. Start the run, review the dataset preview, and download or connect the results.

The Actor accepts listing URLs under https://www.tesco.com/groceries/en-GB/. Search URLs can include a query and page number. Category and tag-style URLs can also be used when they display Tesco product listings.

Input Parameters

ParameterTypeRequiredDefaultDescription
urlStringNoTesco milk search URLPublic Tesco groceries search, category, or tag-style listing URL.
results_wantedIntegerNo20Maximum number of products to save.
max_pagesIntegerNo10Maximum number of result pages to process.
proxyConfigurationObjectNo{ "useApifyProxy": false }Optional Apify Proxy settings for the run.

Usage Examples

Collect the first 20 products from a Tesco search for milk:

{
"url": "https://www.tesco.com/groceries/en-GB/search?query=milk&inputType=free+text",
"results_wanted": 20,
"max_pages": 3
}

Collect a Tesco category

Use a category listing URL to build a broader grocery dataset:

{
"url": "https://www.tesco.com/groceries/en-GB/shop/fresh-food/all",
"results_wanted": 50,
"max_pages": 5
}

Track a focused product group

Use a tag-style listing and a larger limit for recurring assortment or price monitoring:

{
"url": "https://www.tesco.com/groceries/en-GB/shop/vegan/all",
"results_wanted": 100,
"max_pages": 8,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Sample Output

{
"product_id": "257264875",
"title": "Cravendale Filtered Fresh Semi Skimmed Milk 2L Fresher for Longer",
"brand": "CRAVENDALE",
"product_url": "https://www.tesco.com/groceries/en-GB/products/257264875",
"image_url": "https://digitalcontent.api.tesco.com/v2/media/ghs/example/product.jpeg?h=225&w=225",
"price": 2.5,
"unit_price": 1.25,
"unit_of_measure": "litre",
"is_for_sale": true,
"status": "AvailableForSale",
"is_sponsored": true,
"sponsored_ad_id": "example-ad-123",
"promotion_texts": [
"Any 2 for Β£4 Clubcard Price - Selected Dairy Products 2 Litre"
],
"department": "Milk, Butter & Eggs",
"aisle": "Milk",
"shelf": "Filtered Milk",
"review_count": 208,
"rating": 4.7,
"gtin": "05000181034448",
"tpnb": "54705015",
"tpnc": "257264875",
"base_product_id": "54705015",
"search_term": "milk",
"page": 1,
"scraped_at": "2026-03-26T11:18:12.190Z"
}

Output Data

The Actor writes one dataset item per product. The output table above documents the available field names and types. Empty and null-like values are omitted, so a product record may contain fewer fields when Tesco does not publish every detail. Numeric prices are returned as numbers, promotion messages are returned as an array, and scraped_at uses an ISO timestamp.

Tips for Best Results

  • Start with a small limit - Use results_wanted: 20 to validate the URL and output before collecting a larger dataset.
  • Use consistent searches - Keep the same Tesco query when comparing prices, promotions, or assortment over time.
  • Use complete listing URLs - Copy a public URL that already contains the search, category, or tag context you need.
  • Set a practical page cap - Increase max_pages for larger collections, but keep it controlled for test runs.
  • Schedule repeat runs - Daily or weekly schedules work well for price and promotion history.
  • Expect optional fields - Products may omit ratings, promotions, sponsored identifiers, or category details when Tesco does not publish them.

Integrations and Export Formats

OptionUse
Google SheetsReview product snapshots and price changes with a team.
AirtableMaintain a searchable product and promotion tracker.
WebhooksTrigger downstream workflows after a run finishes.
Make or ZapierSend product records to no-code business processes.
Apify APIStart runs and retrieve datasets from an application or data pipeline.
JSON, CSV, Excel, XMLDownload the dataset for analysis, reporting, or storage.

Frequently Asked Questions

Can I scrape Tesco search results?

Yes. Provide a public Tesco groceries search URL in url, set the result limit, and run the Actor.

Which Tesco URL types are supported?

Search, category, and tag-style product listing URLs under /groceries/en-GB/ are supported when they return Tesco product results.

Can I collect products from a later page?

Yes. If the supplied URL includes a page parameter, the collection starts from that page and continues within the max_pages limit.

Can I export Tesco product data to CSV or Excel?

Yes. Apify datasets can be downloaded as CSV, Excel, JSON, XML, and other supported formats.

Why are some fields missing from a product?

Fields are missing when Tesco does not publish that information for a particular product or category. Empty values are omitted from dataset records.

Can I schedule Tesco price monitoring?

Yes. Create an Apify schedule to run the same Tesco URL hourly, daily, weekly, or at another interval.

Is this an official Tesco API?

No. This is an independent Tesco product data extraction Actor and is not affiliated with, endorsed by, or operated by Tesco.

Public data collection can be legal, but you are responsible for complying with Tesco's terms, applicable laws, privacy requirements, and the rules that apply to your use case.

  • Nike Product Scraper - Collect Nike product listings, prices, colorways, images, and product links for retail research.
  • Target Product Scraper - Extract Target.com product prices, ratings, availability, images, and marketplace information.
  • Tokopedia Search Scraper - Collect Tokopedia product listings, prices, ratings, seller details, and category data.

Support

For issues, feature requests, or requests for additional Tesco fields, use the Issues tab on the Actor page or contact the developer through Apify.

Tesco Products Scraper is designed for legitimate collection of publicly available product information. Users are responsible for using the data responsibly and complying with Tesco's website terms, applicable laws, and privacy requirements. This Actor is not affiliated with Tesco.