# Korea MCP Server: Naver Shopping for Claude, ChatGPT, Cursor (`magenta_courser/korea-commerce-mcp`) Actor

MCP server for AI agents: give a Korean keyword or product ID and get live ranks, prices, review counts and stock from Naver Shopping, Daiso, Olive Young, Ohouse and Korean furniture stores as flat JSON. 10 tools, no login, no shop API key.

- **URL**: https://apify.com/magenta_courser/korea-commerce-mcp.md
- **Developed by:** [SUNGHWAN CHO](https://apify.com/magenta_courser) (community)
- **Categories:** MCP servers, E-commerce, AI
- **Features:** Limited permissions, Single-tenant, Server interface
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.00 / 1,000 tool calls

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

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

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Korea Commerce MCP Server (Naver Shopping, Daiso, Olive Young)

Give a Korean keyword or a product ID and get live **ranks, prices, review counts and stock** from Korean shopping sites as flat JSON. This is an MCP server for AI agents: connect it to Claude, ChatGPT, Cursor or any MCP client and ask in plain language:

- "What are the top 20 products for 선크림 (sunscreen) on Naver Shopping, and who sells them at what price?"
- "Show today's Daiso Korea best sellers in beauty and tell me which are sold out online."
- "Compare the Olive Young Korea Top 10 skincare ranking with the global store ranking."
- "Find sofas under 1,000,000 KRW at Hanssem, Livart and Casamia."
- "Are Korean bloggers talking about 리들샷 this week?"

One connection gives an agent ten tools over six Korean sources. No login to any shop and no shop API key is needed. You only need an Apify account.

### Tools

| Tool | Required argument | Optional arguments | Returns |
|---|---|---|---|
| `list_korea_commerce_sources` | none | none | Free guide: which tool reads which site |
| `search_naver_shopping` | `keyword` | `sort`, `maxItems` | Naver Shopping ranks: name, price, original price, discount, seller, rating, review count, shipping fee, sold-out flag |
| `get_daiso_ranking` | none | `rankingType`, `period`, `category`, `maxItems` | Daiso Korea best sellers or new arrivals: rank, previous rank, price, rating, reviews, units sold, online stock, people viewing now |
| `search_daiso_products` | `keyword` | `maxItems` | Daiso Korea product search with the same fields |
| `get_daiso_product` | `product` (ID or URL) | none | One Daiso product: barcode, GTIN, online stock, wishlist count, view count, options, category path |
| `get_oliveyoung_ranking` | none | `market`, `category`, `period`, `maxItems` | Olive Young Top 100 in Korea (KRW) or on the global store (USD): rank, brand, name, price, discount, rating, reviews |
| `search_ohouse_products` | `keyword` | `sort`, `maxItems` | Ohouse (오늘의집) product search: price, discount, rating, reviews, saves (`scrapCount`) |
| `get_ohouse_ranking` | none | `rankingType`, `category`, `maxItems` | Ohouse realtime or all-time best-seller Top 100 |
| `search_korea_furniture_prices` | `keyword` | `stores`, `sort`, `maxItems` | Price rows from Hanssem, Hyundai Livart and Casamia side by side |
| `search_naver_blog_cafe` | `keyword` | `source`, `sort`, `maxItems` | Naver blog or cafe posts about a keyword: title, snippet, channel name, date, URL |

Every tool answers with the same envelope:

```json
{ "status": "completed", "message": null, "count": 20, "reportedTotal": 3795, "source": "daiso", "query": {}, "fetchedAt": "2026-11-10T03:51:25.299Z", "sourceUrl": "https://…", "items": [] }
```

- `status` is `completed`, `partial` (part of the list could not be read; you get and pay for what was read) or `budgetLimited` (your spending limit cut the result). `message` explains anything unusual.
- `items` are flat objects with English field names. Numbers are numbers. Every field is always present; a value the site does not show is `null`.
- `maxItems` is 1 to 100, default 20. One call answers within about 45 seconds, usually in 1 to 5 seconds.

Korean keywords work best (`무선 이어폰`, `수납함`, `소파`). Agents usually translate an English request into a Korean keyword on their own.

### Connect

The MCP endpoint (Streamable HTTP) is:

```
https://magenta-courser--korea-commerce-mcp.apify.actor/mcp
```

Authenticate with your Apify API token as a Bearer token.

**Claude Desktop, Cursor and other clients that take a JSON config**

```json
{
  "mcpServers": {
    "korea-commerce": {
      "type": "http",
      "url": "https://magenta-courser--korea-commerce-mcp.apify.actor/mcp",
      "headers": { "Authorization": "Bearer YOUR_APIFY_TOKEN" }
    }
  }
}
```

**Claude Code**

```bash
claude mcp add --transport http korea-commerce https://magenta-courser--korea-commerce-mcp.apify.actor/mcp --header "Authorization: Bearer YOUR_APIFY_TOKEN"
```

### Minimal arguments for each tool

```json
{ "name": "list_korea_commerce_sources", "arguments": {} }
{ "name": "search_naver_shopping", "arguments": { "keyword": "무선 이어폰" } }
{ "name": "get_daiso_ranking", "arguments": {} }
{ "name": "search_daiso_products", "arguments": { "keyword": "수납함" } }
{ "name": "get_daiso_product", "arguments": { "product": "1030480" } }
{ "name": "get_oliveyoung_ranking", "arguments": {} }
{ "name": "search_ohouse_products", "arguments": { "keyword": "소파" } }
{ "name": "get_ohouse_ranking", "arguments": {} }
{ "name": "search_korea_furniture_prices", "arguments": { "keyword": "소파" } }
{ "name": "search_naver_blog_cafe", "arguments": { "keyword": "다이소 추천템" } }
```

Optional arguments:

| Tool | Argument | Values |
|---|---|---|
| `search_naver_shopping` | `sort` | `ranking` (default), `sales`, `reviews`, `price_low`, `price_high`, `newest` |
| `get_daiso_ranking` | `rankingType` | `bestsellers` (default), `new_arrivals` |
| | `period` | `rising_now` (default), `daily`, `weekly` |
| | `category` | `all` (default), `beauty_hygiene`, `kitchen`, `cleaning_bath`, `storage`, `stationery`, `interior_garden`, `tools_digital`, `food`, `sports_hobby`, `fashion`, `pets`, `baby_toys`, `seasonal` |
| `get_oliveyoung_ranking` | `market` | `korea` (default, KRW), `global` (USD) |
| | `category` | `all` (default), `skincare`, `mask_packs`, `suncare`, `makeup`, `beauty_tools`, `hair_care`, `body_care`, `health_food`, `food` in both markets; `cleansing`, `nail`, `dermo_cosmetics`, `fragrance`, `mens`, `oral_care`, `hygiene` in Korea only; `wellness`, `kpop` in global only |
| | `period` | `realtime` (default), `day`, `week`, `month` (Korea only) |
| `search_ohouse_products` | `sort` | `recommended` (default), `sales`, `reviews`, `price_low`, `price_high`, `newest` |
| `get_ohouse_ranking` | `rankingType` | `realtime` (default, site-wide), `all_time` |
| | `category` | `furniture`, `fabric`, `appliances`, `kitchen`, `food`, `deco`, `lighting`, `storage`, `household`, `essentials`, `kids`, `pets`, `camping`, `tools` (all-time ranking only) |
| `search_korea_furniture_prices` | `stores` | any of `hanssem`, `livart`, `casamia` (default: all three) |
| | `sort` | `popular` (default), `newest`, `price_low`, `price_high`, `reviews` |
| `search_naver_blog_cafe` | `source` | `blog` (default), `cafe` |
| | `sort` | `relevance` (default), `recent` |

### Example results

These are real results from 2026-11-10, one item each.

`search_naver_shopping` with `{"keyword": "무선 이어폰", "maxItems": 1}`:

```json
{
  "status": "completed",
  "message": null,
  "count": 1,
  "reportedTotal": 222866,
  "source": "naver-shopping",
  "query": { "keyword": "무선 이어폰", "sort": "ranking" },
  "fetchedAt": "2026-11-10T03:51:37.654Z",
  "sourceUrl": "https://search.shopping.naver.com/ns/search?query=%EB%AC%B4%EC%84%A0%20%EC%9D%B4%EC%96%B4%ED%8F%B0",
  "items": [
    {
      "rank": 1,
      "productId": "88073232087",
      "name": "사운독스 커널형 노이즈캔슬링 무선 블루투스 이어폰 Y-07",
      "price": 19800,
      "originalPrice": 40000,
      "discountRate": 50,
      "currency": "KRW",
      "storeName": "합리적쇼핑 실크로드",
      "storeUrl": "https://smartstore.naver.com/hallstore",
      "isOfficialStore": true,
      "rating": 4.74,
      "reviewCount": 2392,
      "shippingFee": 0,
      "isFreeShipping": true,
      "isSoldOut": false,
      "isOverseas": false,
      "catalogSellerCount": 1,
      "categoryIdPath": "50000003>50000209>50024379>50024439",
      "imageUrl": "https://shopping-phinf.pstatic.net/main_8807323/88073232087.1.jpg",
      "url": "https://smartstore.naver.com/main/products/10528726727"
    }
  ]
}
```

One item of `get_daiso_ranking` (`search_daiso_products` returns the same fields):

```json
{
  "rank": 1,
  "previousRank": 4903,
  "productId": "1059672",
  "name": "방석형 핫팩",
  "brand": null,
  "price": 1000,
  "currency": "KRW",
  "rating": 4.8,
  "reviewCount": 174,
  "totalSold": 20862,
  "onlineStockQty": 3591,
  "isSoldOut": false,
  "isNew": false,
  "viewCount": 60293,
  "viewersNow": null,
  "purchaseCountText": "2만+",
  "category": "뷰티/위생",
  "subCategory": "건강/위생용품",
  "imageUrl": "https://cdn.daisomall.co.kr/file/PD/20241127/pWZbHRIqU4fhHuyWTuKc1059672_00_00pWZbHRIqU4fhHuyWTuKc.jpg",
  "url": "https://www.daisomall.co.kr/pd/pdr/SCR_PDR_0001?pdNo=1059672"
}
```

The item of `get_daiso_product` with `{"product": "1030480"}`:

```json
{
  "productId": "1030480",
  "name": "헬로 데일리 미용티슈 280매",
  "brand": null,
  "brandEn": null,
  "price": 1000,
  "currency": "KRW",
  "rating": 4.9,
  "reviewCount": 24924,
  "onlineStockQty": 0,
  "isSoldOut": true,
  "barcode": "8819910304809",
  "gtin": "8819910304809",
  "wishlistCount": 19024,
  "viewCount": 874989,
  "shareCount": 562,
  "maxOrderQty": 6,
  "optionCount": 1,
  "optionNames": "혼합_패턴(대리석 마블)",
  "isNew": false,
  "pickupAvailable": true,
  "deliveryAvailable": true,
  "todayDeliveryAvailable": true,
  "isRestockAlertTarget": true,
  "boxProductId": "B202502271013",
  "category": "뷰티/위생",
  "subCategory": "화장지/물티슈",
  "leafCategory": "갑티슈",
  "imageUrl": "https://cdn.daisomall.co.kr/file/PD/20260402/ujGdhVM7dPVFWG90s0g31030480_00_00ujGdhVM7dPVFWG90s0g3.jpg",
  "url": "https://www.daisomall.co.kr/pd/pdr/SCR_PDR_0001?pdNo=1030480"
}
```

One item of `get_oliveyoung_ranking` (market `korea`; market `global` has the same fields with `currency: "USD"`, English names and `stockQty`):

```json
{
  "market": "korea",
  "rank": 1,
  "productId": "A000001002386",
  "brand": "에스트라",
  "name": "[11월 올영픽] 에스트라 아토베리어365 크림 80ml 더블 기획 (+세라-히알 앰플 15ml)",
  "price": 44500,
  "originalPrice": 59400,
  "discountRate": 25,
  "currency": "KRW",
  "rating": 4.9,
  "reviewCount": 46041,
  "isSoldOut": false,
  "isNew": true,
  "isExclusive": false,
  "todayDelivery": true,
  "stockQty": null,
  "productCategory": "더모 코스메틱 > 스킨케어 > 로션/크림/올인원",
  "gtin": "8800283715378",
  "imageUrl": "https://image.oliveyoung.co.kr/cfimages/cf-goods/uploads/images/thumbnails/400/10/0000/0100/A00000100238605ko.jpg?l=ko",
  "url": "https://www.oliveyoung.co.kr/store/goods/getGoodsDetail.do?goodsNo=A000001002386"
}
```

One item of `search_ohouse_products` (`get_ohouse_ranking` returns the same fields):

```json
{
  "rank": 1,
  "productId": "3326382",
  "name": "[오늘의집 단독] 고스트 독일 타이보 아쿠아텍스 패브릭 3인 4인 소파 (쿠션2개)",
  "brand": "먼데이하우스",
  "price": 269000,
  "originalPrice": 774600,
  "discountRate": 65,
  "currency": "KRW",
  "rating": 4.8,
  "reviewCount": 3024,
  "scrapCount": 33101,
  "isSoldOut": false,
  "isFreeDelivery": false,
  "isAd": false,
  "imageUrl": "https://prs.ohouse.com/apne2/any/uploads/productions/v1-559456359755840.jpg",
  "url": "https://store.ohou.se/goods/3326382"
}
```

One item of `search_korea_furniture_prices`:

```json
{
  "store": "hanssem",
  "storeName": "Hanssem Mall",
  "rank": 1,
  "productId": "799220",
  "name": "[특가~11/16am10] 엠마 컴포트 천연가죽 소파 4인(3종/택1)",
  "brand": "한샘",
  "price": 1079000,
  "originalPrice": 1379000,
  "discountRate": 22,
  "currency": "KRW",
  "rating": 4.8,
  "reviewCount": 1332,
  "isSoldOut": false,
  "imageUrl": "https://image.hanssem.com/hsimg/gds/1050/799/799220_A1.jpg?v=20250829154456",
  "url": "https://store.hanssem.com/goods/799220"
}
```

One item of `search_naver_blog_cafe` (source `cafe`):

```json
{
  "type": "cafe",
  "rank": 1,
  "title": "다이소 추천템 뭐가있을까요",
  "summary": "오늘 퇴근하고 오후에 다이소에 들릴까 하는데 다이소에서 이건 진짜 좋다! 하는 추천템 있나용??? …",
  "channelName": "● 몰테일 스토리 - 쉽고 빠른 해외직구 ●",
  "publishedAt": "2026-10-27T00:00:00+09:00",
  "publishedAtPrecision": "week",
  "isAd": null,
  "url": "https://cafe.naver.com/malltail/7548617"
}
```

The `summary` above is shortened here; the tool returns the full snippet that Naver shows.

### Pricing

Pay per event. Prices are shown on the Actor's pricing tab.

| Event | When | Price |
|---|---|---|
| `tool-call` | One per tool call that returns at least one item | $0.005 |
| `product` | One per item returned (products; blog and cafe posts count the same) | $0.003 |

What you are not charged for:

- `list_korea_commerce_sources`, connecting, `initialize` and `tools/list`.
- A tool call that fails (the site refused the request, wrong product ID, invalid arguments) or returns nothing.
- Items you did not receive. If the run's spending limit cannot pay for everything you asked for, fewer items are fetched, `status` is `budgetLimited` and `message` says so.

As with any Actor in Standby mode, the small container that serves your requests runs in your Apify account. It uses 256 MB and stops shortly after your last request. Two tools use the Apify residential proxy, whose traffic is billed by Apify on top (see the FAQ).

### Run it without an MCP client

You can also press **Start** (or call the Actor through the Apify API) to make one tool call. The items go to the run's dataset and a short summary to the key-value store record `RUN_SUMMARY`. With an empty input the run returns the Daiso Korea best-seller ranking (20 items).

| Input | Meaning |
|---|---|
| `tool` | One of the ten tool names. Default `get_daiso_ranking` |
| `keyword` | Search keyword for the search tools, e.g. `무선 이어폰` |
| `product` | Daiso product ID or URL for `get_daiso_product` |
| `maxItems` | 1 to 100 items |

### FAQ

**Which tools need a residential proxy?**
`search_naver_shopping` and `get_oliveyoung_ranking` with market `korea` send their request through the Apify RESIDENTIAL proxy with country KR, because those sites refuse most data-center IPs. If your Apify plan does not include residential proxies, these two tools answer with a clear error and charge nothing; all other tools work on every plan. `get_oliveyoung_ranking` with market `global` works without it.

**Why does a Daiso call sometimes take 5 to 10 seconds?**
Requests to Daiso Mall are spaced 5 to 10 seconds apart and sent one at a time. The first Daiso call is fast; a second one right after it waits. Call the Daiso tools one after another, not in parallel.

**Is Daiso online stock the stock of a store near me?**
No. `onlineStockQty` is the stock of the Daiso Mall web store. Stock of physical stores is not available.

**Does the server return reviews?**
No. It returns review counts and average ratings only. Review text and reviewer data are not collected.

**What happens when a site blocks the request?**
The server retries a few times with a new proxy IP and gives up within about 45 seconds with an error that says what to do next. That call is free.

**Are the names translated?**
No. Product names, brands and categories are returned as the site shows them, in Korean (the Olive Young global store is in English). Field names are English.

**Can I get more than 100 items or schedule daily exports?**
This server is built for quick agent lookups. For large exports, scheduled monitoring and change tracking use the batch Actors, which are built for bulk work: [Naver Shopping Keyword Rank Tracker](https://apify.com/magenta_courser/naver-shopping-rank-tracker), [Daiso Korea Ranking Scraper](https://apify.com/magenta_courser/daiso-ranking-scraper), [Olive Young Ranking Scraper](https://apify.com/magenta_courser/oliveyoung-ranking-scraper), [Ohouse Scraper](https://apify.com/magenta_courser/ohouse-scraper), [Korea Furniture Prices](https://apify.com/magenta_courser/korea-furniture-prices) and [Naver Blog & Cafe Search Scraper](https://apify.com/magenta_courser/naver-blog-cafe-search-scraper).

**Does it log in anywhere?**
No. It reads publicly visible listing pages only, without any account or cookie from an account.

### 한국어 안내

한국 커머스 데이터를 AI 에이전트가 도구로 쓰게 해 주는 MCP 서버입니다. Claude, Cursor 같은 MCP 클라이언트에 아래 주소를 등록하고 Apify 토큰을 Bearer로 넣으면 됩니다.

```
https://magenta-courser--korea-commerce-mcp.apify.actor/mcp
```

- 도구 10개: 네이버 쇼핑 검색 순위, 다이소몰 랭킹·검색·상품 상세(바코드·온라인 재고), 올리브영 랭킹(국내·글로벌), 오늘의집 검색·랭킹, 한샘·리바트·까사미아 가구 가격 비교, 네이버 블로그·카페 검색.
- 필수 인자는 도구마다 0~1개입니다. 한 번에 최대 100건(기본 20건)을 돌려줍니다.
- 결과를 돌려준 호출 1회(`tool-call`)와 돌려준 항목 1건(`product`)에만 과금합니다. 실패하거나 결과가 없으면 과금하지 않습니다.
- 네이버 쇼핑과 올리브영 국내 랭킹은 Apify 주거용 프록시(한국)가 필요합니다. 요금제에 없으면 안내 오류가 나오고 과금되지 않습니다.
- 리뷰 본문과 작성자 정보는 수집하지 않습니다. 로그인하지 않습니다.

### Need another field or feature?

Tell us in the **Issues** tab: a missing field, another input mode, a different output format. We aim to ship requested fields and features within a week, and we answer every issue.

# Actor input Schema

## `tool` (type: `string`):

Which tool to call. The search tools use "Search keyword"; get_daiso_product uses "Daiso product"; the ranking tools need nothing else. search_naver_shopping needs the Apify RESIDENTIAL proxy (country KR) on your plan.

## `keyword` (type: `string`):

Keyword for the search tools. Korean works best, e.g. 무선 이어폰 (wireless earbuds), 수납함 (storage box), 소파 (sofa). If empty, an example keyword is used.

## `product` (type: `string`):

For get_daiso_product: a Daiso product ID (e.g. 1030480, the "productId" from the Daiso ranking or search) or a daisomall.co.kr product URL containing pdNo=.

## `maxItems` (type: `integer`):

How many items to return (1-100). Each returned item is billed. If empty, 20 items are returned.

## Actor input object example

```json
{
  "tool": "get_daiso_ranking",
  "maxItems": 20
}
```

# Actor output Schema

## `items` (type: `string`):

Items returned by the tool call, as dataset items.

## `runSummary` (type: `string`):

Tool, arguments, status (completed, partial, budgetLimited), message, reported total and returned count. Not billed.

# 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 = {
    "tool": "get_daiso_ranking",
    "maxItems": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("magenta_courser/korea-commerce-mcp").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 = {
    "tool": "get_daiso_ranking",
    "maxItems": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("magenta_courser/korea-commerce-mcp").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "tool": "get_daiso_ranking",
  "maxItems": 20
}' |
apify call magenta_courser/korea-commerce-mcp --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,magenta_courser/korea-commerce-mcp"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/641Z3iVNcWGfePd4p/builds/UPE0rFh6bM4HlrIIS/openapi.json
