# 29cm Product Listing Crawler

You can collect product information such as names, links, prices, and ratings from 29CM.

- Template page: [https://www.octoparse.com/template/29cm-product-listing-crawler](https://www.octoparse.com/template/29cm-product-listing-crawler)
- Categories: E-Commerce
- Status: `PUBLISHED`
- Run mode: `BOTH`

## Pricing

Free.

## What is an Octoparse template?

An Octoparse template is a ready-to-use scraping workflow with predefined inputs and structured outputs. Use the exact parameter keys below; do not invent parameters.

## Overview

This ready-to-use template collects structured data from listing pages.

## Output

The current workflow extracts 13 fields, including `가격`, `배송비`, `브랜드`, `상품_개수`, `상품_링크`, `상품명`, `신상품`, `이미지_링크`, `좋아요_수`, `쿠폰_제공`, `키워드`, `평점_리뷰수`, `할인율`.

## Use Cases

- Use structured results for research, comparison, and monitoring.
- Collect rows without building the extraction workflow from scratch.
- Combine results with other templates for downstream enrichment.
- Review a representative result before starting a large batch.

## Why Octoparse

- **No coding required:** complete Keywords(up to 10), Pagination and start the template in local or cloud mode.
- **Flexible export:** review and export results as CSV, Excel, or JSON.

## Input

### Keywords(up to 10)

Required. Keywords Constraints: maxItems=10.

### Pagination

Optional. Pagination Constraints: minimum=, maximum=500.

## How to Use

# 29cm Product Listing Crawler

Collect product names, links, prices, and ratings from [29CM](https://product.29cm.co.kr/).

## Input

- **Keywords(up to 10)** (required) – Enter one or more values, one per line.
- **Pagination** (optional) – Enter a number up to 500.

## Output Fields

- `키워드`
- `상품_개수`
- `브랜드`
- `상품명`
- `상품_링크`
- `이미지_링크`
- `할인율`
- `가격`
- `쿠폰_제공`
- `배송비`
- `신상품`
- `좋아요_수`
- `평점_리뷰수`

## How to Use

1. Open the template and select **Try it** or **Start**.
2. Fill in the input fields.
3. Choose a local or cloud run.
4. Review the output rows and export or process the data.

## Limitations

- Collects only what 29CM displays on listing pages.
- Fields like `신상품`, `좋아요_수`, `평점_리뷰수` may be empty if not provided.

## Pricing

This template currently has no per-line charge. Octoparse plan or resource limits may still apply.

## Notes

- You can schedule recurring runs and export data to CSV, Excel, JSON, databases, or cloud storage. Scheduling and API access may require a paid Octoparse plan.
- Start with a few inputs to test before scaling.
- Use specific keywords to reduce unrelated records.

## Limitations

Results depend on what the source site exposes at run time. Fields may be empty when a source page does not provide a value. The template enforces the input limits shown above.

## Tips

Use specific, valid inputs and review a representative result before starting a large batch. Remove duplicate inputs when repeated records are not needed.

## FAQ

### What do I need to enter?

Use the exact inputs and limits listed above.

### What data does this template return?

See Output Schema below; availability can vary by source record.

### How is usage billed?

See the Pricing section above for current pricing and billing details.

## Related Templates

- [EQL Product Listing Crawler](https://www.octoparse.com/template/eql-product-crawler)
- [ABLY Product Listing Crawler](https://www.octoparse.com/template/ably-product-crawler)
- [WConcept Product Listing Crawler](https://www.octoparse.com/template/wconcept-product-listing-crawler)
- [ZIGZAG Product Listing Crawler](https://www.octoparse.com/template/zigzag-product-listing-crawler)
- [Google Shopping Product Listing Scraper](https://www.octoparse.com/template/google-shopping-product-listing-scraper)

## Input Schema

```json
{
  "title": "29cm Product Listing Crawler input",
  "description": "Input parameters configured for the current published template version.",
  "type": "object",
  "schemaVersion": 1,
  "additionalProperties": false,
  "properties": {
    "keywords": {
      "title": "Keywords(up to 10)",
      "description": "Keywords",
      "type": "array",
      "items": {
        "type": "string"
      },
      "maxItems": 10,
      "x-octoparse": {
        "apiEnabled": true
      }
    },
    "pagination": {
      "title": "Pagination",
      "description": "Pagination",
      "type": "integer",
      "maximum": 500,
      "x-octoparse": {
        "apiEnabled": true
      }
    }
  },
  "required": [
    "keywords"
  ]
}
```

## Input JSON Example

Example 1

```json
{
  "keywords": [
    "가디건",
    "점퍼"
  ]
}
```

Example 2

```json
{
  "keywords": [
    "가디건",
    "점퍼"
  ]
}
```

Example 3

```json
{
  "keywords": [
    "가디건",
    "점퍼"
  ]
}
```

Example 4

```json
{
  "keywords": [
    "가디건",
    "점퍼"
  ]
}
```

Example 5

```json
{
  "keywords": [
    "가디건",
    "점퍼"
  ]
}
```


## Output Schema

```json
{
  "schemaVersion": 1,
  "type": "object",
  "properties": {
    "가격": {
      "type": "string",
      "description": ""
    },
    "배송비": {
      "type": "string",
      "description": ""
    },
    "브랜드": {
      "type": "string",
      "description": ""
    },
    "상품_개수": {
      "type": "string",
      "description": ""
    },
    "상품_링크": {
      "type": "string",
      "description": ""
    },
    "상품명": {
      "type": "string",
      "description": ""
    },
    "신상품": {
      "type": "string",
      "description": ""
    },
    "이미지_링크": {
      "type": "string",
      "description": ""
    },
    "좋아요_수": {
      "type": "string",
      "description": ""
    },
    "쿠폰_제공": {
      "type": "string",
      "description": ""
    },
    "키워드": {
      "type": "string",
      "description": ""
    },
    "평점_리뷰수": {
      "type": "string",
      "description": ""
    },
    "할인율": {
      "type": "string",
      "description": ""
    }
  },
  "title": "29cm Product Listing Crawler output",
  "description": "Initial output fields derived from the current published implementation. Field descriptions are maintained by Data Center; production field names and types should be refreshed from recent successful runs.",
  "additionalProperties": false
}
```

## Output Example

Example 1

```json
{
  "가격": "161,090",
  "배송비": "조건부 무료배송",
  "브랜드": "108파운드",
  "상품_개수": "62,537",
  "상품_링크": "https://product.29cm.co.kr/catalog/4084611",
  "상품명": "Winnie Handcrafted Cardigan_Charcoal",
  "신상품": "아니요",
  "이미지_링크": "https://img.29cm.co.kr/item/202608/11f19dca57f1b9d28fdc5b4e4457d0ca.jpg?width=400&format=webp",
  "좋아요_수": "8.5천",
  "쿠폰_제공": "쿠폰",
  "키워드": "가디건",
  "평점_리뷰수": "5 (14)",
  "할인율": "28%"
}
```

Example 2

```json
{
  "가격": "190,400",
  "배송비": "조건부 무료배송",
  "브랜드": "르메메",
  "상품_개수": "59,939",
  "상품_링크": "https://product.29cm.co.kr/catalog/3802232",
  "상품명": "[셀럽,루피타Pick][4th]Mouchou High Neck Leather Jumper_2colors",
  "신상품": "아니요",
  "이미지_링크": "https://img.29cm.co.kr/item/202608/11f19c50e983c61a85e1598b4613dce3.jpg?width=400&format=webp",
  "좋아요_수": "2.5천",
  "쿠폰_제공": "쿠폰",
  "키워드": "점퍼",
  "평점_리뷰수": "5 (68)",
  "할인율": "20%"
}
```

Example 3

```json
{
  "가격": "37,400",
  "배송비": "조건부 무료배송",
  "브랜드": "제너럴아이디어",
  "상품_개수": "59,680",
  "상품_링크": "https://product.29cm.co.kr/catalog/2757297",
  "상품명": "[29CM 단독] WOMAN 에센셜 크루넥 가디건 [MUD] / WBD3L04501",
  "신상품": "아니요",
  "이미지_링크": "https://img.29cm.co.kr/item/202608/11f1a12ec9b49a828fdc91c8842d25fc.jpg?width=400&format=webp",
  "좋아요_수": "2.1만",
  "쿠폰_제공": "쿠폰",
  "키워드": "가디건",
  "평점_리뷰수": "5 (907)",
  "할인율": "53%"
}
```

Example 4

```json
{
  "가격": "96,500",
  "배송비": "조건부 무료배송",
  "브랜드": "베뉴엣",
  "상품_개수": "58,517",
  "상품_링크": "https://product.29cm.co.kr/catalog/4106810",
  "상품명": "[베뉴엣 X 이주미] [2차] Ponds Cardigan_Grape",
  "신상품": "아니요",
  "이미지_링크": "https://img.29cm.co.kr/item/202608/11f19c2f19929a2485e171c19465e5ce.jpg?width=400&format=webp",
  "좋아요_수": "3.8천",
  "쿠폰_제공": "쿠폰",
  "키워드": "가디건",
  "평점_리뷰수": "5 (41)",
  "할인율": "25%"
}
```

Example 5

```json
{
  "가격": "98,690",
  "배송비": "조건부 무료배송",
  "브랜드": "베뉴엣",
  "상품_개수": "57,284",
  "상품_링크": "https://product.29cm.co.kr/catalog/4106810",
  "상품명": "[베뉴엣 X 이주미] [2차] Ponds Cardigan_Grape",
  "신상품": "아니요",
  "이미지_링크": "https://img.29cm.co.kr/item/202608/11f19c2f19929a2485e171c19465e5ce.jpg?width=400&format=webp",
  "좋아요_수": "2.7천",
  "쿠폰_제공": "쿠폰",
  "키워드": "가디건",
  "평점_리뷰수": "4.5 (26)",
  "할인율": "23%"
}
```

## API

`POST https://openapi.octoparse.com/api/agentTools/executeTask`

This is the OpenAPI Agent Tools `executeTask` endpoint. Authenticate with a Bearer token.

Request body:

`templateName` is the template slug; `parameters` is a JSON object string whose keys match Input Schema; `taskName`, `idempotencyKey`, and `maxCollectedRows` are optional.

Obtain a token:

```http
POST https://openapi.octoparse.com/token
Content-Type: application/json

{
  "username": "YOUR_USERNAME",
  "password": "YOUR_PASSWORD",
  "grant_type": "password"
}
```

Use `data.access_token` as `Authorization: Bearer <token>`. After starting, poll `getTaskStatus` and export with `exportData`.

```json
{
  "templateName": "29cm-product-listing-crawler",
  "taskName": "29cm Product Listing Crawler",
  "parameters": "{\"keywords\":[\"가디건\",\"점퍼\"]}"
}
```

## Python Example

```python
import json
import requests

OPENAPI_BASE = "https://openapi.octoparse.com"
ACCESS_TOKEN = "YOUR_ACCESS_TOKEN"

parameters = json.loads("{\"keywords\":[\"가디건\",\"점퍼\"]}")

response = requests.post(
    f"{OPENAPI_BASE}/api/agentTools/executeTask",
    headers={
        "Authorization": f"Bearer {ACCESS_TOKEN}",
        "Content-Type": "application/json",
    },
    json={
        "templateName": "29cm-product-listing-crawler",
        "taskName": "29cm Product Listing Crawler",
        "parameters": json.dumps(parameters, ensure_ascii=False),
    },
    timeout=60,
)
print(response.status_code)
print(response.json())
```

## HTTP/cURL Example

```bash
curl -X POST "https://openapi.octoparse.com/api/agentTools/executeTask" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  --data-binary @- <<'JSON'
{
  "templateName": "29cm-product-listing-crawler",
  "taskName": "29cm Product Listing Crawler",
  "parameters": "{\"keywords\":[\"가디건\",\"점퍼\"]}"
}
JSON
```

## MCP Setup

Connect an MCP-compatible AI client to `https://mcp.octoparse.com` using browser OAuth or an Octoparse API key. Find `29cm-product-listing-crawler`, inspect its inputs, create a cloud task with the exact Input Schema keys, and export JSON results.

## Machine-readable Resources

- [Template contract](https://www.octoparse.com/templates/29cm-product-listing-crawler.json)
- [Manifest](https://www.octoparse.com/templates/29cm-product-listing-crawler-manifest.json)
