Rimi.lv Scraper — Latvian Grocery Products & Prices avatar

Rimi.lv Scraper — Latvian Grocery Products & Prices

Pricing

from $2.00 / 1,000 result scrapeds

Go to Apify Store
Rimi.lv Scraper — Latvian Grocery Products & Prices

Rimi.lv Scraper — Latvian Grocery Products & Prices

Scrape products, prices, and per-unit prices from Rimi.lv, Latvia's largest online grocery. Search or browse categories. No login or cookies required.

Pricing

from $2.00 / 1,000 result scrapeds

Rating

0.0

(0)

Developer

Studio Amba

Studio Amba

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Extract grocery product data, prices, and per-unit prices from Rimi.lv, Latvia's largest online grocery. Search by keyword or browse any category. No login, no cookies, no account required.

What is Rimi.lv Scraper?

Rimi.lv Scraper collects structured product data from Rimi Latvia's online grocery store (rimi.lv/e-veikals). It reads Rimi's server-rendered product grid and its public category API to deliver clean, flat JSON: product name, price in EUR, per-unit price, category, image, product code, and stock status.

Rimi is part of Rimi Baltic, owned by the Swedish ICA Group, and is one of the largest grocery retailers in the Baltics. Its Latvian online store carries tens of thousands of products across fresh produce, dairy, meat, bakery, pantry, drinks, household, and more. That catalogue is one of the richest, most current grocery data sources in Latvia.

Popular use cases:

  • Grocery price monitoring — Track prices and per-unit prices across the Rimi catalogue. Detect promotions and price shifts over time.
  • Competitor intelligence — Compare Rimi's range and pricing against Maxima, Rimi's own Baltic siblings, and other Latvian grocers.
  • Market research — Analyze product availability, assortment, and category structure in the Latvian grocery market.
  • Price comparison sites — Feed a shopping or price-comparison product with fresh, structured grocery data.
  • FMCG and supplier research — Study which products and pack sizes are listed, and at what shelf and per-unit prices.

How to scrape Rimi.lv data

There are two ways to run the actor. Pick one.

Option 1: Search by keyword

Set searchQuery to any product name or keyword in Latvian. The actor paginates through all search results up to maxResults.

Latvian examples: "piens" (milk), "maize" (bread), "siers" (cheese), "gaļa" (meat), "kafija" (coffee), "olas" (eggs), "āboli" (apples).

Option 2: Browse a category

Set categoryUrl to any Rimi.lv category page URL. A top-level category URL includes every product in its subcategories, so one URL can return an entire department.

Example: https://www.rimi.lv/e-veikals/lv/produkti/augli-un-darzeni/c/SH-2 (Fruit & vegetables).

You can find category URLs by browsing rimi.lv/e-veikals and copying the address of any category page. They always end in /c/SH-....

If both searchQuery and categoryUrl are empty, the actor defaults to searching for piens (milk) so a run with empty input still returns data.

Input

FieldTypeRequiredDescription
searchQueryStringNoProduct keyword in Latvian (e.g. "piens"). Ignored if categoryUrl is set.
categoryUrlStringNoA Rimi.lv category page URL to scrape (includes all subcategories).
maxResultsIntegerNoMaximum number of products to return (default: 100).
proxyConfigurationObjectNoProxy settings. Latvian residential proxies recommended.

Example input

{
"searchQuery": "piens",
"maxResults": 100,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "LV"
}
}

To scrape a whole department instead:

{
"categoryUrl": "https://www.rimi.lv/e-veikals/lv/produkti/augli-un-darzeni/c/SH-2",
"maxResults": 1000
}

Output

Each result is a flat JSON object:

FieldTypeExample
nameString"Piens Rimi pudele 2% 1l"
brandString"" (often empty for grocery/produce)
priceNumber0.99
currencyString"EUR"
originalPriceNumber1.19 (only on promotions)
pricePerUnitString"0.99 EUR/l"
inStockBooleantrue
productIdString"804139"
categoryCodeString"SH-11-8-22"
imageUrlStringPrimary product image URL
urlStringFull product page URL on rimi.lv
scrapedAtStringISO 8601 timestamp

Example output

{
"name": "Piens Rimi pudele 2% 1l",
"brand": "",
"price": 0.99,
"currency": "EUR",
"pricePerUnit": "0.99 EUR/l",
"inStock": true,
"productId": "804139",
"categoryCode": "SH-11-8-22",
"imageUrl": "https://rimibaltic-res.cloudinary.com/image/upload/.../MAT_804139_PCE_LV",
"url": "https://www.rimi.lv/e-veikals/lv/produkti/piena-produkti-un-olas/piens/pasterizets-piens/piens-rimi-pudele-2-1l/p/804139",
"scrapedAt": "2026-07-06T19:20:58.776Z"
}

Notes on the data

  • Prices are numeric and in EUR. The per-unit price is a string like "0.99 EUR/l" or "1.19 EUR/kg".
  • Brand is frequently empty. Rimi does not expose a brand field in its product listing, and much of the grocery catalogue (fresh produce, bakery, in-house lines) has no brand at all. Name usually contains the brand where one applies.
  • originalPrice only appears on promotions. Most products are not discounted, so the field is absent for them.
  • inStock reflects listing availability. The Rimi grid only shows purchasable products.

Cost estimate

This actor uses lightweight HTTP requests (no headless browser). One request returns up to 100 products, so a full catalogue of ~15,000–20,000 products is only ~150–200 requests. Expect thousands of products per US$1 of Apify compute. Pricing is pay-per-result plus a small per-run start fee.

Proxy and reliability

Rimi.lv sits behind AWS CloudFront with Imperva/Incapsula fingerprinting. Single requests work from most IPs, but back-to-back requests from one datacenter IP can be throttled. The actor paces requests and, with a rotating Latvian residential proxy (the default prefill), runs smoothly through large category walks. Residential + country LV is recommended for the most reliable results.

Limitations / known issues

  • Brand and detailed nutrition/specs are not part of the listing payload and are not scraped (name carries most of the useful description).
  • Ratings and reviews are not available on Rimi.lv.
  • Very large full-catalogue runs are paced to stay under anti-bot thresholds, so they take longer than an unpaced scrape (still well under an hour end to end).

Building a Baltic or European grocery price dataset? These pair well with this actor:

  • Rohlik Scraper — Grocery products and prices from Rohlik.cz, Knuspr.de, and Gurkerl.at (Central Europe).
  • Tesco Scraper — UK grocery products and prices.
  • Tesco Ireland Scraper — Irish Tesco groceries.
  • Albert Heijn Scraper — Dutch grocery products and prices.
  • Auchan Scraper — French grocery and hypermarket products.
  • Apotheka Latvia Scraper — Latvian pharmacy products and prices (same market, health vertical).

Rimi Latvia runs the same platform as Rimi Lithuania (rimi.lt) and Rimi Estonia (rimi.ee) — sibling actors for the other Baltic markets are on the roadmap.