# Halfclub Product Search Scraper (`stealth_mode/halfclub-product-search-scraper`) Actor

Scrape detailed product information from Halfclub.com's search results in seconds. This powerful scraper captures 100+ data points per product including prices, seller details, images, ratings, and inventory metrics — perfect for price monitoring, market research, and competitive analysis.

- **URL**: https://apify.com/stealth\_mode/halfclub-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, 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.
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/docs.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.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/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

## Halfclub Product Search Scraper: Extract E-commerce Data at Scale

---

### What Is Halfclub.com?

Halfclub.com is a dynamic e-commerce platform hosting thousands of products across multiple categories, with competitive pricing and seller information. Whether you're conducting market research, monitoring competitor pricing, or building a product database, manually collecting this data is impractical. The **Halfclub Product Search Scraper** automates extraction, transforming search results into structured, analysis-ready datasets in minutes.

---

### Overview

The **Halfclub Product Search Scraper** extracts comprehensive product data from Halfclub's search and category pages, capturing 100+ fields per listing. It's built for:

- **E-commerce analysts** tracking pricing trends and competitor offerings
- **Market researchers** studying product availability and pricing strategies
- **Price monitoring services** automating daily price tracking across categories
- **Data aggregators** building product databases and comparison platforms
- **Business intelligence teams** analyzing market share and seller performance

The scraper handles pagination automatically, scales to hundreds of items per URL, and gracefully manages network failures without interrupting your entire run.

---

### Input Format

The scraper accepts a JSON configuration object specifying which product pages to scrape and how many items to collect:

```json
{
  "urls": [
    "https://halfclub.com/categories/32508"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 200
}
````

| Parameter | Type | Description |
|---|---|---|
| `urls` | Array | Halfclub.com category or search result page URLs. Use the full URL from your browser (e.g., `https://halfclub.com/categories/32508`). Supports multiple URLs per run. |
| `max_items_per_url` | Integer | Maximum number of products to extract per URL (default: 20, max: 200). Higher values capture more products but increase runtime. |
| `ignore_url_failures` | Boolean | If `true`, the scraper continues if individual URLs fail. If `false`, the entire run stops on the first error. Recommended: `true` for bulk operations. |

**Best practices:**

- Start with `max_items_per_url: 50` to test configuration before running full-scale scrapes.
- Use multiple category URLs to build comprehensive datasets across product types.

***

### Output Format

**Sample output**

```json
{
  "delivery_template_id": 51223,
  "seller_id": 104887,
  "seller_code": "A4887",
  "seller_name": "주식회사 에스코퍼슨스",
  "product_id": 343262107,
  "product_code": "P343262107",
  "sku": "23SHOE_HIGH",
  "product_name": "장마철 여성장화 워커 캐주얼 우산 우비 하이탑 스니커즈 중목 장화 23SHOE_HIGH",
  "product_type": "P",
  "product_type_code": "01",
  "master_product_id": null,
  "product_group_id": 1003063,
  "product_group_code": "1(KJ",
  "brand_display": "ㅌ^텐제로^BL108862",
  "brand_id": 108862,
  "brand_code": "BL108862",
  "brand_name": "텐제로",
  "brand_rank_code": "BL108862",
  "brand_initial": "ㅌ",
  "brand_weight": 0,
  "image_url": "",
  "image_path": "cdn/product/A4887/P343262107/1_P343262107_basic_1688695996920.jpg?format=webp&dt=20260626",
  "mobile_image_url": "https://cdn2.halfclub.com//rimg/330x440/contain/cdn/product/A4887/P343262107/1_P343262107_basic_1688695996920.jpg?format=webp&dt=20260626",
  "horizontal_image": "cdn/product/A4887/P343262107/1_P343262107_hztl_1688695996921.jpg",
  "mobile_horizontal_image_url": "https://cdn2.halfclub.com//cdn/product/A4887/P343262107/1_P343262107_hztl_1688695996921.jpg",
  "additional_image_1": "",
  "mobile_additional_image_1": "",
  "comparison_image": null,
  "comparison_image_url": null,
  "mobile_comparison_images": [],
  "original_price": 29900,
  "selling_price": 12900,
  "desktop_discount_price": 12900,
  "mobile_discount_price": 12900,
  "app_discount_price": 12900,
  "order_price": 0,
  "shipping_fee": 0,
  "bundled_shipping_fee": 0,
  "free_shipping_threshold": 0,
  "is_free_shipping": "Y",
  "is_free_shipping_pc": "Y",
  "is_free_shipping_mobile": "Y",
  "is_free_shipping_app": "Y",
  "is_bundle_shipping": "N",
  "delivery_type_code": "02",
  "review_count": 0,
  "review_rating": 0,
  "wishlist_count": 0,
  "order_quantity": 0,
  "order_weight": 0,
  "order_weight_3d": 0,
  "order_weight_7d": 50,
  "recommendation_weight_1": "2",
  "recommendation_weight_2": "0",
  "recommendation_weight_3": "0",
  "discount_rate_pc": 57,
  "discount_rate_mobile": 57,
  "discount_rate_app": 57,
  "signature_weight": 0,
  "created_at": "2026-06-25T20:34:46.000Z",
  "updated_at": "2026-06-25T20:40:00.269518Z",
  "last_sale_at": null,
  "season_year": "2023",
  "category_path": "008@109@스포츠^004@109003@스포츠슈즈^001@109003001@샌들/슬리퍼!008@109@스포츠^004@109003@스포츠슈즈^001@109003001@샌들/슬리퍼",
  "category_level_1": "스포츠",
  "category_level_2": "스포츠슈즈",
  "category_level_3": "샌들/슬리퍼",
  "category_ids_level_1": [
    "109"
  ],
  "category_ids_level_2": [
    "109003"
  ],
  "category_ids_level_3": [
    "109003001"
  ],
  "display_category_level_3": "샌들/슬리퍼",
  "zone_category_id": "23230",
  "zone_category_name": "스포츠",
  "display_type": "PC+모바일",
  "display_channel_code": "01",
  "site_code": "1",
  "md_id": 106809,
  "md_name": "",
  "team_name": "",
  "color_code": "ZZ9",
  "is_gift": null,
  "is_adult_only": "N",
  "is_deleted": "N",
  "supports_installment": "N",
  "interest_free_installment": "N",
  "coupon_available_pc": "N",
  "coupon_available_mobile": "N",
  "coupon_available_app": "N",
  "mobile_product_url": "http://m.halfclub.com/product/343262107",
  "mobile_brand_url": "http://m.halfclub.com/brand/BL108862",
  "product_keywords": "Fall TENZERO Winter 가을 겨울 여성 텐제로",
  "search_keywords": "텐제로 장마철 여성장화 워커 캐주얼 우산 우비 하이탑 스니커즈 중목 장화 23SHOE_HIGH 스포츠 스포츠슈즈 Fall TENZERO Winter 가을 겨울 여성 텐제로 ",
  "product_filters": null,
  "stock_filters": [
    "3000281887060@AT114001^블랙@@@@AT104003^230@@",
    "3000281887061@AT114001^블랙@@@@AT104005^240@@",
    "3000281887063@AT114001^블랙@@@@AT104007^250@@",
    "3000281887064@AT114012^핑크@@@@AT104003^230@@",
    "3000281887065@AT114012^핑크@@@@AT104005^240@@",
    "3000281887066@AT114012^핑크@@@@AT104007^250@@",
    "3000281887067@AT114015^베이지@@@@AT104003^230@@",
    "3000281887068@AT114015^베이지@@@@AT104005^240@@",
    "3000281887069@AT114015^베이지@@@@AT104007^250@@",
    "3000281887070@AT114007^그린@@@@AT104003^230@@",
    "3000281887071@AT114007^그린@@@@AT104005^240@@",
    "3000281887072@AT114007^그린@@@@AT104007^250@@"
  ],
  "sales_summary": {
    "last_3_days_sales": 0.0,
    "popular_score": 0.8541375957415955,
    "last_3_days_qty": 0.0,
    "last_1_day_qty": 0.0,
    "last_30_days_qty": 2.0,
    "prd_no": 343262107,
    "last_7_days_sales": 12149.0,
    "last_1_day_sales": 0.0,
    "last_90_days_qty": 4.01,
    "last_7_days_qty": 1.0,
    "@timestamp": "2026-06-25T20:04:40.263945+00:00",
    "last_30_days_sales": 25049.0,
    "last_90_days_sales": 44797.74,
    "last_14_days_qty": 2.0,
    "last_14_days_sales": 25049.0
  },
  "collection_group": "",
  "advertisement_statement": null,
  "advertisement_start_at": null,
  "advertisement_end_at": null,
  "benefit_text": null,
  "benefit_link": null,
  "benefit_start_at": null,
  "benefit_end_at": null,
  "decoration_word": null,
  "decoration_start_at": null,
  "decoration_end_at": null,
  "emblem_name": null,
  "emblem_image": null,
  "emblem_start_at": null,
  "emblem_end_at": null,
  "icon_name": "무료배송",
  "icon_names": [
    "무료배송"
  ],
  "purchase_type_code": null,
  "sign_codes": [
    "03",
    "04"
  ],
  "sign_weight": 0,
  "gender_codes": [
    "02"
  ],
  "categories": [
    {
      "ctgr1": "008@109@스포츠",
      "ctgr_set": "008@109@스포츠^004@109003@스포츠슈즈^001@109003001@샌들/슬리퍼",
      "ctgr3": "001@109003001@샌들/슬리퍼",
      "ctgr2": "004@109003@스포츠슈즈"
    },
    {
      "ctgr1": "008@109@스포츠",
      "ctgr_set": "008@109@스포츠^004@109003@스포츠슈즈^001@109003001@샌들/슬리퍼",
      "ctgr3": "001@109003001@샌들/슬리퍼",
      "ctgr2": "004@109003@스포츠슈즈"
    }
  ],
  "display_categories": [
    "008@109@스포츠^004@109003@스포츠슈즈^001@109003001@샌들/슬리퍼",
    "008@109@스포츠^004@109003@스포츠슈즈^001@109003001@샌들/슬리퍼"
  ],
  "at113": null,
  "from_url": "https://halfclub.com/search/shoe"
}
```

Each product record includes 100+ structured fields organized into logical groups:

#### Product Identification

| Field | Purpose |
|---|---|
| `Product ID` | Unique internal Halfclub identifier for the product |
| `Product Code` | Merchant product code or reference number |
| `SKU` | Stock Keeping Unit for inventory management |
| `Product Name` | Full product title as displayed to customers |
| `Product Type` | Category classification (e.g., Electronics, Clothing) |
| `Product Type Code` | Coded version of the product type |
| `Master Product ID` | Parent product ID if this is a variant |
| `Product Group ID` | Logical grouping for product families |
| `Product Keywords` | Search keywords associated with the product |
| `Search Keywords` | Keywords used in internal search indexing |

#### Brand & Merchandising

| Field | Purpose |
|---|---|
| `Brand ID` | Unique brand identifier |
| `Brand Code` | Brand code in the system |
| `Brand Name` | Brand label as displayed |
| `Brand Display` | Marketing name for the brand |
| `Brand Rank Code` | Internal brand ranking tier |
| `Brand Initial` | First letter of brand name (for A-Z sorting) |
| `Brand Weight` | Algorithmic weight for brand recommendation |

#### Seller Information

| Field | Purpose |
|---|---|
| `Seller ID` | Unique identifier for the seller/merchant |
| `Seller Code` | Alphanumeric seller reference code |
| `Seller Name` | Merchant display name |
| `MD ID` | Merchandiser/buyer ID managing the product |
| `MD Name` | Merchandiser name |
| `Team Name` | Sales team or category team name |

#### Pricing & Promotions

| Field | Purpose |
|---|---|
| `Original Price` | List price before discounts (base price) |
| `Selling Price` | Current active selling price |
| `Desktop Discount Price` | Discount price shown on desktop site |
| `Mobile Discount Price` | Discount price shown on mobile app |
| `App Discount Price` | Application-specific discount price |
| `Order Price` | Final price customers pay |
| `Discount Rate PC` | Discount percentage on desktop |
| `Discount Rate Mobile` | Discount percentage on mobile |
| `Discount Rate App` | Discount percentage on app |
| `Coupon Available PC` | Whether coupons apply on desktop (`true`/`false`) |
| `Coupon Available Mobile` | Whether coupons apply on mobile |
| `Coupon Available App` | Whether coupons apply on app |
| `Supports Installment` | Whether product qualifies for installment plans |
| `Interest Free Installment` | Whether 0% interest installment is available |

#### Shipping & Delivery

| Field | Purpose |
|---|---|
| `Shipping Fee` | Standard shipping cost in local currency |
| `Bundled Shipping Fee` | Shipping cost when bundled with other items |
| `Free Shipping Threshold` | Minimum order value for free shipping |
| `Is Free Shipping` | Whether free shipping is available overall |
| `Is Free Shipping PC` | Free shipping on desktop channel |
| `Is Free Shipping Mobile` | Free shipping on mobile channel |
| `Is Free Shipping App` | Free shipping on app channel |
| `Is Bundle Shipping` | Whether bundled shipping rules apply |
| `Delivery Type Code` | Shipping method code (e.g., standard, express) |
| `Delivery Template ID` | Shipping template configuration ID |

#### Images & Media

| Field | Purpose |
|---|---|
| `Image URL` | Main product image (desktop resolution) |
| `Image Path` | Internal file path for the main image |
| `Mobile Image URL` | Product image optimized for mobile devices |
| `Horizontal Image` | Landscape-oriented product image |
| `Mobile Horizontal Image URL` | Landscape image for mobile view |
| `Additional Image 1` | Secondary product image URL |
| `Mobile Additional Image 1` | Secondary image for mobile |
| `Comparison Image` | Product image for comparison tools |
| `Comparison Image URL` | Full URL for comparison image |
| `Mobile Comparison Images` | Comparison images formatted for mobile |

#### Performance Metrics

| Field | Purpose |
|---|---|
| `Review Count` | Total number of customer reviews |
| `Review Rating` | Average product rating (typically 1-5 stars) |
| `Wishlist Count` | Number of times added to wishlists |
| `Order Quantity` | Total units sold (lifetime or period) |
| `Order Weight` | Algorithmic weight based on sales volume |
| `Order Weight 3D` | Sales weight over the last 3 days |
| `Order Weight 7D` | Sales weight over the last 7 days |
| `Signature Weight` | Algorithmic ranking weight |
| `Recommendation Weight 1/2/3` | Weights for recommendation engine ranking |

#### Inventory & Categorization

| Field | Purpose |
|---|---|
| `Category Path` | Full breadcrumb path (e.g., Electronics > Phones > Smartphones) |
| `Category Level 1` | Top-level category name |
| `Category Level 2` | Subcategory name |
| `Category Level 3` | Sub-subcategory name |
| `Category IDs Level 1/2/3` | Numeric IDs for each category level |
| `Display Category Level 3` | Category displayed to customers |
| `Zone Category ID` | Regional or zone-specific category ID |
| `Zone Category Name` | Zone category display name |
| `Product Filters` | Available attribute filters (e.g., color, size) |
| `Stock Filters` | Stock status filters |
| `Color Code` | Color variant code if applicable |

#### Dates & Lifecycle

| Field | Purpose |
|---|---|
| `Created At` | Product creation timestamp |
| `Updated At` | Last modification timestamp |
| `Last Sale At` | Timestamp of the most recent sale |
| `Season Year` | Seasonal category or year (e.g., "Summer 2024") |

#### Channel & Display Settings

| Field | Purpose |
|---|---|
| `Display Type` | How the product is displayed (featured, standard, etc.) |
| `Display Channel Code` | Sales channel code (web, mobile, app) |
| `Site Code` | Site or region code |
| `Mobile Product URL` | Direct link to product on mobile version |
| `Mobile Brand URL` | Direct link to brand page on mobile |

#### Special Flags & Attributes

| Field | Purpose |
|---|---|
| `Is Gift` | Whether marked as a gift product |
| `Is Adult Only` | Age restriction flag for adult content |
| `Is Deleted` | Soft-delete flag (product archived but recoverable) |
| `Gender Codes` | Target gender(s) for the product |

#### Marketing & Promotions

| Field | Purpose |
|---|---|
| `Advertisement Statement` | Marketing message or ad copy |
| `Advertisement Start At` | Campaign start date |
| `Advertisement End At` | Campaign end date |
| `Benefit Text` | Promotional benefit description |
| `Benefit Link` | URL for benefit details |
| `Benefit Start At` | When benefit promotion starts |
| `Benefit End At` | When benefit promotion ends |
| `Decoration Word` | Promotional decoration text (e.g., "Hot Deal") |
| `Decoration Start At` | Decoration display start time |
| `Decoration End At` | Decoration display end time |
| `Emblem Name` | Badge or emblem label (e.g., "Best Seller") |
| `Emblem Image` | Badge image URL |
| `Emblem Start At` | Badge display start time |
| `Emblem End At` | Badge display end time |
| `Icon Name` | Icon name or label |
| `Icon Names` | Multiple icon identifiers |
| `Sign Codes` | Special sign or badge codes |
| `Sign Weight` | Weight for sign ranking |

#### Additional Data

| Field | Purpose |
|---|---|
| `Collection Group` | Product grouping for collections or bundles |
| `Categories` | Array of all category assignments |
| `Display Categories` | Categories visible to users |
| `Purchase Type Code` | Purchase type (single, bulk, etc.) |
| `Sales Summary` | Aggregated sales statistics |
| `At113` | Custom field (Halfclub-specific) |

***

### How to Use

1. **Identify target pages** — Browse Halfclub.com and copy category or search result URLs (e.g., `https://halfclub.com/categories/32508`).
2. **Configure the scraper** — Paste URLs into the `urls` array. Set `max_items_per_url` based on how many products you need (start with 50 for testing).
3. **Enable error handling** — Set `ignore_url_failures: true` to prevent the entire run from stopping if a single URL fails.
4. **Launch the run** — Start the scraper and monitor the progress in real-time.
5. **Download results** — Export data as JSON, CSV, or Excel for analysis in spreadsheets, databases, or BI tools.

**Troubleshooting:**

- **No results returned?** Verify the URL is a category or search page, not a single product page.
- **Slow performance?** Reduce `max_items_per_url` or scrape fewer URLs per run.
- **Missing fields?** Some fields are conditionally populated; null values indicate data was not available for that product.

***

### Use Cases & Business Value

- **Price intelligence:** Monitor competitor pricing daily and identify margins across categories
- **Market research:** Analyze product trends, popular brands, and seller strategies
- **Inventory aggregation:** Build and maintain a normalized product catalog from multiple sellers
- **Recommendation systems:** Feed sales and rating data into machine learning models
- **SEO & content:** Extract product metadata for content creation and keyword research

The **Halfclub Product Search Scraper** delivers structured, ready-to-analyze data that replaces hours of manual work. With 100+ fields per product and support for hundreds of items per run, you'll unlock insights that drive competitive advantage.

***

### Conclusion

The **Halfclub Product Search Scraper** is an essential tool for anyone serious about e-commerce intelligence. From price tracking to market analysis, the scraper's comprehensive output and robust configuration options make it simple to extract, organize, and act on product data at scale. Start scraping today and transform raw product pages into actionable business intelligence.

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

## Actor input object example

```json
{
  "urls": [
    "https://halfclub.com/categories/32508"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}
```

# 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://halfclub.com/categories/32508"
    ],
    "ignore_url_failures": true,
    "max_items_per_url": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("stealth_mode/halfclub-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://halfclub.com/categories/32508"],
    "ignore_url_failures": True,
    "max_items_per_url": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("stealth_mode/halfclub-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://halfclub.com/categories/32508"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}' |
apify call stealth_mode/halfclub-product-search-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Halfclub Product Search Scraper",
        "description": "Scrape detailed product information from Halfclub.com's search results in seconds. This powerful scraper captures 100+ data points per product including prices, seller details, images, ratings, and inventory metrics — perfect for price monitoring, market research, and competitive analysis.",
        "version": "0.0",
        "x-build-id": "B5TgQ02YgJocAinBg"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/stealth_mode~halfclub-product-search-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-stealth_mode-halfclub-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~halfclub-product-search-scraper/runs": {
            "post": {
                "operationId": "runs-sync-stealth_mode-halfclub-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~halfclub-product-search-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-stealth_mode-halfclub-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."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
