# Korea Trend Feed — Fashion, Crowdfunding & Beauty Rankings (`kdatafactory/korea-trend-feed`) Actor

One run = a normalized snapshot of what is trending in Korea right now: fashion rankings (Musinsa, 29CM, W Concept, Zigzag), top crowdfunding (Tumblbug, Wadiz) and K-beauty bestsellers (OLIVE YOUNG Global, USD) as clean JSON with vertical, source and rank. Schedule daily for trend tracking.

- **URL**: https://apify.com/kdatafactory/korea-trend-feed.md
- **Developed by:** [Seok June Park](https://apify.com/kdatafactory) (community)
- **Categories:** E-commerce, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Korea Trend Feed 📈

**One run = one cross-platform snapshot of what's trending in Korea right now.**
This actor pulls the live rankings of **seven major Korean platforms** across three
verticals — **fashion** ([Musinsa](https://www.musinsa.com), [29CM](https://www.29cm.co.kr),
[W Concept](https://www.wconcept.com), [Zigzag](https://zigzag.kr)), **crowdfunding**
([Tumblbug](https://tumblbug.com), [Wadiz](https://www.wadiz.kr)) and **beauty**
([OLIVE YOUNG Global](https://global.oliveyoung.com), USD) — and returns them as one
normalized JSON feed with `vertical`, `source` and `rank` on every record.

Instead of running (and paying for) seven scrapers and gluing seven schemas together,
you get a single scheduled-run-friendly trend feed: what Koreans are buying, backing
and putting in their carts **today**.

> **Try it free.** Apify's free plan includes $5 of monthly platform credit — roughly **1,600 results** from this actor (about nine full default snapshots), no credit card required. Set your input, click Start, and export JSON/CSV/Excel.

***

### 🚀 What it does

Pick your **verticals** and how many top items to take per source (`topN`, default 25):

| Vertical | Sources | What you get |
|----------|---------|--------------|
| `fashion` | Musinsa, 29CM, W Concept, Zigzag | Top-ranked products with brand and current price (KRW; W Concept in USD) |
| `crowdfunding` | Tumblbug, Wadiz | Most-popular **ongoing** campaigns with maker/brand and KRW amount raised |
| `beauty` | OLIVE YOUNG Global | Best-seller ranking with brand and USD price |

A full default run returns **~175 records** (7 sources × top 25) in one normalized
schema — every record carries its `vertical`, `source` platform and 1-based `rank`.

**Partial-failure tolerant:** if one platform is down or blocks a request, the run
logs a warning, records it in the `SOURCE_FAILURES` key-value record, and continues
with the remaining sources — you still get the rest of the snapshot.

***

### 📥 Input

| Field | Type | Default | Description |
|-------|------|---------|-------------|
| `verticals` | array | all three | Any of `fashion`, `crowdfunding`, `beauty`. |
| `topN` | integer | `25` | Top items per source platform (1–50). |
| `proxyConfiguration` | object | off | Optional Apify proxy. Not required — enable for IP diversity on frequent schedules. |

**Input example — full daily snapshot:**

```json
{
  "verticals": ["fashion", "crowdfunding", "beauty"],
  "topN": 25
}
```

***

### 📤 Output

Every record has the same shape (real samples from a live run):

```json
{
  "source": "musinsa",
  "vertical": "fashion",
  "rank": 1,
  "name": "데일리 롤업 레이어드 ST 크롭 티셔츠-3Color",
  "brand": "필루미네이트",
  "price_krw": 34900,
  "price_usd": null,
  "amount_raised_krw": null,
  "currency": "KRW",
  "url": "https://www.musinsa.com/products/6708161",
  "image_url": "https://image.msscdn.net/images/goods_img/20260622/6708161/6708161_17826934723027_500.jpg",
  "scraped_at": "2026-07-10T15:19:26.622+09:00"
}
```

```json
{
  "source": "wadiz",
  "vertical": "crowdfunding",
  "rank": 1,
  "name": "캔음료 혁신ㅣ톡ㅡ올려서 샥ㅡ돌리면 풀개방, 드래프트 탑 한국 공식 론칭!",
  "brand": "어라운드엑스",
  "price_krw": null,
  "price_usd": null,
  "amount_raised_krw": 175230000,
  "currency": "KRW",
  "url": "https://www.wadiz.kr/web/campaign/detail/402615",
  "image_url": "https://cdn3.wadiz.kr/studio/images/2026/05/22/73c3b585-2590-4a7c-aa94-3df4146b34ba.jpeg",
  "scraped_at": "2026-07-10T15:19:33.652+09:00"
}
```

**Field notes**

- `vertical` — `fashion`, `crowdfunding` or `beauty`.
- `source` — the origin platform: `musinsa`, `29cm`, `wconcept`, `zigzag`, `tumblbug`, `wadiz`, `oliveyoung`.
- `rank` — 1-based position within that source's live ranking at scrape time.
- `price_krw` / `price_usd` — the **current effective (post-discount) price**; KRW for
  Musinsa/29CM/Zigzag, USD for W Concept and OLIVE YOUNG Global. `null` on crowdfunding records.
- `amount_raised_krw` — total pledged KRW; populated only on crowdfunding records.
- `brand` — the **public commercial brand / shop / maker / team name** (like a shop sign).
  No personal contact details, profiles, or IDs are collected.
- `currency` — the currency of the populated money field (`KRW` or `USD`).
- Fields that don't apply to a vertical are present but `null`, so the schema is
  stable for CSV/Excel export and downstream pipelines.
- A 35-record real sample lives in [`samples/sample-output.json`](samples/sample-output.json).

***

### 💡 Use cases

- **Daily Korea trend brief** — schedule one run per day and diff snapshots to see
  movers across fashion, crowdfunding and beauty at once.
- **Pre-retail trend spotting** — crowdfunding is where Korean products launch *before*
  they hit retail; see the funding leaders next to what's already ranking on Musinsa
  and OLIVE YOUNG.
- **K-culture market research** — one normalized feed instead of seven schemas for
  reports, dashboards and newsletters.
- **AI agents & LLM pipelines** — a compact, stable-schema "what's trending in Korea"
  context document for RAG or a trend-analysis assistant.
- **Sourcing / dropshipping radar** — top-ranked items with brand, price, image and URL,
  refreshed on your schedule.

***

### 🌐 Data source

This actor reads the **public** JSON feeds that each platform's own website uses to
render its ranking/best-seller/popular pages — no login, no private API. It is an
aggregate of the same verified endpoints behind this maintainer's dedicated
per-platform scrapers, fetched **directly** in one run (it does not call other actors,
so you are never double-billed). Sources are fetched sequentially with ≥500 ms
politeness delays; a full default snapshot completes in about a minute or two. No
proxy is required; you can enable an Apify proxy for IP diversity on frequent schedules.

***

### ⚠️ Known limitations (honest notes)

- **One flagship slice per platform, not the whole catalog.** Trending means:
  Musinsa = the Tops-category popularity ranking (the platform exposes no all-category
  ranking on this API); 29CM = the Women's Clothing BEST ranking; W Concept = the
  global storefront's curated browse order; Zigzag = the default recommendation feed
  for its flagship dress keyword (Zigzag has no public overall ranking). For other
  categories or keyword-level pulls, use the dedicated per-platform actors below.
- **Compact trend records only.** This feed carries name / brand / price / amount
  raised / rank — it deliberately does **not** include ratings, review counts, funding
  rates or backer counts. Those live in the dedicated per-platform actors.
- **Mixed currencies by design.** Fashion is KRW except W Concept (USD); beauty is USD
  (OLIVE YOUNG **Global** storefront prices). Use the `currency` field when aggregating.
- **Sponsored cards are removed** from the Wadiz feed and each source is de-duplicated,
  so `topN` real items per source is the target, not a guarantee to the exact item.
- **A failed source shrinks the snapshot.** Rarely a platform errors; the run continues
  and the failure is logged in `SOURCE_FAILURES` instead of failing your whole schedule.

***

### ⚖️ Rate & legality note

- Only **public, non-personal** data is collected — the same rankings any visitor sees
  without logging in. **No personal data** (no seller, reviewer or backer names,
  nicknames, profiles, or contact details). `brand` is a public commercial brand/shop/
  maker name, like a shop sign; Wadiz's `userId`/nickname fields are deliberately dropped.
- Requests are **rate-limited** (sequential sources and pages, ≥500 ms delay) — one
  snapshot costs each platform only one or two light JSON requests.
- You are responsible for complying with each platform's Terms of Service and applicable
  law in your jurisdiction. Use the data for research, monitoring, and analytics — not
  to replicate the platforms.

***

### ❓ FAQ

**Is it legal to scrape this data?**
This actor collects only public, non-personal ranking data — the same lists any visitor sees on each site without logging in. No personal data is collected. You are responsible for how you use the data; see the rate & legality note above.

**What does it cost in practice?**
$3.00 per 1,000 results (launch pricing) + a few cents of platform usage. Example: a full default snapshot (7 sources × top 25 ≈ 175 records) costs about $0.53 — roughly $16/month as a daily schedule. Apify's free $5 monthly credit covers ~1,600 results, about nine full snapshots.

**Do I need to configure proxies?**
No — the default settings work out of the box. Optionally, enable an Apify proxy for IP diversity on frequent scheduled runs.

**How fresh is the data?**
Every run hits the platforms' live ranking feeds at run time. Schedule the actor daily (or hourly) for recurring snapshots — the stable schema makes snapshots directly diffable.

**How is this different from running the seven scrapers separately?**
Same verified endpoints, one run, one normalized schema, one invoice line. The dedicated actors return richer per-platform fields (ratings, review counts, funding rates, category filters, keyword search); this feed is the cheap cross-platform pulse.

**What is NOT included?**
Ratings, review counts, funding/backer details, category or keyword filtering, and any personal data. Sponsored cards are filtered out. See Known limitations above.

***

### 🤖 Use with AI agents (MCP)

Call this Actor as a tool from Claude or any MCP-compatible AI agent — no glue code. Point your MCP client at Apify's server, scoped to this Actor:

```json
{
  "mcpServers": {
    "apify": {
      "url": "https://mcp.apify.com?tools=kdatafactory/korea-trend-feed",
      "headers": { "Authorization": "Bearer <YOUR_APIFY_TOKEN>" }
    }
  }
}
```

Your agent can then pull a cross-platform snapshot of what's trending in Korea on demand — no scraping code in your app. Grab a free token from [Apify → Integrations](https://console.apify.com/settings/integrations).

### 🇰🇷 More Korean data actors

This actor is part of a suite of Korean-platform scrapers by the same maintainer — use
them when you need the full per-platform depth behind this feed:

- [musinsa-scraper](https://apify.com/kdatafactory/musinsa-scraper) — Korea's #1 fashion e-commerce: full rankings, categories & keyword search.
- [wadiz-scraper](https://apify.com/kdatafactory/wadiz-scraper) — Korea's largest reward crowdfunding platform, with funding rates & backer counts.
- [oliveyoung-scraper](https://apify.com/kdatafactory/oliveyoung-scraper) — OLIVE YOUNG Global K-beauty best sellers, search, ratings & review counts.

Browse all: [apify.com/kdatafactory](https://apify.com/kdatafactory)

***

### 🏃 Run it

On Apify: set your input and click **Start**. Locally:

```bash
npm install
## put your input in storage/key_value_stores/default/INPUT.json
npm start
```

Results land in the default dataset (Apify) or `./storage/datasets/default` (local).

***

*If this actor saves you time, a rating on the [Store page](https://apify.com/kdatafactory/korea-trend-feed) helps a solo maintainer a lot. Found an issue? Open it in the Issues tab — I respond fast.*

# Actor input Schema

## `verticals` (type: `array`):

Which trend verticals to include in the snapshot. 'fashion' = Musinsa + 29CM + W Concept + Zigzag rankings, 'crowdfunding' = Tumblbug + Wadiz most-popular ongoing campaigns, 'beauty' = OLIVE YOUNG Global best sellers (USD).

## `topN` (type: `integer`):

How many top-ranked items to take from each source platform (a full default run = 7 sources x 25 = ~175 records).

## `proxyConfiguration` (type: `object`):

Optional Apify proxy. The sources' public JSON feeds work without a proxy; enable one for IP diversity on frequent scheduled runs.

## Actor input object example

```json
{
  "verticals": [
    "fashion",
    "crowdfunding",
    "beauty"
  ],
  "topN": 25,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# 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 = {
    "verticals": [
        "fashion",
        "crowdfunding",
        "beauty"
    ],
    "topN": 25
};

// Run the Actor and wait for it to finish
const run = await client.actor("kdatafactory/korea-trend-feed").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 = {
    "verticals": [
        "fashion",
        "crowdfunding",
        "beauty",
    ],
    "topN": 25,
}

# Run the Actor and wait for it to finish
run = client.actor("kdatafactory/korea-trend-feed").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 '{
  "verticals": [
    "fashion",
    "crowdfunding",
    "beauty"
  ],
  "topN": 25
}' |
apify call kdatafactory/korea-trend-feed --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/Y1qeIsIKs0ygrIrdp/builds/Lh4VvGtQQvXdOBF2H/openapi.json
