Barbora Scraper: Lithuania, Latvia & Estonia Groceries
Pricing
from $2.00 / 1,000 result scrapeds
Barbora Scraper: Lithuania, Latvia & Estonia Groceries
Scrape the Barbora online-grocery catalogues of Lithuania (barbora.lt), Latvia (barbora.lv) and Estonia (barbora.ee): product names, EUR prices, AČIŪ / Paldies / Aitäh loyalty offers, price per unit, brands, categories and images. Search by keyword or scrape any category. No login, no cookies.
Pricing
from $2.00 / 1,000 result scrapeds
Rating
0.0
(0)
Developer
Studio Amba
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
12 days ago
Last modified
Categories
Features
Share
Scrape the Barbora online-grocery catalogues of Lithuania (barbora.lt), Latvia (barbora.lv) and Estonia (barbora.ee): product names, EUR prices, loyalty offers, per-unit prices, brands, categories and images. Search by keyword or pull any category. No login, no cookies.
Barbora is the online grocery of the Maxima Group and the reference online supermarket in all three Baltic states. This actor turns its storefronts into clean, structured JSON you can drop into a spreadsheet, a price monitor or a data pipeline.
Countries
country | Store | Search example | Loyalty programme |
|---|---|---|---|
LT (default) | barbora.lt | pienas (milk) | AČIŪ |
LV | barbora.lv | piens (milk) | Paldies |
EE | barbora.ee | piim (milk) | Aitäh |
One run covers one country. Every row carries a country field, so you can
merge runs of all three stores into one dataset. All three countries use the
euro, so every price is in EUR.
Why use this actor?
Grocery prices move constantly, and Barbora is the reference store for the Baltic market. If you track retail prices, run a competing shop, build a price-comparison site or do FMCG market research in the Baltics, this actor gives you the live catalogue of each country on demand.
- Live EUR prices, including loyalty-card (member) pricing and the pre-discount price.
- Per-unit price (for example €0.88/l) so different pack sizes are comparable.
- Full category path, brand, image and product URL for every item.
- The same record shape for Lithuania, Latvia and Estonia.
- No account, no cookies, no login. You give a keyword or a category and get data back.
How to scrape Barbora data
- Add the actor to your Apify account and open the input form.
- Pick the country: Lithuania, Latvia or Estonia.
- Type a search keyword in that country's language (for example
pienasin Lithuania,piensin Latvia,piimin Estonia), or paste a category URL from the Barbora store. - Set
maxResultsto how many products you want. Barbora returns 52 products per page; set it high to pull a whole category. - Run the actor. Results stream into the dataset and can be exported as JSON, CSV or Excel.
To scrape a specific category, open the category on Barbora and copy the URL, for example:
https://barbora.lt/pieno-gaminiai-kiausiniai-ir-majonezas/pienashttps://barbora.lv/piena-produkti-un-olas/pienshttps://barbora.ee/piimatooted-ja-munad/piimad
Paste it into the categoryUrl field. The actor walks every page of that
category up to your maxResults limit. A full URL decides the country by
itself: a barbora.lv URL runs on the Latvian store even when country is left
on Lithuania.
Input
| Field | Type | Required | Description |
|---|---|---|---|
country | String | No | LT (default), LV or EE. |
searchQuery | String | No | Search keyword in the language of the selected country. Defaults to milk (pienas, piens or piim) when nothing is set. |
categoryUrl | String | No | A Barbora category URL or a path on the selected country's store. Takes priority over the search query. |
maxResults | Integer | No | Maximum products to return (default 100). |
requestDelaySecs | Integer | No | Pause between page fetches for large runs (default 0). |
brightDataApiKey | String | No | Optional. Your own Bright Data Web Unlocker API key. Leave empty to use the built-in access. |
proxyConfiguration | Object | No | Proxy settings. Not used for the Barbora pages themselves. |
Leave everything empty and the actor searches for milk (pienas) on
barbora.lt, so a bare run still returns data.
Example input (Latvia)
{"country": "LV","searchQuery": "kafija","maxResults": 50}
Output
Each result is a flat JSON object:
| Field | Type | Example |
|---|---|---|
name | String | "Piens BALTAIS 2% 1L" |
brand | String | "BALTAIS" |
price | Number | 0.89 |
currency | String | "EUR" |
country | String | "LV" |
originalPrice | Number | 1.19 |
pricePerUnit | String | "€0.89/l" |
discount | String | "-25% (Paldies loyalty)" |
productId | String | "000000000000891999" |
inStock | Boolean | true |
category | String | "Pieno gaminiai, kiaušiniai ir majonezas > Pienas" (LT) or "piena produkti un olas > piens > pasterizets piens" (LV, EE) |
categories | Array | The same path as a list |
countryOfOrigin | String | "Latvia" or "EU" |
imageUrl | String | "https://cdn.barbora.lt/products/….png" |
url | String | "https://barbora.lv/produkti/piens-baltais-2-proc-1-l" |
scrapedAt | String | "2026-10-15T09:00:00.000Z" |
Fields the store does not set for a product are left out of that row. A
discount only appears on promoted products, and countryOfOrigin only when
Barbora flags the product as made in the home country or in the EU.
Example output
{"name": "UAT pienas FARM MILK, 3,2% rieb., 1 l","brand": "FARM MILK","price": 0.89,"currency": "EUR","pricePerUnit": "€0.89/l","productId": "000000000000891999","inStock": true,"category": "Pieno gaminiai, kiaušiniai ir majonezas > Pienas > Ilgo galiojimo pienas","categories": ["Pieno gaminiai, kiaušiniai ir majonezas", "Pienas", "Ilgo galiojimo pienas"],"imageUrl": "https://cdn.barbora.lt/products/0e6e2845-485a-4c9d-96f2-98e599a919f1_m.png","url": "https://barbora.lt/produktai/uat-pienas-farm-milk-3-2-proc-rieb-1-l","country": "LT","scrapedAt": "2026-10-15T09:00:00.000Z"}
Access
In Latvia and Estonia the actor reads Barbora's own product API, the same one the store's website loads its product grid from. That API gives the category path as URL slugs, so LV and EE categories are lowercase and without accents.
In Lithuania the actor reads the store's listing pages. barbora.lt sits behind a
Cloudflare managed challenge, so those pages are fetched through the Bright Data
Web Unlocker, which exits in Lithuania. When that route does not return a
product list, the run switches to Barbora's product API. Bright Data access is
built in and included in the per-result price. You do not need a Bright Data
account. If you prefer to use your own Web Unlocker zone, enter its API key in
the brightDataApiKey field.
Cost estimate
The price is $0.002 per result ($2 per 1,000 products) plus $0.005 per run start, for every country. Bright Data access is included in that price.
One page fetch returns 52 products, so a 1,000-product pull needs about 20 page fetches.
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.
Pricing note
Barbora prices depend on the delivery region (each fulfilment centre has its
own price and stock). The actor returns the storefront's default-region price,
which matches what most shoppers see. Loyalty member prices (AČIŪ, Paldies,
Aitäh) are captured in price, with the regular price in originalPrice and
the saving in discount.
How it works
Barbora renders each listing page server-side with the full product grid, EUR
prices included. The actor reads that data directly, one page at a time (52
products per page), and stops when a category runs out of products or your
maxResults limit is reached. Long category walks resume automatically if the
run is migrated between servers, so you never get duplicates or a
half-finished pull.
Limitations
- Prices are for the storefront's default delivery region.
- One run covers one country. Run the actor once per country to cover all three.
- Search returns Barbora's own relevance ranking; very broad keywords return a
lot of products, so set
maxResultsto keep runs focused. - Ratings and reviews are not exposed on Barbora listing pages, so they are not included.
Related Scrapers
Building a Baltic or European grocery price dataset? Pair this with the other grocery scrapers:
- Rimi Scraper — Rimi groceries in Latvia
- Tesco Groceries Scraper — UK groceries
- Tesco CZ Scraper — Czech groceries
- Rohlik Scraper — Czech / German / Austrian groceries
- Albert Heijn Scraper — Dutch groceries
- Lidl Scraper — pan-European discounter