SYSTEM all green source ocado.com queue 12,491 categories p99 latency 184ms dataflirt.com · scraper/ocado-com
RUN · 42 active pipelines · ocado.com live

Ocado grocery data,
mapped and normalised.

We extract FMCG product listings, promotional mechanics, nutritional tables, and stock states from Ocado. Delivered as clean JSON, CSV, or Parquet to S3, BigQuery, or Snowflake on your cadence.

Products extracted
142K /day
Price updates
318K /24h
Nutritional profiles
89K /run
Active pipelines
42
Uptime
99.98%
Data Dictionary

Every field we extract from ocado.com

Structured, schema-consistent data across all major object types — delivered clean, typed, and ready to query.

Complete list of extractable fields for Product Data objects from ocado.com. All fields typed and schema-versioned.

skutitlebrandcategorysub_categorypriceprice_per_unitimage_urldescriptionlife_guarantee
product_data
● 200 OK
"sku": "504383011",
"title": "M&S Select Farms British Semi Skimmed Milk",
"brand": "M&S",
"category": "Dairy, Eggs & Chilled",
"sub_category": "Milk",
"price": 1.45,
"price_per_unit": "64.0p per litre",
"life_guarantee": "3 days+"
# skutitlebrandcategorysub_categoryprice
1
2
3

Complete list of extractable fields for Pricing & Promos objects from ocado.com. All fields typed and schema-versioned.

skubase_pricepromo_pricepromo_descriptionsmart_pass_eligiblesmart_pass_pricemulti_buy_offerprice_timestamp
pricing_& promos
● 200 OK
"sku": "504383011",
"base_price": 1.45,
"promo_price": 1.45,
"smart_pass_eligible": true,
"smart_pass_price": 1.3,
"multi_buy_offer": "None",
"price_timestamp": "2026-05-12T09:14:00Z"
# skubase_pricepromo_pricepromo_descriptionsmart_pass_eligiblesmart_pass_price
1
2
3

Complete list of extractable fields for Nutrition & Diet objects from ocado.com. All fields typed and schema-versioned.

skuenergy_kcalfat_gsaturates_gsugars_gsalt_gvegan_flagvegetarian_flaggluten_free_flagorganic_flag
nutrition_& diet
● 200 OK
"sku": "504383011",
"energy_kcal": 50,
"fat_g": 1.8,
"saturates_g": 1.1,
"sugars_g": 4.8,
"salt_g": 0.1,
"vegetarian_flag": true,
"organic_flag": false
# skuenergy_kcalfat_gsaturates_gsugars_gsalt_g
1
2
3

Complete list of extractable fields for Ingredients & Allergens objects from ocado.com. All fields typed and schema-versioned.

skuingredients_textallergens_containsallergens_may_containadditiveslifestyle_flagsorigin_countrymanufacturer_address
ingredients_& allergens
● 200 OK
"sku": "504383011",
"ingredients_text": "Pasteurised Semi Skimmed Milk.",
"allergens_contains": "['Milk']",
"allergens_may_contain": "[]",
"origin_country": "United Kingdom",
"manufacturer_address": "Marks and Spencer plc, PO Box 3339, Chester, CH99 9QS"
# skuingredients_textallergens_containsallergens_may_containadditiveslifestyle_flags
1
2
3

Complete list of extractable fields for Reviews & Ratings objects from ocado.com. All fields typed and schema-versioned.

review_idskuratingreviewer_nicknamereview_datereview_titlereview_texthelpful_votesverified_purchase
reviews_& ratings
● 200 OK
"review_id": "REV-839201",
"sku": "504383011",
"rating": 5,
"reviewer_nickname": "TeaDrinker99",
"review_date": "2026-04-18",
"review_title": "Always fresh",
"verified_purchase": true
# review_idskuratingreviewer_nicknamereview_datereview_title
1
2
3

Capabilities

Extract the complete grocery catalogue

Our Ocado scraper targets FMCG product data, tracking daily price fluctuations, promotional mechanics, and complex nutritional tables across thousands of SKUs.

Full Catalogue Extraction

Extract every SKU across all departments, capturing titles, brands, categories, sub-categories, and high-resolution product imagery.

Pricing & Promotions

Track base prices, promotional discounts, multi-buy offers, and exclusive Smart Pass pricing mechanics.

Unit Pricing Normalisation

Capture and standardise price per 100g, per 100ml, or per item to enable accurate cross-brand benchmarking.

Nutritional Data Parsing

Extract structured macronutrient tables, converting visual grid data into queryable JSON fields for energy, fat, sugar, and salt.

Allergen & Ingredient Mining

Isolate ingredient lists and specific allergen warnings (contains vs may contain) for compliance and product research.

Dietary & Lifestyle Flags

Capture explicit tags for vegan, vegetarian, gluten-free, organic, and halal certifications present on product pages.

Life Guarantee Tracking

Extract the minimum life guarantee (e.g. '3 days+') displayed on fresh produce and chilled goods.

M&S Range Isolation

Filter and extract specific retailer ranges, including the integrated Marks & Spencer food catalogue.

Postcode-Based Availability

Simulate delivery postcodes to determine regional stock availability and warehouse-specific out-of-stock states.

Daily Price Diffs

Run continuous pipelines that emit only changed records, capturing inflation trends and unannounced price hikes.

// engagement pipeline

From category URL to warehouse record

Brief in. Clean data out.

Define Scope
d 0

Provide target categories, specific brands, or search terms. We design the extraction schema together.

Pipeline Build
d 2–4

We configure Scrapy crawlers, handle regional session cookies, and map Ocado's GraphQL responses.

Validation & QA
d 4–6

Schema validation, null-rate checks, and unit-price outlier detection before full launch.

Delivery
ongoing

JSON, CSV, or Parquet pushed to your S3 bucket, BigQuery dataset, or Snowflake stage on agreed cadence.

Under the hood

How our Ocado pipeline handles grocery complexity

Grocery sites feature complex promotional logic, hidden API endpoints, and regional stock variations. We manage the infrastructure so you receive clean data.

pipeline-monitor · ocado.com · live ● active
// fingerprinting
Identity rotation
TLS fingerprintrandomised
User-agentrotated
IP poolresidential
Challenges blocked0
// pagination
Page coverage
48,291 pages queued running
// observability
Pipeline health
99.9%
uptime
142ms
p99 lat
0.3%
null rate
2
alerts
API interception
Direct GraphQL extraction

Ocado's frontend relies heavily on hidden GraphQL endpoints for pricing and stock states. We intercept these payloads directly, avoiding brittle DOM parsing and extracting structured data faster and more reliably.

Regional sessions
Postcode-specific stock simulation

Grocery availability varies by fulfillment centre. Our crawlers inject specific UK postcodes into the session state, allowing us to map out-of-stock states across different delivery regions.

Promo logic
Resolving complex pricing mechanics

FMCG pricing is rarely static. We parse complex promotional text ('Buy 2 for £4', 'Add 3 to save 20%') and Smart Pass tiers into distinct, calculable numeric fields for your database.

Nutritional grids
Normalising table structures

Nutritional information is often presented in inconsistent HTML tables. We normalise these grids into standard fields (per 100g and per serving) ensuring consistent schema across thousands of brands.

Anti-bot layer
UK residential proxy rotation

We route requests through UK-based residential IPs with realistic browser fingerprints, preventing regional blocking and rate-limiting from Ocado's security infrastructure.

Applications

Who uses Ocado data

Teams across industries use ocado.com data to build competitive products and smarter operations.

01
FMCG Price Monitoring

Brands track daily price changes across their own SKUs and competitor products to monitor retail inflation and compliance.

02
Promotional Benchmarking

Retail analysts monitor the frequency, depth, and duration of multi-buy offers and Smart Pass discounts across categories.

03
Share of Shelf Analysis

Marketing teams track category page rankings and search result positions to measure brand visibility against competitors.

04
Nutritional Profiling

Health tech companies and researchers aggregate macronutrient data to build dietary databases and health scoring algorithms.

05
New Product Development

Food manufacturers analyze ingredient trends, dietary flag proliferation, and flavour profiles within specific sub-categories.

06
Supply Chain Intelligence

Analysts monitor out-of-stock states across different postcodes to identify fulfillment bottlenecks and brand supply issues.

Why DataFlirt

"Ocado represents the most structured digital grocery catalogue in the UK, holding critical pricing and nutritional signals for the entire FMCG sector."

FMCG brands and retail analysts require constant visibility into grocery pricing, promotional mechanics, and shelf availability. DataFlirt extracts this data reliably, bypassing bot protection and regional stock variations, delivering clean datasets ready for immediate analysis.

Technical Spec

Ocado scraper - technical capabilities

Everything supported by our ocado.com scraper — rendered SPA elements, auth walls, rate-limit evasion and beyond.

GraphQL API interception
Direct extraction of JSON payloads bypassing DOM parsing for speed and reliability
Supported
Postcode-based stock
Session injection to simulate regional availability across UK fulfillment centres
Supported
M&S range tracking
Specific isolation of Marks & Spencer integrated products
Supported
Nutritional table parsing
Normalisation of macronutrients into standard per 100g/ml fields
Supported
Multi-buy promo extraction
Parsing complex offer text into distinct numeric variables
Supported
Image CDN mapping
Extraction of high-resolution product imagery URLs
Supported
Sub-category traversal
Deep crawling of the entire taxonomy tree to map category hierarchy
Supported
Daily price diffs
Hash-based diffing to emit only SKUs with changed pricing or promos
Supported
User purchase history
Historical order data requires authenticated user sessions
Partial
Smart Pass account details
Personal subscription status and billing information is gated
Partial
Infrastructure

Infrastructure powering the Ocado pipeline

Open-source tooling on proven cloud infra — no vendor lock-in, full observability.

ScrapyPlaywrightPython 3.12RedisPostgreSQLApache AirflowAWS LambdaS3CloudWatch2CaptchaCapSolverResidential ProxiesDockerKubernetesGrafanaPrometheusSnowflakedbt
Scrapy + Playwright Stack

Scrapy handles crawl orchestration and deduplication. Playwright manages JavaScript rendering, cookie sessions, and GraphQL interception.

Residential Proxy Infrastructure

We maintain pools of UK residential ISP proxies to avoid geographic blocking and rate-limiting from retail security systems.

Cloud-Native Orchestration

Pipelines execute on AWS ECS. Airflow manages scheduling and dependencies, ensuring daily price updates arrive on time.

Output & Delivery

Your data, your destination

Data delivered to where your team already works — no new tooling required.

JSON
Newline-delimited or nested arrays
CSV
Flat file with typed columns
XLS
Excel compatible export for business teams
Parquet
Columnar format for data warehouses
AWS S3
Direct delivery to your cloud storage
Webhook
HTTP POST per batch for immediate processing
API
REST endpoints to query your extracted data
BigQuery
Streamed directly into your GCP environment
Snowflake
Stage and COPY INTO workflow execution
S3
Direct bucket delivery — compatible with any data lake
// faq

Common questions.

About ocado.com scraping, legality, and pipeline operations.

Ask us directly →
Is scraping Ocado legal?

Scraping publicly available product, pricing, and nutritional information is generally permissible. DataFlirt targets only public data and does not extract personal user information or breach authenticated accounts. Clients should consult legal counsel regarding their specific use of the data.

How do you handle regional stock variations?

We inject specific UK postcodes into the session cookies during the crawl. This allows us to simulate delivery to distinct regions and capture accurate local availability and pricing.

Can you extract the M&S food range specifically?

Yes. We can filter the extraction to target only the Marks & Spencer integrated catalogue, or include brand flags in a full-site extraction to isolate M&S products downstream.

How frequently can you update pricing data?

For FMCG monitoring, we typically run daily extractions. We can configure pipelines to run overnight, delivering fresh pricing and promotional data before the start of the business day.

Do you parse the nutritional tables accurately?

Yes. We map the HTML table structures into strict JSON schemas, normalising values for energy, fat, saturates, sugars, and salt per 100g and per serving.

What is the minimum viable engagement?

We operate managed pipelines starting at defined category scopes or specific brand lists. Contact us with your target SKUs or categories for a precise quote.

Can I request a sample dataset?

Yes. We provide sample exports of up to 500 SKUs during the scoping phase, allowing your engineering team to validate the schema and data quality.

$ dataflirt scope --new-project --source=ocado.com ready

Tell us what
to extract.
We do the rest.

20-minute scoping call. Pilot dataset within the week. Production within two. Whether you need daily FMCG price tracking or a complete nutritional database extraction, we build and operate the infrastructure. Tell us your requirements.

hello@dataflirt.com · Bengaluru · IST · typical reply < 4h
Related Scrapers

More in food drink and kitchen

Services

Data Extraction for Every Industry

View All Services →