# Ripley Scraper ✨🛒 (`natanielsantos/ripley-scraper`) Actor

Easily scrape Ripley's product data. You can use it to extract name, prices, images, description, details and more ✨🛒

- **URL**: https://apify.com/natanielsantos/ripley-scraper.md
- **Developed by:** [Nataniel Santos](https://apify.com/natanielsantos) (community)
- **Categories:** Automation, Developer tools, E-commerce
- **Stats:** 3 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.

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

### 🔍 What does Ripley Scraper do?

The **Ripley Scraper** is a tool that allows you to easily extract detailed product data from simple.ripley.cl and simple.ripley.com.pe. With this scraper, you can gather information such as product names, prices, descriptions, and more, all in a structured format for your analysis or business needs.

***

### ✨ What Does This Tool Do?

- 📊 Scrape using product URLs, category URLs or search results URLs
- ⚡ Fast and reliable scraping
- 🧑‍💻 Perfect for non-technical users
- 🔒 No need for authentication
- 🔄 Automatically handles retries for failed requests
- 📦 Outputs data in JSON format for easy integration with other tools

***

### 🎯 Who Is This For?

- Market research and competitor analysis
- Academic research on e-commerce trends
- Data collection for business intelligence
- Building datasets for machine learning models
- Price comparison websites

***

### ⬇️ What You Need to Provide

- 🔗 **Start URLs** from Ripley
  You can provide the scraper with the following types of URLs:
  - Product URLs (e.g. `https://simple.ripley.cl/notebook-hp-15-fd0010la-intel-core-i3-8gb-ram-512gb-ssd-156-2000404023191p`)
  - Category URLs (e.g. `https://simple.ripley.cl/tecno/computacion`)
  - Search Results URLs (e.g. `https://simple.ripley.com.pe/search/shirt?maxPrice=230&minPrice=160&facet%3DG%C3%A9nero=Hombre&facet%3DVendido%20por=Marketplace&sort=relevance_desc&page=1`)
  - Share URLs (e.g. `https://simple.ripley.cl/2000404023191`)
- 📊 **Max Items**: The maximum number of items to scrape per URL (default is 100)

💡 Tip: You can add filters (min and max prices, sort, brand etc.) on Ripley's website and copy the URL

***

### 💡 Example Input

```json
{
  "startUrls": [
    "https://simple.ripley.cl/notebook-hp-15-fd0010la-intel-core-i3-8gb-ram-512gb-ssd-156-2000404023191p?cat=comput_acion&pos=2&p=1&ps=48&ists=true&tsi=yOWQXQoQBpjMUUldeaK8BAyN-BCk-RIQAZw0ZddNcOCBNgPXI8Mk3xoQAZrGDsvrfnCMyHylstY4wCIoCiQ1YjAxMTNiZS1hMzE1LTQ4MmYtYjFiNi1kMTJmNTRkN2YwZWMQATCwnHxAUEgBUJSxh-_EM2BQ"
  ],
  "maxItems": 100
}
```

***

### 📦 What You’ll Get (Output)

Each product result includes:

- **🛒 Product Info** - url, ID, name, variants, brand, categories and more
- **💰 Pricing** - market price, sale price, discount percentage
- **📸 Images** - main image and variant images
- **⭐ Reviews** - average rating and review count
- **📜 Descriptions** - short and long descriptions
- **🔖 Specifications** - key-value pairs of product specifications
- **🏪 Shop Info** - shop name and ID

***

### 📥 Output Example

```json
{
    "url": "https://simple.ripley.cl/notebook-hp-15-fd0010la-intel-core-i3-8gb-ram-512gb-ssd-156-2000404023191p?cat=comput_acion&pos=2&p=1&ps=48&ists=true&tsi=yOWQXQoQBpjMUUldeaK8BAyN-BCk-RIQAZw0ZddNcOCBNgPXI8Mk3xoQAZrGDsvrfnCMyHylstY4wCIoCiQ1YjAxMTNiZS1hMzE1LTQ4MmYtYjFiNi1kMTJmNTRkN2YwZWMQATCwnHxAUEgBUJSxh-_EM2BQ",
    "productId": "2000404023191P",
    "name": "NOTEBOOK HP 15-FD0010LA INTEL CORE I3 8GB RAM 512GB SSD 15.6”",
    "mainImage": "https://rimage.ripley.cl/home.ripley/Attachment/WOP/1/2000404023191/full_image-2000404023191",
    "productType": "ItemBean",
    "shortDescription": "Notebbok Intel® Core™ i3 8GB Ram 512GB SSD 15.6”/Plata/",
    "longDescription": "<h2>NOTEBOOK HP 15-FD0010LA INTEL CORE I3 8GB RAM 512 SSD 15.6” </h2><div id=\"contenidoIndexado\"></div> <script type=\"text/javascript\" src=\"https://storage.googleapis.com/indexado/assets/alquimioIndexado.v2.js\" data-ean=\"197497202519\" data-lang=\"esCL\"></script> ",
    "manufacturer": "HP",
    "rating": 4.45,
    "reviewCount": 20,
    "variants": [
        {
            "sku": "2000404023191",
            "attributes": [
                {
                    "name": "Color",
                    "value": "Plata"
                }
            ],
            "images": [
                "https://rimage.ripley.cl/home.ripley/Attachment/WOP/1/2000404023191/full_image-2000404023191",
                "https://rimage.ripley.cl/home.ripley/Attachment/WOP/1/2000404023191/image1-2000404023191",
                "https://rimage.ripley.cl/home.ripley/Attachment/WOP/1/2000404023191/image2-2000404023191",
                "https://rimage.ripley.cl/home.ripley/Attachment/WOP/1/2000404023191/image3-2000404023191",
                "https://rimage.ripley.cl/home.ripley/Attachment/WOP/1/2000404023191/image4-2000404023191",
                "https://rimage.ripley.cl/home.ripley/Attachment/WOP/1/2000404023191/image5-2000404023191",
                "https://rimage.ripley.cl/home.ripley/Attachment/WOP/1/2000404023191/image6-2000404023191",
                "https://rimage.ripley.cl/home.ripley/Attachment/WOP/1/2000404023191/image7-2000404023191",
                "https://rimage.ripley.cl/home.ripley/Attachment/WOP/1/2000404023191/image8-2000404023191",
                "https://rimage.ripley.cl/home.ripley/Attachment/WOP/1/2000404023191/image9-2000404023191"
            ],
            "isPublished": true,
            "marketPrice": 629990,
            "salePrice": 449990,
            "currency": "CLP",
            "discountPercentage": 32,
            "inStock": true
        }
    ],
    "shopName": "Shop Ecsa",
    "shopId": "83382700-6",
    "isPublished": true,
    "breadcrumbs": [
        {
            "label": "Tecno",
            "code": "tecno"
        },
        {
            "label": "Computación",
            "code": "comput_acion"
        },
        {
            "label": "Notebooks",
            "code": "note_books"
        }
    ],
    "specifications": [
        {
            "name": "Garantía",
            "value": "12 Meses"
        },
        {
            "name": "EAN",
            "value": "197497202519"
        },
        {
            "name": "Marca",
            "value": "HP"
        },
        {
            "name": "Modelo Procesador",
            "value": "N305"
        },
        {
            "name": "Velocidad Procesador (GHz)",
            "value": "3,8 GHz"
        },
        {
            "name": "Memoria RAM",
            "value": "8 GB"
        },
        {
            "name": "Tipo de Memoria Ram",
            "value": "DDR4"
        },
        {
            "name": "Tarjeta gráfica integrada",
            "value": "Intel UHD Graphics"
        },
        {
            "name": "Número Puertos HDMI",
            "value": "1"
        },
        {
            "name": "Cantidad puertos USB",
            "value": "3"
        },
        {
            "name": "Tipo de Batería",
            "value": "Batería Li-Po (Polímero de Lítio)"
        },
        {
            "name": "Peso (kg)",
            "value": "1.54"
        },
        {
            "name": "Ancho (cm)",
            "value": "35.98"
        },
        {
            "name": "Alto (cm)",
            "value": "1.86"
        },
        {
            "name": "Profundidad (cm)",
            "value": "23.6"
        }
    ],
    "categoryCode": "R190704000000"
}
```

***

### 🧩 Integrations and Ripley Scraper

This scraper can be connected with almost any cloud service or web app thanks to [integrations on the Apify platform](https://apify.com/integrations). You can integrate with Make, Zapier, Slack, Airbyte, GitHub, Google Sheets, Google Drive, [and more](https://docs.apify.com/integrations). Or you can use [webhooks](https://docs.apify.com/integrations/webhooks) to carry out an action whenever an event occurs, e.g. get a notification whenever Ripley Scraper successfully finishes a run.

***

### 🔌 Using Ripley Scraper with the Apify API

The Apify API gives you programmatic access to the Apify platform. The API is organized around RESTful HTTP endpoints that enable you to manage, schedule, and run Apify actors. The API also lets you access any datasets, monitor actor performance, fetch results, create and update versions, and more.

To access the API using Node.js, use the apify-client NPM package. To access the API using Python, use the apify-client PyPI package.

Check out the [Apify API reference](https://docs.apify.com/api/v2) docs for full details.

***

### 💬 Giving feedback

If you have any feature requests or bug reports, please create an issue on the [Issues page](https://apify.com/natanielsantos/ripley-scraper/issues) or contact me directly via email.

If you need a custom solution of this actor, reach out to me through my email: nathan.santos159@hotmail.com

# Actor input Schema

## `startUrls` (type: `array`):

URLs to start with. It can be product, category, search or share URLs from Ripley.

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

Maximum number of items to scrape per URL. The actor will paginate through the pages until this number is reached.

## Actor input object example

```json
{
  "startUrls": [
    "https://simple.ripley.cl/sweater-mujer-barbados-cinta-2000404900577?color_80=guinda&s=mdco&talla=s"
  ],
  "maxItems": 100
}
```

# Actor output Schema

## `overview` (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 = {
    "startUrls": [
        "https://simple.ripley.cl/sweater-mujer-barbados-cinta-2000404900577?color_80=guinda&s=mdco&talla=s"
    ],
    "maxItems": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("natanielsantos/ripley-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 = {
    "startUrls": ["https://simple.ripley.cl/sweater-mujer-barbados-cinta-2000404900577?color_80=guinda&s=mdco&talla=s"],
    "maxItems": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("natanielsantos/ripley-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 '{
  "startUrls": [
    "https://simple.ripley.cl/sweater-mujer-barbados-cinta-2000404900577?color_80=guinda&s=mdco&talla=s"
  ],
  "maxItems": 100
}' |
apify call natanielsantos/ripley-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/1eUred3Ma3sPSip5P/builds/QXHuxAa23Bdk6vA7C/openapi.json
