# Goldapple Product Search Scraper (`stealth_mode/goldapple-product-search-scraper`) Actor

Scrape product listings from Goldapple.ru — Russia's leading beauty retailer. Collect prices, brand info, stock status, images, reviews, and 20+ fields per product from any search or category page. Perfect for price monitoring and market research.

- **URL**: https://apify.com/stealth\_mode/goldapple-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, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.50 / 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 a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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

## Goldapple.ru Product Scraper: Extract Beauty & Cosmetics Data at Scale

---

### What Is Goldapple.ru?

Goldapple (goldapple.ru) is one of Russia's largest specialty beauty and cosmetics retail platforms, offering thousands of products across skincare, makeup, fragrance, and wellness categories. The platform hosts both domestic and international brands, making it a valuable source for competitive pricing data, product assortment research, and market intelligence in the Russian beauty sector.

Manually collecting product data from Goldapple's catalog is impractical at scale — the **Goldapple.ru Product Search Scraper** automates extraction from any search or category listing page.

---

### Overview

The **Goldapple Product Scraper** is built for anyone who needs structured product data from Goldapple.ru at volume. It targets search results and category pages, collecting up to 200 items per URL in a single run.

Ideal users include:

- **E-commerce analysts** tracking competitor pricing and assortment
- **Brand managers** monitoring how their products are listed and labeled
- **Market researchers** studying the Russian beauty retail landscape
- **Developers** building price comparison or product aggregator tools

---

### Input Format

The scraper accepts a JSON configuration:

```json
{
  "ignore_url_failures": true,
  "max_items_per_url": 200,
  "urls": [
    "https://goldapple.ru/novye-brendy?p=3"
  ]
}
````

| Field | Type | Description |
|---|---|---|
| `urls` | `array` | URLs of Goldapple product search or category listing pages to scrape. Add one per line or use bulk edit. Example: `https://goldapple.ru/novye-brendy?p=3` |
| `max_items_per_url` | `integer` | Maximum number of products to collect per URL. Default: `20`. Set higher (e.g., `200`) for full category coverage. |
| `ignore_url_failures` | `boolean` | If `true`, the scraper continues running when individual URLs fail instead of stopping the entire run. Default: `true`. Recommended for bulk jobs. |

> **Tip:** Goldapple uses pagination via `?p=N` query parameters. You can add multiple paginated URLs to `urls` to cover an entire category.

***

### Output Format

#### Sample Output Record

```json
{
  "price": {
    "regular": {
      "currency": "RUB",
      "amount": 3900,
      "denominator": 1
    },
    "actual": {
      "currency": "RUB",
      "amount": 3900,
      "denominator": 1
    },
    "old": null,
    "view_options": {
      "price_from": false,
      "cross_price": false,
      "use_discount": false,
      "discount_percent": 0
    },
    "has_loyalty": false
  },
  "item_id": "99000142380",
  "main_variant_item_id": "99000142380",
  "name": "Longevity",
  "product_type": "Антивозрастная сыворотка для лица",
  "type": "Product",
  "brand": "Aminu",
  "image_urls": [
    {
      "url": "https://pcdn.goldapple.ru/p/p/99000142380/web/696d674d61696e5f62633665393037636231633134656433623962383535376331356637643833398de75ed0f84f20d${screen}.${format}",
      "format": [
        "webp",
        "jpg"
      ],
      "screen": [
        "fullhd"
      ]
    },
    {
      "url": "https://pcdn.goldapple.ru/p/p/99000142380/web/696d67416464315f39373937316431663364383034353338616361366234393763363434653061338de75ec9946ac52${screen}.${format}",
      "format": [
        "webp",
        "jpg"
      ],
      "screen": [
        "fullhd"
      ]
    },
    {
      "url": "https://pcdn.goldapple.ru/p/p/99000142380/web/696d67416464335f64316137396565353166336334393233626665653362373562653839343836338de75ec78c8d4a8${screen}.${format}",
      "format": [
        "webp",
        "jpg"
      ],
      "screen": [
        "fullhd"
      ]
    }
  ],
  "favourite": false,
  "attributes": {
    "units": {
      "count": 1,
      "values": [
        "30"
      ],
      "current_unit_value": "30",
      "name": "мл"
    },
    "colors": {
      "count": 0,
      "values": [],
      "name": ""
    }
  },
  "labels": [
    {
      "id": "BrandIsNew",
      "group": "standard",
      "resource": {
        "resource_url": {
          "url": "https://pcdn.goldapple.ru/p/sl/5374616e646172645f4272616e6449734e6577/6c6162656c3634646235386639383633393863663730326431376330638db9d7dbf7601dc.png",
          "format": [],
          "screen": []
        },
        "resource_type": "image"
      }
    }
  ],
  "is_adult": false,
  "in_stock": true,
  "url": "/99000142380-aminu-longevity",
  "configurable": false,
  "need_online_consultation": false,
  "available_in_country": true,
  "reviews": {
    "rating": 5,
    "reviews_count": 2
  },
  "beauties_prelaunch": false,
  "has_subscription": false,
  "dolyame": [
    {
      "amount": 975,
      "currency": "RUB",
      "denominator": 1
    },
    {
      "amount": 975,
      "currency": "RUB",
      "denominator": 1
    },
    {
      "amount": 975,
      "currency": "RUB",
      "denominator": 1
    },
    {
      "amount": 975,
      "currency": "RUB",
      "denominator": 1
    }
  ],
  "scope": "product",
  "from_url": "https://goldapple.ru/novye-brendy?p=3"
}
```

Each product record contains 22 fields:

#### Pricing & Identification

| Field | Meaning |
|---|---|
| `Price` | Current retail price of the product (may reflect sale or regular price) |
| `Item ID` | Unique internal Goldapple identifier for the specific SKU |
| `Main Variant Item ID` | ID of the parent/default variant if the product has multiple configurations (e.g., shades, sizes) |
| `URL` | Direct link to the product detail page |

#### Product Information

| Field | Meaning |
|---|---|
| `Name` | Full product name as displayed on the listing |
| `Brand` | Brand name associated with the product |
| `Product Type` | High-level product category (e.g., skincare, makeup) |
| `Type` | More granular product classification |
| `Attributes` | Additional product characteristics (e.g., volume, shade, ingredients flags) |
| `Labels` | Promotional or editorial tags applied to the product (e.g., "New", "Bestseller", "Sale") |
| `Image URLs` | Array of product image URLs for visual reference or catalog use |

#### Availability & Eligibility

| Field | Meaning |
|---|---|
| `In Stock` | Boolean indicating whether the product is currently available for purchase |
| `Available In Country` | Whether the product is available in the user's or target country |
| `Is Adult` | Flags products restricted to adult buyers |
| `Configurable` | Whether the product has selectable variants (e.g., color, size) |
| `Need Online Consultation` | Indicates products that require a consultation before purchase |

#### Commerce & Engagement

| Field | Meaning |
|---|---|
| `Favourite` | Indicates whether the product is saved/favorited (may reflect popularity signals) |
| `Reviews` | Review count or summary data associated with the product |
| `Has Subscription` | Whether the product is available via a subscription/replenishment program |
| `Dolyame` | Indicates eligibility for Dolyame — a Russian BNPL (buy now, pay later) installment service |
| `Scope` | Internal scope or visibility context of the listing |
| `Beauties Prelaunch` | Flags products in pre-launch status within the Beauties loyalty/preview program |

***

### How to Use

1. **Find a target page** — Browse Goldapple.ru and navigate to a category or search results page. Copy the URL including any filters or pagination (e.g., `?p=2`).
2. **Configure input** — Paste URLs into the `urls` array. Set `max_items_per_url` to control how many products are collected per page.
3. **Run the scraper** — Start the actor and monitor progress in the run log.
4. **Export data** — Download results as JSON, CSV, or Excel.

**Tips:**

- Add multiple paginated URLs (e.g., `?p=1`, `?p=2`, `?p=3`) to scrape an entire category.
- Keep `ignore_url_failures: true` when running large batches to avoid interruptions from occasional page errors.
- For price monitoring, schedule recurring runs and compare output across dates.

***

### Use Cases & Business Value

- **Price intelligence:** Track pricing changes across Goldapple's beauty catalog over time
- **Assortment analysis:** Understand which brands and product types dominate specific categories
- **Stock monitoring:** Identify out-of-stock trends for supply chain or purchasing decisions
- **Label tracking:** Monitor which products receive promotional labels like "Bestseller" or "New"

***

### Conclusion

The **Goldapple.ru Product Search Scraper** delivers clean, structured product data from one of Russia's most comprehensive beauty platforms. With 22 output fields covering pricing, availability, branding, and commerce metadata, it enables scalable market research and competitive analysis without manual effort.

# 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.

## `proxy` (type: `object`):

Select proxies to be used by your scraper.

## Actor input object example

```json
{
  "urls": [
    "https://goldapple.ru/novye-brendy?p=3"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "RU"
  }
}
```

# 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://goldapple.ru/novye-brendy?p=3"
    ],
    "ignore_url_failures": true,
    "max_items_per_url": 20,
    "proxy": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "RU"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("stealth_mode/goldapple-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://goldapple.ru/novye-brendy?p=3"],
    "ignore_url_failures": True,
    "max_items_per_url": 20,
    "proxy": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "RU",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("stealth_mode/goldapple-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://goldapple.ru/novye-brendy?p=3"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "RU"
  }
}' |
apify call stealth_mode/goldapple-product-search-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Goldapple Product Search Scraper",
        "description": "Scrape product listings from Goldapple.ru — Russia's leading beauty retailer. Collect prices, brand info, stock status, images, reviews, and 20+ fields per product from any search or category page. Perfect for price monitoring and market research.",
        "version": "0.0",
        "x-build-id": "TeMVq7CYIibt6ZAUG"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/stealth_mode~goldapple-product-search-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-stealth_mode-goldapple-product-search-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/stealth_mode~goldapple-product-search-scraper/runs": {
            "post": {
                "operationId": "runs-sync-stealth_mode-goldapple-product-search-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/stealth_mode~goldapple-product-search-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-stealth_mode-goldapple-product-search-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "urls": {
                        "title": "URLs of the product search list urls to scrape",
                        "type": "array",
                        "description": "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.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "ignore_url_failures": {
                        "title": "Continue running even if some URLs fail to be scraped",
                        "type": "boolean",
                        "description": "If true, the scraper will continue running even if some URLs fail to be scraped."
                    },
                    "max_items_per_url": {
                        "title": "Max items per URL",
                        "type": "integer",
                        "description": "The maximum number of items to scrape per URL."
                    },
                    "proxy": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Select proxies to be used by your scraper."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
