Alcampo ES - Product prices
Pricing
from $2.00 / 1,000 results
Alcampo ES - Product prices
Scrapes products and prices from the Alcampo online supermarket (compraonline.alcampo.es) by search term or category.
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer
Giacomo Pigani
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Security
Limited permissionsShare
Alcampo Scraper
Scrapes products and prices from Alcampo's online supermarket. You can search the same way as on the website, download every product in a category, both (the category then filters the search, like on the website), or leave both empty to download the whole catalogue (every top-level category, each of which lists all of its subcategories' products).
Input
Set a search term, a category, or both — or leave both empty to scrape the whole catalogue. Prices
come from Alcampo's default region; the region used is reported in the run's REGION record.
| Parameter | Options | Description |
|---|---|---|
searchTerm | (optional) Text to search for | One search, like the search box on the website. Returns the same products, in the same order, as the website. Alcampo uses only the first 50 characters. |
category | (optional) Category code, e.g. OC2112, a category page URL, or a website URL with a category filter (sublocationId=…) | Every product in this category or subcategory. With a search term, keeps only the search results in this category, like filtering a search on the website. Get the current list of codes with the Alcampo Category IDs Actor. |
productUrls | (optional) List of product-page URLs, e.g. https://www.compraonline.alcampo.es/products/10001 | Detail mode. Fetches each product's full detail (ingredients, nutritional data, storage/usage, all images) from its page instead of scraping a listing. When set, searchTerm and category are ignored. |
Categories
The root categories and their codes. For all ~4,500 subcategory codes, run the Alcampo Category IDs
Actor. A subcategory's code also appears at the end of its URL on the website, e.g. OC1701 in
/categories/frescos/frutas/OC1701.
| Code | Category |
|---|---|
| OC0301 | Textil |
| OC062 | Mascotas |
| OC09112021 | Veganos |
| OC10 | Desayuno y Merienda |
| OC1021 | Juguetes |
| OC16 | Leche, Huevos, Lácteos, Yogures y Bebidas vegetales |
| OC19082019 | Libros |
| OC191102 | Papelería |
| OC20022018 | Comida Preparada |
| OC200220183 | Congelados |
| OC2112 | Frescos |
| OC26112021 | Supermercado Ecológico |
| OC555 | Electrodomésticos |
| OC6014 | Jardín y terraza |
| OC679 | Tecnología |
| OC69 | Parafarmacia |
| OC70 | Perfumeria |
| OCAUTM | Automóvil |
| OCC | Campañas |
| OCC10 | Alimentación |
| OCC11 | Bebidas |
| OCC112 | Deportes y Maletas |
| OCC115 | Hogar y Decoración |
| OCC13 | Bebé |
| OCC14 | Droguería |
| OCC153 | Bricolaje |
| OCFYP | Folletos y Promociones |
| OCSINGSINL | Sin Gluten / Sin Lactosa, Nutrición deportiva y Funcional |
Example using a search query:
{"searchTerm": "leche condensada"}
Example using a category:
{"category": "OC1701"}
Example searching inside a category (OC1007 is Preparación Postres; pasting the website URL of that filtered search works too):
{"searchTerm": "leche condensada","category": "OC1007"}
Example scraping full product detail (takes product-page URLs, like the url of listing rows):
{"productUrls": ["https://www.compraonline.alcampo.es/products/10001"]}
Output
- Dataset: one item per product, as Alcampo returns it. Search results also carry
search_term. A product listed in several places appears only once per run. - Detail mode (
productUrls): one item per product with the full detail parsed from its page —retailerProductId,name,brand,packSizeDescription,categoryPath,images,url, and the HTML sectionsingredients,nutritionalData,storageAndUsageandfeatures. REGION(key-value store): the Alcampo region the prices come from, e.g.{"regionId": "ac90d761-…", "retailerRegionId": "5", "regionName": "Vaguada"}.FAILED_REQUESTS(key-value store, only when some requests failed): the URL and error of each page that failed every retry (each is also logged during the run). Every request is retried up to 10 times, climbing the proxy ladder each time. A few pages still failing is tolerated and the run succeeds with a near-complete dataset; only if a large fraction fail does the run fail rather than returning an incomplete dataset as a success.
Product fields
Values come as Alcampo sends them. For example, prices are text such as "2.48". Fields inside
an object are written with a dot, e.g. price.amount.
| Field | Description |
|---|---|
retailerProductId | Alcampo's product ID, as in the product page URL. |
productId | Internal product UUID. |
name | Product name, including brand and size. |
brand, packSizeDescription | Brand and pack size, e.g. 740g. |
type | REGULAR, or CATCHWEIGHT for products sold by weight. |
price.amount | Regular price in EUR. |
unitPrice.price.amount, unitPrice.unitName | Price per kg, litre, 100 g or unit (PER_1KG, PER_LITRE, PER_100G, EACH). |
promoPrice, promoUnitPrice | Discounted price and unit price, when a promotion applies. |
promotions | Active promotions, e.g. 10% descuento. Solo Online. (08/10/2026-21/10/2026), with type OFFER or LOYALTY (Club Alcampo). |
available, isInCurrentCatalog | Available to buy, and in the region's current catalogue. |
isNew, alcohol, timeRestricted | New product, alcoholic product, delivery only at some times. |
maxAvailableQuantity | Most units per order, when limited. |
catchweight | For products sold by weight: minimum, typical and maximum quantity. |
categoryPath | Names of the categories the product is listed in. It can mix several paths, e.g. a leaflet promotion and the regular aisle. |
ratingSummary | Average rating (overallRating, as text) and number of ratings (count). |
image.src, images, imagePaths | Main image (300×300) and all images. image also has srcsets in other sizes. |
iconAttributes | Product badges, e.g. Refrigerado, Sin Gluten. |
alternatives | Product IDs Alcampo suggests as alternatives. |
search_term | Search rows only: the search that returned the product. |
Fields to ignore. These belong to a shopping session, so they are always empty, 0 or
false when scraping: basketLines, quantityInBasket, maxQuantityReached,
isInShoppingList, isVerifiedPurchase. icons and taxCodesDisplayNames are usually
empty.