systembolaget.se APIwww.systembolaget.se ↗
Search and retrieve wine, beer, spirits, and cider from Systembolaget's full catalog. Returns price, vintage, taste profiles, grapes, country, and more.
curl -X GET 'https://api.parse.bot/scraper/69d3b8ae-0e82-416f-8ff4-c6c2c7db7f34/search_products?query=IPA&category=%C3%96l&page_size=3' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for products by text query with optional filters for category, country, and price range. Supports pagination and sorting. Returns paginated results with product details.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number (1-based) |
| query | string | Text search query (e.g., 'barolo', 'riesling', 'IPA') |
| country | string | Country filter (e.g., 'Italien', 'Frankrike', 'Sverige', 'Storbritannien') |
| sort_by | string | Sort field: Score, Price, Name, Volume |
| category | string | Category filter: Vin, Öl, Sprit, Cider & blanddrycker, Alkoholfritt |
| max_price | string | Maximum price in SEK |
| min_price | string | Minimum price in SEK |
| page_size | integer | Results per page (max 30) |
| sort_direction | string | Sort direction: Ascending, Descending |
{
"type": "object",
"fields": {
"page": "integer current page number",
"products": "array of product objects with fields: product_id, product_number, name, name_thin, beverage_type, beverage_subtype, beverage_style, custom_category, vintage, producer, supplier, country, origin_level1, origin_level2, price, volume, volume_text, alcohol_percentage, taste, usage, color, taste_symbols, taste_clocks, grapes, is_organic, is_kosher, is_ethical, assortment, packaging, seal, sugar_content_gram_per_100ml, image_url, is_out_of_stock",
"next_page": "integer or null, next page number",
"page_size": "integer results per page",
"total_pages": "integer total number of pages",
"total_results": "integer total number of matching products"
},
"sample": {
"data": {
"page": 1,
"products": [
{
"name": "Miss Behave IPA",
"seal": null,
"color": "Oklar, gulbrun färg.",
"price": 29.9,
"taste": "Nyanserad, fruktig smak med tydlig beska...",
"usage": "Serveras vid 8-10°C som sällskapsdryck...",
"grapes": [],
"volume": 330,
"country": "Sverige",
"vintage": null,
"producer": "Nils Oscar",
"supplier": "Nils Oscar AB",
"image_url": "https://product-cdn.systembolaget.se/productimages/38496741/38496741",
"is_kosher": false,
"name_thin": "Miss Behave IPA",
"packaging": "Burk",
"assortment": "Lokalt & Småskaligt",
"is_ethical": false,
"is_organic": false,
"product_id": "38496741",
"volume_text": "330 ml",
"taste_clocks": {
"body": 7,
"casque": 1,
"fruitacid": 0,
"roughness": 0,
"smokiness": 0,
"sweetness": 2,
"bitterness": 7
},
"beverage_type": "Öl",
"origin_level1": null,
"origin_level2": null,
"taste_symbols": [
"Lamm",
"Nöt",
"Sällskapsdryck"
],
"beverage_style": "India pale ale (IPA)",
"product_number": "5130815",
"custom_category": "Öl, Ale, India pale ale (IPA)",
"is_out_of_stock": false,
"beverage_subtype": "Ale",
"alcohol_percentage": 6,
"sugar_content_gram_per_100ml": 0
}
],
"next_page": 2,
"page_size": 3,
"total_pages": 429,
"total_results": 1285
},
"status": "success"
}
}About the systembolaget.se API
The Systembolaget API provides 2 endpoints to search and retrieve product data from Sweden's state-owned alcohol retailer. Use search_products to query the full catalog by text, category, country, and price range, then call get_product_details with the returned product_number to fetch granular fields including vintage year, grape varieties, taste description, serving suggestion, and volume in milliliters.
Search the Catalog
The search_products endpoint accepts a free-text query (e.g., 'barolo', 'IPA', 'riesling') alongside optional filters: category (one of Vin, Öl, Sprit, Cider & blanddrycker, Alkoholfritt), country (e.g., 'Italien', 'Frankrike', 'Sverige'), min_price and max_price in SEK, and a sort_by field accepting Score, Price, Name, or Volume. Results are paginated — up to 30 per page — and each product object includes product_id, product_number, name, name_thin, beverage_type, beverage_subtype, and beverage_style. The total_results and total_pages fields let you iterate through the full result set.
Product Details
Pass any product_number from search results to get_product_details for the full record. The response includes price (in SEK), volume (in ml), country, vintage (year string or null), color, grapes (array of variety names), taste, usage (serving suggestion), and a seal field for any certification designations. Fields like taste and usage reflect the official Swedish-language descriptions used on the retail site.
Coverage and Language
The catalog covers all actively listed products across Systembolaget's assortment categories, including their permanent range and special-order items. Country names and category values are in Swedish (e.g., 'Italien' not 'Italy'), which matters when constructing filter queries. Products without a vintage, grapes, or taste note return null for those fields — common for spirits, beers, and non-alcoholic items.
- Build a wine finder app that filters by country and price range using
min_price,max_price, andcountryparams - Aggregate vintage data across a region by paginating
search_productswith a country filter and extractingvintagefrom detail calls - Create a grape-variety browser by fetching
grapesarrays fromget_product_detailsacross the Vin category - Track price changes over time by periodically calling
get_product_detailsand storing thepricefield perproduct_number - Build a taste-profile recommender using the
taste,color, andbeverage_stylefields returned in product details - Generate a catalog export of all Swedish beers by querying
Ölcategory withcountryset to'Sverige'and paginating results
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Systembolaget provide an official public developer API?+
What does `search_products` return versus `get_product_details`?+
search_products returns a paginated list with summary fields: product_id, product_number, name, beverage_type, beverage_subtype, and beverage_style. It does not include taste, grapes, vintage, or price — those fields are only available by calling get_product_details with the product_number from the search result.Do country and category filter values need to be in Swedish?+
country parameter expects Swedish-language country names (e.g., 'Italien', 'Frankrike', 'Spanien'), and the category values are also Swedish (e.g., 'Vin', 'Öl', 'Sprit'). Passing English equivalents will return no results.Does the API include store stock levels or availability by location?+
Is there a way to retrieve user reviews or ratings for products?+
taste, usage, grapes, and color, but no user-generated reviews or aggregate ratings are returned. You can fork this API on Parse and revise it to add a reviews or ratings endpoint if that data is accessible on the source.