XXL Sport Scraper - Norway, Finland & Sweden Products & Prices
Pricing
from $2.00 / 1,000 result scrapeds
XXL Sport Scraper - Norway, Finland & Sweden Products & Prices
Scrape products, prices, ratings and stock from XXL Sport in Norway (xxl.no), Finland (xxl.fi) and Sweden (xxl.se). Search by keyword or scrape a category.
Pricing
from $2.00 / 1,000 result scrapeds
Rating
0.0
(0)
Developer
Studio Amba
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
XXL Sport Scraper
Scrapes products from XXL Sport, the Nordic sports retailer, in three countries with one actor:
| Country | Site | Currency | country value |
|---|---|---|---|
| Norway | xxl.no | NOK | NO (default) |
| Finland | xxl.fi | EUR | FI |
| Sweden | xxl.se | SEK | SE |
It returns product name, brand, price, original price, currency, stock status, rating, images and product identifiers. Search by keyword or scrape a category. No login is needed.
Countries
Set country to NO, FI or SE. The actor then uses that country's site, language, currency and proxy location. Every record carries a country field and a currency field, so results from several runs can be combined in one table.
If you leave country empty, the actor scrapes xxl.no. Runs and saved tasks that were set up before the country field existed keep working without changes.
A categoryUrl on another XXL domain sets the country by itself. https://www.xxl.se/herr/skor/loparskor-herr/c/140202 scrapes Sweden even when country is NO.
Input
| Field | Type | Description |
|---|---|---|
searchQuery | String | Search term in the language of the country. Examples: løpesko (NO), juoksukengät (FI), löparskor (SE). |
country | String | NO, FI or SE. Default: NO. |
categoryUrl | String | Category page URL, for example https://www.xxl.no/sport/loping/lopesko/c/142010. Overrides searchQuery. |
maxResults | Integer | Maximum number of products. Default: 100. Hard cap: 50000. |
proxyConfiguration | Object | Proxy settings. Default: Apify residential proxy in the selected country. |
When searchQuery and categoryUrl are both empty, the actor searches a default term for the country (løpesko, juoksukengät or löparskor).
Input examples
Search in Norway (the default country):
{"searchQuery": "løpesko","maxResults": 50}
Search in Finland:
{"searchQuery": "juoksukengät","country": "FI","maxResults": 50}
A category in Sweden:
{"categoryUrl": "https://www.xxl.se/herr/skor/loparskor-herr/c/140202","maxResults": 200}
Output
One record per product style (one colour of one product).
{"name": "Wave Serene 2 Gore-Tex, løpesko, herre","brand": "Mizuno","price": 1049,"currency": "NOK","originalPrice": 1469,"country": "NO","inStock": true,"rating": 4.8,"sku": "1238557_1_Style","productId": "1238557_1_Style","productGroupId": "1238557","imageUrl": "https://cdn.xxl.no/filespin/30e55082818c488a8639b58c97f4d6a2","imageUrls": ["https://cdn.xxl.no/filespin/30e55082818c488a8639b58c97f4d6a2","https://cdn.xxl.no/filespin/e0ee080e88af4927ae90ab501967f12d"],"category": "Løpesko","url": "https://www.xxl.no/mizuno-wave-serene-2-gore-tex-lopesko-herre-svart/p/1238557_1_Style","scrapedAt": "2026-10-13T18:46:13.355Z"}
Output fields
| Field | Description |
|---|---|
name | Product name |
brand | Brand name |
price | Current selling price |
currency | Currency of price and originalPrice: NOK, EUR or SEK. Prices are never converted. |
originalPrice | Price before discount. Only present for discounted products. |
country | NO, FI or SE |
inStock | Online stock status. Missing when the site does not state it. |
rating | Average customer rating, 0 to 5. Only present for products with reviews. |
sku | XXL style key, for example 1238557_1_Style |
productId | Same value as sku |
productGroupId | XXL article number shared by all colours of a product, for example 1238557 |
imageUrl | Main image |
imageUrls | All images, when there is more than one |
category | Category name. Filled for categoryUrl runs. |
url | Product page URL |
scrapedAt | Time of scraping, ISO 8601 |
ean, description, reviewCount and categories are only filled when the actor has to fall back to reading product pages. Search and category runs normally do not need that fallback.
Data sources
- XXL's product list API (Voyado Elevate). It serves search results and category lists for all three countries. Search runs and category runs both use it.
- If the API returns nothing, the actor reads the search or category page and the product pages (embedded page data, then JSON-LD, then OpenGraph tags).
A search or category with fewer products than maxResults returns what exists and then stops.
How to scrape XXL Sport data
- Open this actor in Apify Console.
- Pick the country: Norway, Finland or Sweden.
- Enter a search term in that country's language, or paste a category URL from xxl.no, xxl.fi or xxl.se.
- Set the maximum number of results.
- Click Start and wait for the run to finish.
- Download the data as JSON, CSV or Excel, or read it through the Apify API.
To compare prices between countries, run the actor once per country with the same kind of search and join the results on productGroupId. XXL uses the same article numbers in all three countries.
Cost and performance
This actor charges $0.02 per run (start fee, based on its 4 GB memory allocation) plus $0.002 per result scraped. 100 results costs about $0.22. 1,000 results costs about $2.02. The price is the same for every country.
A run's usage cost only settles after it reports SUCCEEDED. A cost read while the run is still going is too low.
One API request returns up to 48 product groups, so 1,000 results take about 20 requests.
Proxy
The default is Apify residential proxy located in the selected country. If you set a proxy country yourself, the actor uses your choice. If you set useApifyProxy to false or pass your own proxy URLs, the actor uses those as they are.
Limitations
eanis not part of search and category results.reviewCountis not provided by the list API.ratingis.originalPriceonly appears on discounted products, andratingonly on reviewed products. Low fill on those two fields is normal.- Search terms are not translated. A Norwegian term returns little on xxl.fi.
- xxl.dk and xxl.at are not covered.
- The site can change without notice. If a run returns no results, the run fails with a clear message so it does not pass as an empty success.
FAQ
Which countries does this actor cover? Norway (xxl.no), Finland (xxl.fi) and Sweden (xxl.se).
I used the XXL Sport Finland or Sweden scraper. What changes?
Use this actor with country set to FI or SE. The fields are the same, plus country and productGroupId. For Sweden, sku and productId now hold the style key (1266840_1_Style), and the article number that used to be there (1266840) is in productGroupId.
Can I scrape a whole category?
Yes. Pass the category URL and set maxResults high enough. The actor pages through the full list.
How often should I run it? Daily or weekly runs are common for price monitoring. Use a schedule in Apify Console.
Can I export to Google Sheets or Excel? Yes. Download CSV, JSON or Excel from the run's dataset, or connect an Apify integration.
What if the scraper stops working? Open an issue on the actor's page. We test every country daily and fix breakages quickly.