# Farmacity Argentina (`latinamericadata/farmacity-product-scraper`) Actor

Extrae productos, precios en pesos argentinos, stock, promociones, descuentos, imagenes, categorias, EAN y datos SKU de Farmacity Argentina usando el catalogo publico VTEX.

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

## Pricing

from $3.00 / 1,000 farmacity product results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## Scraper de Farmacity Argentina

Extrae datos de productos de **Farmacity Argentina** en formato estructurado: precios en ARS, stock, descuentos, promociones, imagenes, categorias, EAN, marcas y datos SKU.

Este actor esta pensado para equipos de e-commerce, pricing, retail intelligence, analisis competitivo, category management, growth, marketplaces, laboratorios, droguerias, perfumerias y empresas que necesitan monitorear el catalogo online de Farmacity de forma recurrente.

El scraper usa el catalogo publico VTEX de Farmacity, por lo que es mas rapido y economico que una automatizacion con navegador.

### Que datos extrae

- Nombre del producto
- Nombre del SKU
- ID de producto y SKU
- Marca
- EAN / codigo de barras cuando esta disponible
- URL del producto
- Imagen principal
- Precio actual en pesos argentinos
- Precio de lista
- Porcentaje de descuento
- Disponibilidad y cantidad disponible
- Seller
- Categoria principal
- Ruta completa de categorias
- Promociones y destacados comerciales
- Especificaciones del producto
- Descripcion limpia del producto, opcional
- Fecha y hora del scraping
- URL de la consulta usada como fuente

### Casos de uso

- Monitorear precios de Farmacity Argentina.
- Detectar cambios de stock y disponibilidad.
- Seguir descuentos, ofertas y promociones.
- Analizar surtido por categoria, marca o linea de productos.
- Comparar precios de farmacia, dermocosmetica, perfumeria, cuidado personal y medicamentos de venta libre.
- Crear datasets para BI, dashboards, Google Sheets, CRMs, data warehouses o modelos de IA.
- Enriquecer catalogos internos con imagenes, EAN, categorias y datos SKU.

### Entrada

Podes buscar productos por terminos de busqueda, URLs de categoria o ambos.

```json
{
  "searchTerms": ["shampoo", "protector solar", "la roche posay"],
  "categoryUrls": ["https://www.farmacity.com/dermocosmetica"],
  "maxItems": 100,
  "pageSize": 50,
  "sort": "OrderByScoreDESC",
  "includeUnavailable": true,
  "includeDescription": true
}
```

Ejemplos utiles de categorias:

- `https://www.farmacity.com/dermocosmetica`
- `https://www.farmacity.com/cuidado-capilar/shampoo-y-acondicionador`
- `/maquillaje/ojos/mascaras`
- `/medicamentos-venta-libre/gripe-y-resfrio`

### Salida

Cada item del dataset representa un producto/SKU de Farmacity.

```json
{
  "status": "success",
  "country": "AR",
  "source": "farmacity.com",
  "source_url": "https://www.farmacity.com/shampoo-elvive-hialuronico-pure-x-400-ml/p",
  "scraped_at": "2026-06-09T01:00:00Z",
  "input_type": "search",
  "input_value": "shampoo",
  "product_id": "234384",
  "sku_id": "234384",
  "ean": "7509552876444",
  "product_name": "Shampoo Elvive Hialuronico Pure x 400 ml",
  "brand": "Elvive",
  "price": 6714,
  "list_price": 11190,
  "discount_percent": 40,
  "currency": "ARS",
  "available": true
}
```

### Precio

El pricing recomendado para Apify Store es **USD 0.003 por resultado**.

El actor escribe un item de dataset por cada producto/SKU devuelto, por lo que el cobro por resultado se alinea directamente con los registros visibles para el usuario final.

### Fuente

- Pais: Argentina
- Sitio: `https://www.farmacity.com/`
- Plataforma: VTEX
- Fuente tecnica: API publica de catalogo VTEX
- Navegador requerido: no

### Notas

- Los precios, descuentos y stock pueden variar por canal VTEX, sesion, region y promociones vigentes.
- El actor consulta informacion publica del catalogo online de Farmacity.
- No inicia sesion, no usa APIs privadas y no realiza compras.
- Los productos de salud se entregan solo como datos de catalogo. Este actor no entrega recomendaciones medicas.

# Actor input Schema

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

Free-text product searches, for example shampoo, protector solar, la roche posay, or pañales.

## `categoryUrls` (type: `array`):

Farmacity category URLs or paths, for example https://www.farmacity.com/dermocosmetica or /cuidado-capilar/shampoo-y-acondicionador.

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

Maximum number of product/SKU results to save across all searches and categories.

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

Number of products requested per VTEX page. Farmacity/VTEX is most reliable at 50 or lower.

## `sort` (type: `string`):

VTEX sorting option used by the catalog search endpoint.

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

When disabled, out-of-stock SKUs are skipped.

## `includeDescription` (type: `boolean`):

Extract and normalize the product description text from the VTEX HTML description field.

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

Optional delay between catalog requests to reduce pressure on the source site.

## `maxRetries` (type: `integer`):

Retries per VTEX request when Farmacity returns transient errors.

## Actor input object example

```json
{
  "searchTerms": [
    "shampoo"
  ],
  "categoryUrls": [],
  "maxItems": 50,
  "pageSize": 50,
  "sort": "OrderByScoreDESC",
  "includeUnavailable": true,
  "includeDescription": true,
  "requestDelayMillis": 250,
  "maxRetries": 2
}
```

# Actor output Schema

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

Farmacity Argentina product and SKU records saved to the default dataset.

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

Summary metadata saved to the default key-value store.

# 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 = {
    "searchTerms": [
        "shampoo"
    ],
    "categoryUrls": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("latinamericadata/farmacity-product-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 = {
    "searchTerms": ["shampoo"],
    "categoryUrls": [],
}

# Run the Actor and wait for it to finish
run = client.actor("latinamericadata/farmacity-product-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 '{
  "searchTerms": [
    "shampoo"
  ],
  "categoryUrls": []
}' |
apify call latinamericadata/farmacity-product-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

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