# Epicenter Category Scraper (`nazar/epicenter-category-scraper`) Actor

Scrapes product details and categories from Epicenter.ua. Supports category URLs and outputs clean JSON with price, rating, availability, and seller info. Ideal for analytics, price tracking, and data feeds.

- **URL**: https://apify.com/nazar/epicenter-category-scraper.md
- **Developed by:** [Midas](https://apify.com/nazar) (community)
- **Categories:** E-commerce, Automation, Other
- **Stats:** 12 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$2.00 / 1,000 push products

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

## 🛍️ Epicentrk UA Product Scraper

This actor scrapes product categories information from Epicentrk.ua.

### ✅ Why use this?

- Get structured JSON data for products on epicentrk.ua in two languages
- Includes pricing, availability, ratings, images, and seller info
- Supports multiple categories and individual product URLs
- Great for e-commerce analytics, price monitoring, or product research

### 📥 Input

```json
{
  "startUrls": [
    { "url": "https://epicentrk.ua/ua/shop/laminat/" }
  ]
}
````

### 📤 Output

Each item in the dataset contains:

```json
{
    "id": "000491552",
    "productId": 500890,
    "name": "Відро будівельне IWIR 12 л",
    "categoryId": 2657,
    "seller": "epicentrk",
    "url": "https://epicentrk.ua/ua/shop/vedro-stroitelnoe-iwir-12-l.html",
    "price": "70.6",
    "oldPrice": "83",
    "measure": "шт.",
    "rating": 4.3,
    "commentsCount": 3,
    "bonuses": 0,
    "bonusesType": null,
    "delivery": {
        "inMarket": true,
        "pickup": true,
        "delivery": true
    },
    "badge": {
        "type": 1,
        "backgroundColor": "#FF5252",
        "title": "Акція -14%"
    },
    "wobblers": [
        {
            "id": 1735,
            "img": "https://epicentrk.ua/upload/wobbler/311/privat_Visa.svg",
            "text": "-5% з ПриватБанк VISA",
            "type": 156,
            "grace": null,
            "popup": {
                "description": "<p><span style=\"color: rgb(83, 92, 105);\">Оплатіть картками ПриватБанк&nbsp;Visa «Універсальна» / «Універсальна Gold», преміальна і отримайте економію 5% на товари.</span></p><p><strong style=\"color: rgb(83, 92, 105);\">Для участі в акції:</strong></p><ol><li><span style=\"color: rgb(83, 92, 105);\">Оберіть товари на сайті epicentrk.ua або в мобільному застосунку Epicentr.</span></li><li><span style=\"color: rgb(83, 92, 105);\">Оформіть замовлення* та оберіть зручний спосіб доставки (на всі Центри видачі замовлень і поштомати Епіцентру – доставка безкоштовна).</span></li><li><span style=\"color: rgb(83, 92, 105);\">Оберіть акційний спосіб оплати «-5% з ПриватБанком і Visa з карткою Visa «Універсальна»/преміальна».</span></li><li><span style=\"color: rgb(83, 92, 105);\"> Зробіть оплату карткою Visa «Універсальна»/преміальна від ПриватБанку для отримання економії на товари.</span></li></ol><p><strong style=\"color: rgb(83, 92, 105);\"><em>*в акції приймають участь товари відмічені позначкою \"-5% з Visa від Приватбанк\".</em></strong></p><p><span style=\"color: rgb(83, 92, 105);\">Економія 5% на товари діє з 1 липня по 30 вересня 2025 року включно на всій території України, окрім тимчасово окупованих територій. Пропозиція поширюється на обрані товари та доступна для клієнтів за умови оплати картками ПриватБанк Visa «Універсальна»/преміальна.</span></p><p><a href=\"https://epicentrk.ua/ua/actions/ekonomiia-pry-oplati-kartkoiu-viza-universalna-premialna.html#description\" rel=\"noopener noreferrer\" target=\"_blank\" style=\"color: rgb(83, 92, 105);\">Детальніше</a></p>",
                "showImage": 1,
                "name": "-5% з ПриватБанк VISA"
            },
            "nameWeb": "-5% з ПриватБанк VISA",
            "imageWeb": "/upload/uf/995/privat_Visa.svg",
            "color": "#000000",
            "bonus": null
        }
    ],
    "properties": [
        {
            "id": 7994,
            "name": "Форма",
            "values": "кругла"
        },
        {
            "id": 104,
            "name": "Об'єм",
            "values": "12"
        },
        {
            "id": 7992,
            "name": "Вид ємності",
            "values": "відро будівельне"
        }
    ],
    "isParametrized": false,
    "parameters": null,
    "img": {
        "url": "https://cdn.27.ua/190/a4/9a/500890_2.jpeg",
        "bigImageUrl": "https://cdn.27.ua/190/a4/9a/500890_2.jpeg",
        "alt": "Відро будівельне IWIR 12 л"
    },
    "colorHex": null,
    "images": [
        {
            "url": "https://cdn.27.ua/799/a4/9a/500890_2.jpeg",
            "bigImageUrl": "https://cdn.27.ua/original/a4/9a/500890_2.jpeg",
            "alt": "Відро будівельне IWIR 12 л - фото 1"
        },
        {
            "url": "https://cdn.27.ua/799/a4/9a/500890_3.jpeg",
            "bigImageUrl": "https://cdn.27.ua/original/a4/9a/500890_3.jpeg",
            "alt": "Відро будівельне IWIR 12 л - фото 2"
        }
    ],
    "availabilityStatus": {
        "code": 100,
        "name": "Готовий до відправки"
    },
    "merchantId": null,
    "modelsCount": 1,
    "additionalProperties": {
        "productType": null,
        "babybox": null,
        "kvi": null,
        "monCheri": null,
        "weight": 350
    },
    "inFavorite": false,
    "inCompare": false,
    "promocode": null,
    "articlePotamus": "20911203",
    "article1C": "000491552",
    "parentId": 500890,
    "sectionsUa": "Інструменти та обладнання Малярний та оздоблювальний інструмент",
    "nameUa": "Відро будівельне IWIR 12 л",
    "vendorUa": "Інше",
    "measureRatio": null,
    "markdown": null,
    "urlTak": null,
    "delivery-v3": null
}
```

# Actor input Schema

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

Enter the start URLs for a Epicentrk categories to begin crawling.

## `language` (type: `string`):

Select the language for the review content.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://epicentrk.ua/ua/shop/emkosti-stroitelnye/fs/forma-kruglaya/"
    }
  ],
  "language": "ua"
}
```

# 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": [
        {
            "url": "https://epicentrk.ua/ua/shop/emkosti-stroitelnye/fs/forma-kruglaya/"
        }
    ],
    "language": "ua"
};

// Run the Actor and wait for it to finish
const run = await client.actor("nazar/epicenter-category-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": [{ "url": "https://epicentrk.ua/ua/shop/emkosti-stroitelnye/fs/forma-kruglaya/" }],
    "language": "ua",
}

# Run the Actor and wait for it to finish
run = client.actor("nazar/epicenter-category-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": [
    {
      "url": "https://epicentrk.ua/ua/shop/emkosti-stroitelnye/fs/forma-kruglaya/"
    }
  ],
  "language": "ua"
}' |
apify call nazar/epicenter-category-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Epicenter Category Scraper",
        "description": "Scrapes product details and categories from Epicenter.ua. Supports category URLs and outputs clean JSON with price, rating, availability, and seller info. Ideal for analytics, price tracking, and data feeds.",
        "version": "0.0",
        "x-build-id": "fU34NTSBIIEoZlQeq"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/nazar~epicenter-category-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-nazar-epicenter-category-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/nazar~epicenter-category-scraper/runs": {
            "post": {
                "operationId": "runs-sync-nazar-epicenter-category-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/nazar~epicenter-category-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-nazar-epicenter-category-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",
                "required": [
                    "startUrls"
                ],
                "properties": {
                    "startUrls": {
                        "title": "Epicentrk Start URLs",
                        "type": "array",
                        "description": "Enter the start URLs for a Epicentrk categories to begin crawling.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "language": {
                        "title": "Language",
                        "enum": [
                            "ua",
                            "ru"
                        ],
                        "type": "string",
                        "description": "Select the language for the review content.",
                        "default": "ua"
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
