Interpark Ticket Scraper — Korean Concert & Musical Rankings
Pricing
from $4.00 / 1,000 results
Interpark Ticket Scraper — Korean Concert & Musical Rankings
Scrape the live performance rankings from Interpark Tickets (인터파크 티켓), Korea's #1 ticketing site: rank, show title, venue, run dates, genre, poster image and detail URL as clean JSON. Musicals, K-pop concerts, plays, classical, exhibitions and more. No seat/price data, no PII.
Pricing
from $4.00 / 1,000 results
Rating
0.0
(0)
Developer
Seok June Park
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
17 days ago
Last modified
Categories
Features
Share
Interpark Ticket Scraper — Korean Concert & Musical Rankings 🎫
Scrape the live performance rankings from Interpark Tickets (인터파크 티켓) — Korea's #1 ticketing platform, now operating as NOL 티켓 — as clean, structured JSON. Get the rank, show title, venue, run dates, genre, poster image and detail-page URL for every ranked musical, K-pop concert, play, classical show, exhibition and more, in one run.
The fastest way to see what's hot in Korean live entertainment right now: a cross-genre popularity board you can snapshot daily for concert-tour tracking, resale analysis, promoter research, or as a live data source for AI agents.
Try it free. Apify's free plan includes $5 of monthly platform credit — at $4.00 / 1,000 results that's roughly 1,250 show records from this actor, no credit card required. Set your input, click Start, and export JSON/CSV/Excel.
What it does
This actor reads ranking data straight from Interpark Tickets' own public ranking feed — since the October 2026 move to the NOL brand, the JSON feed behind nol.yanolja.com/ticket/display/ranking (the same endpoint the website calls as you switch category tabs) — so results are fast and complete — no fragile full-page scraping, no headless browser. You can scrape:
- All genres at once (default) — every category's ranking, interleaved into one cross-genre leaderboard (each genre's #1 first, then every #2, and so on), or
- A single genre — e.g. musicals, concerts, plays, classical, exhibitions.
Rankings are available for three windows — daily, weekly, and monthly — so you can track today's movers or a longer trend.
Interpark exposes eight ranking categories:
| Genre code | Korean | English |
|---|---|---|
MUSICAL | 뮤지컬 | Musical |
CONCERT | 콘서트 | Concert (incl. K-pop) |
DRAMA | 연극 | Play |
CLASSIC | 클래식/무용 | Classical & Dance |
EXHIBIT | 전시/행사 | Exhibition & Events |
KIDS | 아동/가족 | Kids & Family |
SPORTS | 스포츠 | Sports |
LEISURE | 레저/캠핑 | Leisure & Camping (NOL no longer shows this tab; the feed currently returns an empty ranking for it — see limitations) |
Why Interpark? Interpark Tickets is the dominant ticketing site in Korea for concerts, musicals and performances. Its public ranking board is the single best snapshot of live-entertainment demand in the country — which tours are selling, which musicals are trending, what's climbing week over week. This actor turns that board into a structured dataset you can filter, chart, and pipe into your own tools.
Input
| Field | Type | Description |
|---|---|---|
genre | string | Which ranking to scrape. all (default) collects every category and interleaves them. Or one category — a code (MUSICAL, CONCERT, DRAMA, CLASSIC, EXHIBIT, KIDS, SPORTS, LEISURE) or a Korean name (뮤지컬, 콘서트, 연극, 클래식/무용, 전시/행사, 아동/가족, 스포츠, 레저/캠핑). |
period | string | Ranking window: daily, weekly, or monthly. Default daily. |
maxItems | integer | Max show records to collect. Default 50, max 5000. |
proxyConfiguration | object | Proxy settings (see below). Defaults to a direct connection. |
Input example
{"genre": "CONCERT","period": "weekly","maxItems": 50}
{"genre": "뮤지컬","period": "daily","maxItems": 100}
Output
Each ranked show is one dataset record. rank is the show's position within its genre ranking (ties can occur — the site shows them). period_start / period_end are the show's run dates (YYYY-MM-DD). booking_percent is Interpark's own booking-share popularity metric (예매율) — the signal behind the ranking, not a ticket price. title, venue and genre are kept as the original Korean strings.
{"source": "interpark","show_id": "26012259","rank": 1,"rank_previous": 37,"title": "뮤지컬 〈렛미플라이〉","genre": "뮤지컬","genre_code": "musical","venue": "두산아트센터 연강홀","period_start": "2026-10-06","period_end": "2027-01-03","age_rating": null,"booking_percent": 12.7,"url": "https://nol.yanolja.com/ticket/products/26012259","image_url": "https://ticketimage.interpark.com/Play/image/large/26/26012259_p.gif","scraped_at": "2026-10-26T14:16:11+09:00"}
A full 50-item sample from a real run (default input, 2026-10-26) is in samples/sample-output.json.
| Field | Meaning |
|---|---|
source | Always "interpark". |
show_id | Interpark goods code — a stable per-show ID (GoodsCode). |
rank | Position in the genre ranking (1 = top). Ties can repeat a rank. |
rank_previous | The show's rank in the previous snapshot, for movement analysis; null if it's new / wasn't ranked before. The monthly chart carries no previous rank, so it is null on every monthly row. |
title | Show title, original Korean (authoritative). |
genre | Genre in Korean, as Interpark labels it (e.g. 뮤지컬, 콘서트). |
genre_code | Lower-case English genre code (e.g. musical, concert). |
venue | Venue / hall name (public place name), else null. |
period_start | Run start date (YYYY-MM-DD), else null. |
period_end | Run end date (YYYY-MM-DD), else null. |
age_rating | Viewing age rating. Currently always null: the NOL ranking feed (since 2026-10-21) no longer carries it. Kept in the schema so existing integrations don't break. |
booking_percent | Booking-share popularity metric (예매율). A ranking signal, not a price. null if absent. |
url | Show detail-page URL on NOL (https://nol.yanolja.com/ticket/products/<show_id>), the link the site itself uses. |
image_url | Poster image URL, else null. |
scraped_at | ISO-8601 timestamp (KST, UTC+9). |
The core fields — rank, title, genre, venue, period_start, period_end, booking_percent, url, image_url — populated on 50/50 records in the 2026-10-26 live test (default input). rank_previous is best-effort (47/50 on the daily chart — null for shows new to the chart, and always null on the monthly chart). age_rating is null — see above. Critical fields rank and title are always present.
Use cases
- K-pop concert & tour tracking — snapshot the
CONCERTranking daily to see which tours and artists are selling, when new dates enter the chart, and how they climb (rankvsrank_previous). - Ticket resale & demand analysis — use
rank,rank_previousandbooking_percentas a live demand signal for the secondary market: spot fast-rising, high-booking shows early. - Promoters & venue research — see which genres, venues and run windows dominate the rankings; benchmark your own show against the board and track competitors' positions over time.
- AI agents & datasets — feed a structured, always-fresh "what's hot in Korean live entertainment" feed into dashboards, trend models, or LLM agents.
❓ FAQ
Is it legal to scrape this data? This actor collects only public, non-personal ranking data — the same ranking board any visitor sees on Interpark / NOL 티켓 (nol.yanolja.com) without logging in. No personal data is collected (a venue is a public hall name, not a person). You are responsible for how you use the data; see the legality note below.
What does it cost in practice? $4.00 per 1,000 results + a few cents of platform usage. Example: a 50-result daily "all genres" pull costs about $0.20/day. Apify's free $5 monthly credit covers ~1,250 results.
Do I need to configure proxies? No — the default settings work out of the box. NOL serves its ranking feed without a bot wall, so the actor runs on a direct connection. If, on the Apify platform, every board comes back as a well-formed but empty ranking (the signature of a Korea-only geo-gate), the actor retries once through Apify Proxy (RESIDENTIAL, country KR) by itself. For very heavy pulls you can enable Apify Proxy yourself.
How fresh is the data?
Every run reads the live Interpark ranking at run time. Schedule the actor for recurring snapshots (e.g. a daily chart capture) and diff rank against rank_previous to track movement.
What is NOT included? No ticket prices and no seat maps / availability — those live behind per-show booking flows that require authenticated, per-show requests, and are deliberately out of scope (see limitations). This actor is a ranking/metadata feed, not a seat/price scraper.
🤖 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:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=kdatafactory/interpark-ticket-scraper","headers": { "Authorization": "Bearer <YOUR_APIFY_TOKEN>" }}}}
Your agent can then pull Korea's live performance rankings on demand — no scraping code in your app. Grab a free token from Apify → Integrations.
🇰🇷 More Korean data actors
This actor is part of a suite of Korean-platform scrapers by the same maintainer:
- popply-scraper — Korean pop-up store & event listings. Pair it with this actor for a fuller picture of Korea's live experiences and events.
- korea-trend-feed — trending keywords and rankings across Korean platforms. Combine with performance rankings to correlate buzz with ticket demand.
Browse all: apify.com/kdatafactory
Rate limiting & legality
- The actor collects only public, non-authenticated data. It never logs in and never touches private or booking endpoints.
- No personal data is collected — only show, venue and ranking information. No ticket prices and no seat/availability data are fetched.
- Requests are rate-limited: one page at a time with a ≥ 1 s delay between requests, to stay gentle on the source's servers. The default input makes 8 requests.
- You are responsible for using the data in line with Interpark's terms of service and applicable law.
Known limitations (honesty note)
- No prices, no seats. This actor deliberately does not collect ticket prices or seat maps / availability. Those require per-show, often authenticated booking requests that are out of scope.
booking_percentis a popularity/ranking metric (예매율), not a price. rank_previousis best-effort. It reflects the previous snapshot's rank where the source provides one, isnullfor shows that are new to the chart, and isnullon every row of the monthly chart (the source publishes no previous monthly rank). It is not billed as a guaranteed field.age_ratingis currently alwaysnull. The NOL ranking feed that replaced the old Interpark feed on 2026-10-21 does not include a viewing-age rating.LEISUREis currently empty. NOL still lists the 레저/캠핑 genre in its ranking-genre tree but shows no tab for it, and the feed returns an empty ranking. Withgenre = allthe other seven boards are returned; withgenre = LEISUREthe run ends successfully with 0 rows and says why.- Failures say what was observed. A run that collects nothing reports what the source actually returned (e.g. "HTTP 404 — the feed path no longer exists; a proxy will not help", "HTTP 200 with an empty body — request-shape rejection", "HTTP 403/429 — a real block; backoff or a proxy can help"), not a generic error.
- Ranks can tie. Interpark's ranking legitimately assigns the same
rankto multiple shows; the actor returns ranks as shown rather than forcing them unique. - Genre is a Korean string (with a
genre_codeconvenience field). Forgenre = all, records are interleaved across categories in round-robin rank order — so with a smallmaxItemsyou get each genre's top entries first, not a single global 1..N list. Each record still carries its own per-genrerank. - Titles, venues and genres are Korean strings — they are not translated.
If this actor saves you time, a rating on the Store page helps a solo maintainer a lot. Found an issue? Open it in the Issues tab — I respond fast.