# Alkosto Product Search Scraper (`stealth_mode/alkosto-product-search-scraper`) Actor

Scrape product listings from Alkosto.com with precision. Capture prices, stock levels, discounts, reviews, specifications, and 70+ data fields per product — perfect for price monitoring, market research, and retail analytics.

- **URL**: https://apify.com/stealth\_mode/alkosto-product-search-scraper.md
- **Developed by:** [Stealth mode](https://apify.com/stealth_mode) (community)
- **Categories:** Automation, Developer tools, E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Alkosto Product Search Scraper: Extract E-Commerce Inventory Data

***

### What Is Alkosto.com?

Alkosto.com is Colombia's leading online marketplace for electronics, appliances, home goods, and consumer products. With thousands of SKUs across diverse categories, it's a key source for price intelligence and product availability data. Manually collecting product information is inefficient — the **Alkosto Product Search Scraper** automates extraction of structured product data from search results, enabling rapid competitive analysis and inventory monitoring.

***

### Overview

The **Alkosto Product Search Scraper** extracts detailed product information from Alkosto search result pages, transforming unstructured listings into comprehensive structured records. It's designed for:

- **Price monitoring platforms** tracking retail pricing trends
- **E-commerce analysts** benchmarking competitor offerings
- **Retailers** monitoring stock availability and promotions
- **Market researchers** studying consumer electronics and appliances markets
- **Data aggregators** building product catalogs and price comparison tools

Key features include flexible pagination handling, configurable volume limits, and robust error management via `ignore_url_failures`.

***

### Input Format

The scraper accepts a JSON configuration object with the following parameters:

```json
{
  "urls": [
    "https://www.alkosto.com/accesorios-electronica/c/BI_AELE_ALKOS?page=2&sort=relevance"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 200
}
```

| Field | Description |
|---|---|
| `urls` | Array of Alkosto product search result page URLs. Supports category pages, filtered searches, and paginated results |
| `max_items_per_url` | Maximum number of products extracted per URL (default: 20, maximum: 200) |
| `ignore_url_failures` | If `true`, the scraper continues running even if some URLs fail; if `false`, the run stops on first error |

> **Tip:** Use full search URLs with filters and sorting parameters (e.g., `sort=relevance`, `page=X`) for precise data collection targeting.

***

### Output Format

**Sample output**

```json
{
  "code_string": "7705946171083",
  "tonalidad_exacta_color_string_mv": null,
  "instockflag_boolean": true,
  "url_es_string": "/base-kalley-brazo-flexible-televisores-23-a-55/p/7705946171083",
  "percentagediscount_string": "-33%",
  "maximumamountavailable_int": 10,
  "has_kasado_not_free_boolean": false,
  "paymentpromotion_text_mv": [
    ""
  ],
  "ejemplo_int_mv": null,
  "gama_producto_string_mv": null,
  "datalayercategories_string": "accesorios-electronica/accesorios-tv-video/bases-soportes-tv",
  "comparableattributes_string_mv": [
    "3=Base Para Ubicar en=Exterior o Interior",
    "4=Tipo de Base=Con Inclinación, Ecualizable",
    "1=Peso Maximo que Soporta=35 Kilogramos",
    "2=Uso=TV"
  ],
  "tipo_base_string_mv": null,
  "hierarchicalcategory_string_mv": {
    "lvl2": "Accesorios de Electrónica > Accesorios Tv y Video > Bases y Soportes Tv",
    "lvl0": "Accesorios de Electrónica",
    "lvl1": "Accesorios de Electrónica > Accesorios Tv y Video"
  },
  "maxnumberinstallments_int": 8,
  "category_string_mv": [
    "BI_AELE_ALKOS",
    "BI_123_ALKOS",
    "BI_0290_ALKOS"
  ],
  "linea_modelo_string_mv": null,
  "keyfeatures_string_mv": [
    "1=Soporta máximo 35 kg – 77 lb",
    "2=Perfil: 49 - 515 mm (Distancia entre la pared y TV)",
    "3=Inclinación: -15° hasta 5°",
    "4=Giro lateral: -90° hasta 90°",
    "5=Ajuste de nivel: -3° hasta 3°"
  ],
  "categorypath_string_mv": [
    "BI_AELE_ALKOS/BI_123_ALKOS",
    "BI_AELE_ALKOS/BI_123_ALKOS/BI_0290_ALKOS",
    "BI_AELE_ALKOS"
  ],
  "bestinstallmentvalue_long": 14679,
  "price_cop_string": "$50.000 - $100.000",
  "fondo_neveras_string_mv": null,
  "is_variable_price_boolean": false,
  "createddate_long": 1600313507,
  "highlight_result": null,
  "alto_neveras_string_mv": null,
  "totalreviews_int": 155,
  "baseprice_cop_string": 149900.0,
  "pickupavailableflag_boolean": true,
  "last_updated_by": "UPDATE",
  "presale_boolean": false,
  "base_ubicar_string_mv": null,
  "isinstallationservice_boolean": false,
  "lowestprice_double": 99900.0,
  "tipo_producto_baterias_auto_string_mv": null,
  "img_750wx750h_string": null,
  "tipo_producto_baterias_auto_sortable_string_mv": null,
  "color_string_mv": [
    "Negro"
  ],
  "visible_boolean": "true",
  "accesorio_uso_string_mv": null,
  "subcat_mediospago_string_mv": null,
  "img_60wx60h_string": null,
  "object_id": null,
  "stockexhibition_int": 0,
  "img_820wx820h_string": null,
  "categoryname_text_es_mv": [
    "Accesorios de Electrónica",
    "Accesorios Tv y Video",
    "Bases y Soportes Tv"
  ],
  "img_105wx105h_string": null,
  "pricevalue_cop_double": 149900.0,
  "last_updated_date": "2026-06-30T10:56:08.406861943",
  "stocklevelstatus_string": "inStock",
  "tipo_limpieza_automotriz_string_mv": null,
  "img_1400wx1400h_string": null,
  "img_155wx155h_string": null,
  "comparableattributes_detailed_string_mv": [
    "{\"code\":\"PESO_MAXIMO_QUE_SOPORTA\",\"label\":\"Peso Maximo que Soporta\",\"value\":\"35 Kilogramos\"}",
    "{\"code\":\"ACCESORIO_PARA\",\"label\":\"Uso\",\"value\":\"TV\"}",
    "{\"code\":\"BASE_PARA_UBICAR_EN\",\"label\":\"Base Para Ubicar en\",\"value\":\"Exterior o Interior\"}",
    "{\"code\":\"TIPO_DE_BASE\",\"label\":\"Tipo de Base\",\"value\":\"Con Inclinaci\\u00F3n, Ecualizable\"}"
  ],
  "allcategories_string_mv": [
    "BI_AELE_ALKOS",
    "BI_123_ALKOS",
    "BI_0290_ALKOS",
    "accesorios-complementos-tv",
    "marcas",
    "kalley",
    "envios-rapidos-express",
    "complementos-tv",
    "ofertas-alkomprar",
    "ofertas",
    "ofertas-mundialistas"
  ],
  "img_310wx310h_string": null,
  "salesproducts_double": 1768948480000.0,
  "name_text_es": "Base KALLEY Brazo Flexible para televisores 23\" a 55\"",
  "popularity_int": 14139,
  "discountprice_double": 99900.0,
  "marca_text": "KALLEY",
  "brand_string_mv": [
    "KALLEY"
  ],
  "rangedaveragescore_string_mv": [
    "4",
    "3",
    "2",
    "1"
  ],
  "uso_accesorio_string_mv": null,
  "conexion_teclado_string_mv": null,
  "averagescore_double": 4.8839,
  "reviewavgrating_double": 5.0,
  "stocklevel_int": 8634,
  "bestfrequencyvalue_string": "Quincenales",
  "from_url": "https://www.alkosto.com/accesorios-electronica/c/BI_AELE_ALKOS"
}
```

Each scraped product returns a comprehensive record with 70+ fields spanning pricing, inventory, specifications, and engagement metrics:

#### Product Identification

| Field | Meaning |
|---|---|
| `Object ID` | Unique Alkosto product identifier |
| `Code String` | Internal product code or SKU |
| `Name ES` | Product name in Spanish |
| `URL ES` | Direct product page link |
| `Brand` | Manufacturer or brand name |
| `Marca` | Brand field (Spanish variant) |

#### Pricing & Discounts

| Field | Meaning |
|---|---|
| `Price COP` | Current selling price in Colombian Pesos |
| `Price Value COP` | Numeric price value without formatting |
| `Base Price COP` | Original/list price before discount |
| `Lowest Price` | Minimum price tracked historically |
| `Discount Price` | Discounted price (promotional) |
| `Percentage Discount` | Discount percentage (e.g., 15%) |
| `Is Variable Price` | Flag indicating price changes by variant/option |

#### Availability & Stock

| Field | Meaning |
|---|---|
| `In Stock Flag` | Boolean: product currently in stock |
| `Stock Level` | Quantity available |
| `Stock Level Status` | Status description (e.g., "In Stock", "Limited") |
| `Stock Exhibition` | Display inventory on product page |
| `Maximum Amount Available` | Maximum purchasable quantity per order |
| `Pickup Available Flag` | Whether in-store pickup is available |

#### Product Specifications

| Field | Meaning |
|---|---|
| `Category` | Primary product category |
| `Category Name ES` | Category name in Spanish |
| `Category Path` | Full hierarchical category path |
| `Hierarchical Category` | Structured category hierarchy |
| `All Categories` | All applicable categories for the product |
| `Gama Producto` | Product line/series (e.g., "Premium", "Budget") |
| `Linea Modelo` | Model line designation |
| `Tipo Base` | Base product type classification |
| `Key Features` | Primary product features and specifications |
| `Comparable Attributes` | Standardized attributes for comparison (e.g., color, size) |
| `Comparable Attributes Detailed` | Extended specification details |
| `Color` | Product color |
| `Tonalidad Exacta Color` | Exact color shade/tone |
| `Accesorio Uso` | Accessory usage category |
| `Uso Accesorio` | Spanish variant of accessory use |
| `Conexion Teclado` | Keyboard/connection type (if applicable) |
| `Tipo Producto Baterias Auto` | Product type for automotive batteries |
| `Tipo Producto Baterias Auto Sortable` | Sortable battery product type |
| `Tipo Limpieza Automotriz` | Automotive cleaning product type |
| `Base Ubicar` | Base location/placement category |
| `Alto Neveras` | Refrigerator height dimension |
| `Fondo Neveras` | Refrigerator depth dimension |
| `Data Layer Categories` | Analytics data layer categories |

#### Pricing & Payments

| Field | Meaning |
|---|---|
| `Payment Promotion` | Active payment/financing promotional offer |
| `Subcat Medios Pago` | Payment method subcategory |
| `Max Number Installments` | Maximum installment plan months available |
| `Best Installment Value` | Lowest installment price option |
| `Best Frequency Value` | Best payment frequency option |
| `Has Kasado Not Free` | Whether product has paid payment options (Alkosto-specific) |

#### Customer Engagement & Reviews

| Field | Meaning |
|---|---|
| `Total Reviews` | Number of customer reviews |
| `Average Score` | Average review rating (numeric) |
| `Review Avg Rating` | Average rating displayed on product page |
| `Range Average Score` | Rating range or distribution |
| `Popularity` | Popularity metric or rank |

#### Visibility & Status

| Field | Meaning |
|---|---|
| `Visible` | Whether the product is currently visible in search |
| `Presale` | Flag indicating pre-order/pre-sale status |
| `Is Installation Service` | Whether installation service is available |

#### Media & Images

| Field | Meaning |
|---|---|
| `Image 60x60` | Product thumbnail (60×60 pixels) |
| `Image 105x105` | Small image variant (105×105 pixels) |
| `Image 155x155` | Medium small image (155×155 pixels) |
| `Image 310x310` | Medium image (310×310 pixels) |
| `Image 750x750` | Large image (750×750 pixels) |
| `Image 820x820` | Extra-large image (820×820 pixels) |
| `Image 1400x1400` | High-resolution image (1400×1400 pixels) |

#### Administrative & Tracking

| Field | Meaning |
|---|---|
| `Created Date` | Product creation timestamp in system |
| `Last Updated Date` | Last modification date |
| `Last Updated By` | User/system that last modified the record |
| `Highlight Result` | Featured/highlighted result flag |
| `Ejemplo` | Example or sample indicator |
| `Sales Products` | Sales volume or bestseller indicator |

***

### How to Use

1. **Collect search URLs** — Navigate to Alkosto.com, apply filters or search for products, and copy the result page URLs (including page numbers and sorting parameters).

2. **Prepare the configuration** — Paste URLs into the `urls` array. Set `max_items_per_url` based on desired volume (20–200 items per page).

3. **Run the scraper** — Start the actor with your configuration and monitor progress in the run log.

4. **Monitor for errors** — If `ignore_url_failures` is enabled, the scraper will skip failed URLs and continue. Check the dataset for any missing data.

5. **Export results** — Download output as JSON, CSV, or Excel, then integrate into your analytics or pricing platform.

**Best practices:**

- Use pagination URLs (`?page=1`, `?page=2`, etc.) for large result sets
- Include sorting parameters (`sort=relevance`, `sort=price`) to ensure consistent ordering
- Set reasonable `max_items_per_url` limits (50–100) for stable performance
- Schedule recurring runs to track price and stock changes over time

**Common issues:**

- If no data is returned, verify the URL is a search/listing page, not a single product page
- Alkosto may load products dynamically; ensure your URLs are direct links, not AJAX-dependent
- Use `ignore_url_failures: true` for bulk runs to prevent interruptions

***

### Use Cases & Business Value

- **Competitive pricing analysis:** Monitor competitor prices and promotional strategies in real-time
- **Price tracking systems:** Feed Alkosto data into price monitoring platforms and dashboards
- **Inventory management:** Track stock levels, availability, and product variants across categories
- **Market research:** Analyze product trends, popularity, and customer satisfaction scores
- **Product content syndication:** Build product catalogs for comparison sites or marketplace aggregators

By automating product data extraction, the Alkosto scraper eliminates manual work, enabling faster decision-making and data-driven insights into the Colombian e-commerce market.

***

### Conclusion

The **Alkosto Product Search Scraper** is a powerful tool for anyone needing structured e-commerce product data from Colombia's largest online retailer. With 70+ data fields covering prices, stock, specifications, and customer engagement metrics, it transforms search results into actionable intelligence. Start scraping today and unlock competitive advantages through data-driven retail intelligence.

# Actor input Schema

## `urls` (type: `array`):

Add the URLs of the product search list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.

## `ignore_url_failures` (type: `boolean`):

If true, the scraper will continue running even if some URLs fail to be scraped.

## `max_items_per_url` (type: `integer`):

The maximum number of items to scrape per URL.

## Actor input object example

```json
{
  "urls": [
    "https://www.alkosto.com/accesorios-electronica/c/BI_AELE_ALKOS?page=2&sort=relevance"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "urls": [
        "https://www.alkosto.com/accesorios-electronica/c/BI_AELE_ALKOS?page=2&sort=relevance"
    ],
    "ignore_url_failures": true,
    "max_items_per_url": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("stealth_mode/alkosto-product-search-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "urls": ["https://www.alkosto.com/accesorios-electronica/c/BI_AELE_ALKOS?page=2&sort=relevance"],
    "ignore_url_failures": True,
    "max_items_per_url": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("stealth_mode/alkosto-product-search-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "urls": [
    "https://www.alkosto.com/accesorios-electronica/c/BI_AELE_ALKOS?page=2&sort=relevance"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}' |
apify call stealth_mode/alkosto-product-search-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=stealth_mode/alkosto-product-search-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/xreQwFu3IIiZWL2tx/builds/j9DzGISkBiSZNn7dU/openapi.json
