Rimi Scraper: Latvia, Lithuania, Estonia avatar

Rimi Scraper: Latvia, Lithuania, Estonia

Pricing

from $2.00 / 1,000 result scrapeds

Go to Apify Store
Rimi Scraper: Latvia, Lithuania, Estonia

Rimi Scraper: Latvia, Lithuania, Estonia

Scrape Rimi's online groceries in Latvia, Lithuania and Estonia (rimi.lv, rimi.lt, rimi.ee): product names, prices in EUR, promotion prices, per-unit prices, category codes and images. Search by keyword or scrape a category. 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

4

Total users

0

Monthly active users

17 days ago

Last modified

Categories

Features

Limited permissions

Share

Extract grocery products, prices, promotion prices and per-unit prices from Rimi's online groceries in the three Baltic countries: rimi.lv (Latvia), rimi.lt (Lithuania) and rimi.ee (Estonia). Search by keyword or scrape any category. No login, no cookies, no account required.

What is Rimi Scraper?

Rimi Scraper collects structured product data from the Rimi e-shops in Latvia, Lithuania and Estonia. All three shops run on the same Rimi Baltic platform, so one actor covers them with a country input. It reads the server-rendered product grid and returns flat JSON: product name, price in EUR, regular price on promotions, per-unit price, category code, 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. Each country's e-shop carries thousands of products across fresh produce, dairy, meat, bakery, pantry, drinks and household goods.

Popular use cases:

  • Grocery price monitoring. Track prices and per-unit prices across the Rimi catalogue in one or all three countries. Spot promotions through originalPrice.
  • Cross-border price comparison. The same Rimi own-brand lines are sold in Latvia, Lithuania and Estonia. Run the actor once per country and compare the same product across the Baltics.
  • Competitor intelligence. Compare Rimi's range and pricing against Maxima, Barbora, Selver, Prisma and other Baltic grocers.
  • Market research. Analyze assortment, pack sizes and category structure in the Baltic grocery market.
  • Price comparison sites. Feed a shopping or comparison product with fresh, structured grocery data.

Countries

countryShopLanguage of namesCurrencyExample search
LV (default)rimi.lvLatvianEURpiens (milk)
LTrimi.ltLithuanianEURpienas (milk)
EErimi.eeEstonianEURpiim (milk)

One run covers one country. To cover all three, start three runs or three saved tasks with a different country.

How to scrape Rimi data

  1. Pick the country: LV, LT or EE. Leave it out and the actor scrapes Latvia, the same as before the country input existed.
  2. Choose what to scrape: a keyword in searchQuery, or a category page in categoryUrl.
  3. Set maxResults to the number of products you need.
  4. Start the run and download the dataset as JSON, CSV or Excel.

Option 1: Search by keyword

Set searchQuery to any product name or keyword in the language of the shop. The actor pages through all search results up to maxResults.

  • Latvia: piens (milk), maize (bread), siers (cheese), kafija (coffee), olas (eggs)
  • Lithuania: pienas (milk), duona (bread), sūris (cheese), kava (coffee), kiaušiniai (eggs)
  • Estonia: piim (milk), leib (bread), juust (cheese), kohv (coffee), munad (eggs)

Option 2: Scrape a category

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

  • Latvia: https://www.rimi.lv/e-veikals/lv/produkti/augli-un-darzeni/c/SH-2 (fruit and vegetables)
  • Lithuania: https://www.rimi.lt/e-parduotuve/lt/produktai/vaisiai-darzoves/c/SH-2
  • Estonia: https://www.rimi.ee/epood/ee/tooted/puu-ja-koogiviljad/c/SH-2

Category URLs always end in /c/SH-.... Copy one from the address bar while browsing the shop. A full URL decides the country by itself: a rimi.lt URL scrapes Lithuania even when country is left on Latvia, and the log says so. A path without the domain (/e-veikals/lv/produkti/...) uses the selected country.

If both searchQuery and categoryUrl are empty, the actor searches for milk in the language of the selected country, so a run with empty input still returns data.

Input

FieldTypeRequiredDescription
countryStringNoLV (default), LT or EE. Lower case works too.
searchQueryStringNoProduct keyword in the shop's language. Ignored if categoryUrl is set.
categoryUrlStringNoA Rimi category page URL or path (includes all subcategories).
maxResultsIntegerNoMaximum number of products to return (default: 100).
proxyConfigurationObjectNoProxy settings. Residential proxies in the shop's country are recommended.
{
"country": "EE",
"searchQuery": "piim",
"maxResults": 100,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "EE"
}
}

Example input: Lithuania, whole department

{
"country": "LT",
"categoryUrl": "https://www.rimi.lt/e-parduotuve/lt/produktai/vaisiai-darzoves/c/SH-2",
"maxResults": 1000
}

Output

Each result is a flat JSON object:

FieldTypeExample
nameString"Piens Rimi pudele 2% 1l"
brandString"" (Rimi listings carry no brand field)
priceNumber0.99
currencyString"EUR"
countryString"LV", "LT" or "EE"
originalPriceNumber1.38 (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, rimi.lt or rimi.ee
scrapedAtStringISO 8601 timestamp

Example output

{
"name": "Piim Alma 2,5% 1,5l",
"brand": "",
"price": 1.39,
"currency": "EUR",
"country": "EE",
"url": "https://www.rimi.ee/epood/ee/tooted/piimatooted-munad-juust/piimad/piim/piim-alma-2-5-1-5l/p/200280",
"scrapedAt": "2026-10-15T06:50:46.791Z",
"inStock": true,
"productId": "200280",
"pricePerUnit": "0.93 EUR/l",
"categoryCode": "SH-11-8-37",
"imageUrl": "https://rimibaltic-res.cloudinary.com/image/upload/b_white,c_limit,dpr_auto,f_webp,q_auto:low,w_auto/d_ecommerce:backend-fallback.png/MAT_200280_PCE_EE"
}

Notes on the data

  • Prices are numbers in EUR in all three countries. currency is always present next to the price. The per-unit price is a string such as "0.99 EUR/l" or "1.19 EUR/kg".
  • originalPrice is the regular price of a discounted product. It only appears on products that are on promotion, typically 5 to 25% of a listing.
  • Brand is empty. Rimi's listing payload has no brand value. The product name usually contains the brand where one applies.
  • inStock reflects listing availability. Rimi listings only show products that can be ordered, so it is true on almost every row.
  • productId is Rimi's product code. The same own-brand product can have a different code in each country.

Cost estimate

The price is $0.002 per result ($2 per 1,000 products) plus $0.005 per run start, the same for every country.

The actor uses plain HTTP requests, no headless browser. One request returns up to 100 products, so a full catalogue of 15,000 to 20,000 products is about 150 to 200 requests.

A run's usage cost only settles after the run reports SUCCEEDED. Reading the cost of a run that is still in progress shows a number that is far too low, so estimate spend from finished runs.

Proxy and reliability

The Rimi shops sit 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 residential proxy in the shop's country (the default), runs smoothly through large category walks.

The input form prefills a Latvian proxy. When you pick Lithuania or Estonia, the actor switches a proxy country of LV, LT or EE to the selected country, so you do not have to change the proxy by hand. Any other proxy country you set is kept as it is.

Limitations / known issues

  • Brand, nutrition and detailed specifications are not part of the listing and are not scraped.
  • Ratings and reviews are not available on Rimi.
  • One run scrapes one country. A category URL of another Rimi country switches the run to that country.
  • 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 per country).

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

  • Barbora Scraper. Maxima's online grocery in Lithuania, Latvia and Estonia.
  • Rohlik Scraper. Grocery products and prices from Rohlik.cz, Knuspr.de and Gurkerl.at.
  • Tesco Scraper. UK grocery products and prices.
  • Albert Heijn Scraper. Dutch grocery products and prices.
  • Apotheka Latvia Scraper. Latvian pharmacy products and prices.
⌂ 换网址