# Juleriaque Argentina Scraper - Perfumes, Precios y Stock (`latinamericadata/juleriaque-argentina`) Actor

Extrae perfumes y productos de belleza de Juleriaque Argentina. Obtén precios, stock, SKU, EAN, marcas, ofertas y URLs en Dataset, JSON, CSV, Excel o API.

- **URL**: https://apify.com/latinamericadata/juleriaque-argentina.md
- **Developed by:** [Latin America Data](https://apify.com/latinamericadata) (community)
- **Categories:** Automation, E-commerce, Integrations
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

## Juleriaque Argentina Scraper - Perfumes, Precios y Stock

Extraé perfumes y productos de belleza de Juleriaque Argentina por búsqueda o categoría y obtené precios, ofertas, stock, SKU, EAN, marcas, vendedores y URLs auditables. El Actor guarda los resultados en un Dataset de Apify listo para descargar como JSON, CSV o Excel, o para consumir desde una API.

Este scraper Juleriaque está preparado para búsquedas como **Juleriaque Argentina API**, **cremas Juleriaque**, **maquillaje Juleriaque**, **perfumes Juleriaque**, **precios de fragancias**, **stock de maquillaje**, **ofertas de belleza premium** y **comparador de perfumes Argentina**. La búsqueda predeterminada es `crema`; para relevamientos amplios, también podés recorrer categorías como fragancias, tratamiento, maquillaje, electro beauty y capilar.

Es una herramienta independiente: no es una API oficial de Juleriaque Argentina ni está afiliada, respaldada u operada por Juleriaque. Extrae información disponible públicamente y no accede a cuentas de clientes ni a datos privados.

### Para qué sirve este Actor

El Actor automatiza la consulta del catálogo público de Juleriaque Argentina y normaliza cada combinación de SKU y vendedor en una fila. Permite convertir búsquedas manuales de perfumes, cosmética y belleza en un flujo repetible, exportable y auditable.

| Objetivo | Cómo ayuda el Actor |
|---|---|
| Buscar productos | Consulta perfumes, marcas o palabras clave mediante `searchTerms`. |
| Recorrer categorías | Acepta IDs, rutas o URLs de categoría mediante `categories`. |
| Controlar el alcance | Limita resultados y páginas con `maxItems` y `maxPages`. |
| Auditar los datos | Conserva `source_url`, `request_url` y `scraped_at`. |
| Obtener más contexto | Con `withDetails` incorpora descripción, especificaciones, promociones y cuotas. |

### Casos de uso

- Monitoreo periódico de precios y stock de perfumes en Juleriaque Argentina.
- Seguimiento de ofertas, descuentos y precios de lista.
- Comparación de fragancias, maquillaje, tratamientos y productos capilares.
- Análisis de surtido y disponibilidad por marca, SKU y vendedor.
- Investigación de mercado para marcas, distribuidores y equipos de belleza.
- Alimentación de tableros, alertas, agentes y procesos ETL.
- Construcción de una capa de Juleriaque Argentina API para flujos internos, sin presentarla como una API oficial.

### Qué datos entrega

Cada fila exitosa representa una combinación de SKU y vendedor.

| Grupo | Campos principales | Contenido |
|---|---|---|
| Estado y origen | `status`, `country`, `source`, `input_type`, `input_value` | Estado técnico y objetivo que originó la fila. |
| Identificación | `product_id`, `sku_id`, `ean`, `product_name`, `sku_name` | IDs, EAN y nombres del producto. |
| Clasificación | `brand`, `category`, `categories` | Marca y jerarquía de categorías. |
| Precio y oferta | `price`, `list_price`, `discount_percent`, `currency` | Precio actual, precio de lista, descuento calculado y moneda. |
| Stock y vendedor | `available`, `available_quantity`, `seller_id`, `seller` | Disponibilidad informada y vendedor. |
| Detalles opcionales | `installment_count`, `installment_value`, `promotions`, `description`, `specifications` | Cuotas, promociones y contenido ampliado cuando `withDetails` está activo. |
| Evidencia | `image_url`, `source_url`, `request_url`, `scraped_at` | Imagen, URLs de origen y fecha de extracción. |

Las filas del Dataset tienen estado `success`. Los estados operativos `no_results`, `blocked` y `failed` se registran en `RUN_SUMMARY` y en los logs, lo que simplifica integraciones y controles automáticos sin crear resultados artificiales.

### Ejemplo de entrada

```json
{
  "searchTerms": ["crema"],
  "maxItems": 100,
  "withDetails": true
}
```

Para recorrer un segmento completo, usá una categoría:

```json
{
  "categories": ["https://www.juleriaque.com.ar/fragancias"],
  "maxPages": 2,
  "withDetails": false
}
```

También funcionan rutas como `maquillaje`, `tratamiento`, `electro-beauty` y `capilar`. Si omitís `maxItems` y `maxPages`, el Actor continúa hasta completar el alcance seleccionado.

### Resultado de ejemplo

Ejemplo simplificado con valores ilustrativos:

```json
{
  "status": "success",
  "country": "AR",
  "source": "Juleriaque Argentina",
  "input_type": "category",
  "input_value": "/fragancias",
  "page": 1,
  "rank": 1,
  "product_id": "10803",
  "sku_id": "10803",
  "ean": "3145891267808",
  "product_name": "Eau de parfum 50 ml",
  "sku_name": "Eau de parfum 50 ml",
  "brand": "Marca de ejemplo",
  "category": "Fragancias",
  "price": 155400,
  "list_price": 172700,
  "discount_percent": 10.02,
  "currency": "ARS",
  "available": true,
  "available_quantity": 12,
  "seller": "Juleriaque",
  "source_url": "https://www.juleriaque.com.ar/fragancia-producto-de-ejemplo/p",
  "request_url": "https://www.juleriaque.com.ar/api/catalog_system/pub/products/search/fragancias",
  "scraped_at": "2026-07-18T12:00:00Z",
  "error_message": null
}
```

### Inicio rápido

1. Abrí el Actor en Apify.
2. Cargá cremas, maquillaje, perfumes, marcas o productos en `searchTerms`, o indicá categorías en `categories`.
3. Definí `maxItems` o `maxPages` si querés acotar la ejecución.
4. Activá `withDetails` si necesitás descripciones, especificaciones, promociones y cuotas.
5. Ejecutá el Actor y revisá el Dataset o exportalo como JSON, CSV o Excel.

### Input

| Campo | Tipo | Valor predeterminado | Descripción |
|---|---|---|---|
| `searchTerms` | array de strings | `["crema"]` | Cremas, maquillaje, perfumes, marcas o palabras clave. |
| `categories` | array de strings | — | IDs, rutas o URLs completas de categoría. |
| `maxItems` | integer | sin límite | Máximo total de filas de SKU y vendedor. |
| `maxPages` | integer | sin límite | Máximo de páginas por búsqueda o categoría. |
| `startPage` | integer | `1` | Primera página solicitada a VTEX. |
| `pageSize` | integer | `50` | Productos solicitados por página. |
| `sortOrder` | string | `OrderByNameASC` | Orden determinista de los resultados. |
| `withDetails` | boolean | `true` | Agrega descripción, especificaciones, promociones y cuotas. |
| `includeUnavailable` | boolean | `false` | Incluye SKU y vendedores sin stock. |
| `requestDelayMillis` | integer | `100` | Demora entre solicitudes, en milisegundos. |
| `requestTimeoutSecs` | integer | `45` | Tiempo máximo de espera por solicitud. |
| `retries` | integer | `3` | Intentos máximos ante fallas transitorias. |
| `failOnNoResults` | boolean | `false` | Hace fallar la ejecución en vez de devolver `no_results`. |

### Precios

El Actor utiliza pago por evento con una tarifa plana y predecible.

| Evento | Precio y cuándo se cobra |
|---|---|
| `apify-default-dataset-item` (`result`, evento principal) | USD 0.003 por cada producto o SKU guardado en el Dataset predeterminado (USD 3.00 cada 1.000 resultados). |
| Actor start | USD 0.00005 al iniciar la ejecución. Es un evento sintético administrado por Apify; los primeros 5 segundos de uso no generan costo de plataforma. |

`result` es el evento principal que Apify usa para mostrar y comunicar el precio. `withDetails` entrega más campos pero mantiene el mismo precio por resultado. Las filas operativas con estado `no_results`, `blocked` o `failed` no se guardan ni se cobran como `result`: el diagnóstico queda en `RUN_SUMMARY` y en los logs. Una ejecución sin resultados puede conservar el cargo de Actor start.

Si el usuario define un cargo máximo para la ejecución, el Actor reduce preventivamente `maxItems` de acuerdo con la tarifa de USD 0.003 y respeta el límite más bajo entre ese cálculo y el `maxItems` solicitado. Si el límite no alcanza para un resultado, finaliza sin extraer ni guardar datos y registra `charge_limit_reached` con `results: 0` en `RUN_SUMMARY`. El uso de la plataforma Apify queda a cargo del usuario.

### API, agentes y exportaciones

Podés ejecutar el Actor desde Apify Console, programaciones, REST API, clientes de JavaScript o Python, MCP y flujos con agentes. El Dataset se consulta por API o se descarga como JSON, CSV y Excel.

En automatizaciones, esta salida funciona como una Juleriaque Argentina API orientada a perfumes, precios y stock: enviás el input, esperás la ejecución y consumís filas normalizadas. Es una interfaz creada por este Actor, no una API oficial de Juleriaque.

### Preguntas frecuentes

#### ¿Necesita inicio de sesión?

No. Consulta el catálogo público de Juleriaque y no accede a cuentas de clientes ni a información privada.

#### ¿Conviene buscar o recorrer categorías?

Usá `searchTerms` para productos o marcas puntuales. Para relevamientos amplios, `categories` suele ser más completo; por ejemplo, la ruta `fragancias` recorre la categoría íntegra.

#### ¿Cómo evita duplicados?

Usa paginación determinista y deduplica cada combinación de SKU y vendedor antes de guardar o cobrar el resultado.

#### ¿Qué pasa si no encuentra productos?

No agrega una fila artificial al Dataset. Deja el Dataset sin resultados y registra el estado `no_results` en `RUN_SUMMARY` y en los logs. Si activás `failOnNoResults`, la ejecución falla en ese escenario.

#### ¿Los precios y el stock son en tiempo real?

Son una captura del catálogo al momento indicado por `scraped_at`. Pueden cambiar después de la extracción y variar según ubicación, canal o condiciones comerciales.

### Fuente, límites y uso responsable

La fuente es el catálogo público de Juleriaque Argentina. La disponibilidad, los precios, las promociones y las cuotas pueden cambiar sin aviso. Algunas búsquedas literales pueden ser más acotadas que sus categorías equivalentes; para relevamientos extensos, preferí rutas como `fragancias`.

El Actor incorpora una demora configurable entre solicitudes. Usalo con una frecuencia razonable, verificá los datos antes de tomar decisiones y respetá los términos aplicables, la normativa vigente y los derechos sobre marcas y contenidos.

### Independencia

Este Actor es una herramienta de datos independiente. No está afiliado, respaldado, autorizado ni operado por Juleriaque Argentina. “Juleriaque” y las demás marcas mencionadas pertenecen a sus respectivos titulares.

# Actor input Schema

## `searchTerms` (type: `array`):

Uno o más productos, marcas o palabras clave para buscar.

## `categories` (type: `array`):

IDs de categoría VTEX, rutas como `fragancias` o URLs completas de categorías de Juleriaque. Este campo es opcional.

## `maxItems` (type: `integer`):

Cantidad máxima opcional de registros de SKU y vendedor que se guardarán entre todos los objetivos.

## `maxPages` (type: `integer`):

Límite opcional de páginas para cada búsqueda o categoría. Si lo omitís, la paginación continúa hasta agotar los resultados.

## `startPage` (type: `integer`):

Primera página de VTEX que se solicitará, comenzando desde 1.

## `pageSize` (type: `integer`):

Cantidad de productos solicitados a VTEX por página. VTEX admite hasta 50.

## `sortOrder` (type: `string`):

Un orden determinista evita productos duplicados entre páginas desplazadas de VTEX.

## `withDetails` (type: `boolean`):

Incluye descripción, especificaciones, promociones y datos de cuotas. El precio por resultado sigue siendo USD 0.003.

## `includeUnavailable` (type: `boolean`):

Incluye SKU y vendedores sin stock cuando esta opción está activada.

## `requestDelayMillis` (type: `integer`):

Demora respetuosa entre solicitudes de páginas de VTEX, expresada en milisegundos.

## `requestTimeoutSecs` (type: `integer`):

Cantidad máxima de segundos de espera para cada solicitud al catálogo.

## `retries` (type: `integer`):

Cantidad máxima de intentos ante una falla transitoria en una solicitud al catálogo.

## `failOnNoResults` (type: `boolean`):

Hace fallar la ejecución cuando no hay coincidencias. En caso contrario, el Dataset queda vacío y el estado `no_results` se guarda en `RUN_SUMMARY`.

## Actor input object example

```json
{
  "searchTerms": [
    "crema"
  ],
  "maxItems": 100,
  "startPage": 1,
  "pageSize": 50,
  "sortOrder": "OrderByNameASC",
  "withDetails": true,
  "includeUnavailable": false,
  "requestDelayMillis": 100,
  "requestTimeoutSecs": 45,
  "retries": 3,
  "failOnNoResults": false
}
```

# Actor output Schema

## `results` (type: `string`):

No description

## `summary` (type: `string`):

No description

# 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 = {
    "maxItems": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("latinamericadata/juleriaque-argentina").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 = { "maxItems": 100 }

# Run the Actor and wait for it to finish
run = client.actor("latinamericadata/juleriaque-argentina").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 '{
  "maxItems": 100
}' |
apify call latinamericadata/juleriaque-argentina --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=latinamericadata/juleriaque-argentina",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/p9gEAi2rw7cYTsA8q/builds/tqqPq0bN9zR4Pe71P/openapi.json
