# Asia Game License Check (Korea, China, Taiwan) (`antonio_aleph/asia-game-license-check`) Actor

One call: is this game rated or licensed in South Korea (GRAC), China (NPPA 版号 / banhao) and Taiwan? Returns the latest official status per country as clean JSON. Built for AI agents. Data refreshed daily.

- **URL**: https://apify.com/antonio\_aleph/asia-game-license-check.md
- **Developed by:** [Antonio Aleph](https://apify.com/antonio_aleph) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$0.02 / license check

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/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

**Asia Game License Check** answers one question in **one call**: *is this game rated or licensed in South Korea, China and Taiwan?* Give it a game title and it returns one clean JSON row per country with the **latest official status**, date, platforms and the details you need to verify it. Built for **AI agents**, compliance checks and market research.

| Country | Official system | Source |
|---|---|---|
| 🇰🇷 South Korea | Age rating (ALL / 12+ / 15+ / 18+) | GRAC / GCRB |
| 🇨🇳 China (mainland) | **Publishing license (版号 / banhao)** | NPPA |
| 🇹🇼 Taiwan | Age rating (G / P / PG12 / PG15 / R) | Ministry of Digital Affairs |

- 🔎 **One call, three countries.** No need to query three government websites in three languages.
- 🔄 **Refreshed daily** from each official source (over 100,000 records in total)
- 💸 **$0.02 per check, only when at least one country has a match.** No match anywhere = $0.
- 🤖 Predictable JSON: `found`, `status` and `latest` are always in the same place

> This is an **unofficial tool**. It is not affiliated with, endorsed by, or operated by GRAC, GCRB, the NPPA, Taiwan's Ministry of Digital Affairs, or any government body.

### What can you use Asia Game License Check for?

- **AI agents and chatbots**: "Can this game be sold in China? What is it rated in Korea and Taiwan?" One tool call, one structured answer.
- **Publishing and licensing due diligence**: check a title's status across the three markets before a deal, a port or a launch plan.
- **Localization and compliance**: see the current rating and platforms in each market at a glance.
- **Market research**: check a competitor's footprint across East Asia.
- **Monitoring**: schedule a daily check of your titles and get notified when a new rating or approval appears.

### Sample output

Input: `{"gameTitle": "Monster Hunter", "titleSimplifiedChinese": "怪物猎人"}`. One row per country:

```json
{
  "country": "CN",
  "countryName": "China (mainland)",
  "authority": "NPPA (National Press and Publication Administration)",
  "systemType": "publishing license (版号 / banhao)",
  "searchedTitles": ["怪物猎人"],
  "found": true,
  "matchCount": 4,
  "status": "APPROVED",
  "latest": {
    "title": "怪物猎人：旅人",
    "date": "2024-12-23",
    "listType": "import",
    "approvalNumber": "国新出审〔2024〕2703号",
    "isbn": "978-7-498-14424-9",
    "publisher": "重庆华龙网集团股份有限公司",
    "operator": "重庆华龙网集团股份有限公司",
    "category": ["Mobile", "PC Client"],
    "announcementUrl": "https://www.nppa.gov.cn/bsfw/jggs/yxspjg/jkwlyxspxx/202402/t20240202_831561.html"
  },
  "platforms": ["Console (PS4)", "Mobile", "PC Client"],
  "approvalCount": 4,
  "revocationCount": 0,
  "dataRefreshedAt": "2026-09-29T20:00:16+00:00",
  "detailActor": "https://apify.com/antonio_aleph/china-game-approval-tracker",
  "error": null
}
```

```json
{
  "country": "TW",
  "systemType": "age rating",
  "found": true,
  "matchCount": 43,
  "status": "PG15",
  "latest": {
    "title": "Monster Hunter Stories 3: Twisted Reflection",
    "date": "2026-03-13",
    "rating": "PG15 (15+)",
    "platform": "PC (Offline)",
    "company": "Capcom Asia Co., Ltd."
  },
  "platforms": ["Mobile", "PC (Offline)", "PS4", "PS5", "Switch", "Switch 2", "Xbox Series X|S"]
}
```

#### Output fields

| Field | Description |
|---|---|
| `country`, `countryName` | `KR`, `CN` or `TW` |
| `authority`, `systemType` | Issuing body and whether it is an **age rating** or a **publishing license** |
| `searchedTitles` | The title(s) actually searched in that country |
| `found` | `true` / `false`; `null` if that country's data was temporarily unavailable |
| `matchCount` | Number of matching records |
| `status` | KR: latest rating (`ALL`, `12+`, `15+`, `18+`, `REFUSED`, `REVOKED`). CN: `APPROVED` or `CHANGE_OR_REVOCATION_ONLY`. TW: latest rating (`G`, `P`, `PG12`, `PG15`, `R`) |
| `latest` | The most recent matching record, with date, title as registered, platform, company and IDs (rating number, approval number, ISBN) |
| `platforms` | All platforms across the matching records |
| `approvalCount`, `revocationCount` | China only |
| `matches` | Up to 5 full records per country, if `includeMatches` is on |
| `detailActor` | Single-country Actor for the full history |
| `error` | Set if that country's data could not be loaded |

### How to use it

| Input | Example | Notes |
|---|---|---|
| `gameTitle` | `"Monster Hunter"` | English or Korean title. Used for Korea and Taiwan (and China if no Chinese title is given). |
| `titleSimplifiedChinese` | `"怪物猎人"`, `"原神"` | **Recommended for China.** NPPA publishes approved titles in Simplified Chinese only. |
| `titleTraditionalChinese` | `"鬥陣特攻"` | Optional. Many games are registered in Taiwan under a Traditional Chinese name. |
| `countries` | `["CN", "TW"]` | Default: all three |
| `includeMatches` | `false` | Add up to 5 full matching records per country |

**Tips for accurate results**

- Matching is **partial** and ignores case and spaces. A broad title such as "Monster Hunter" matches every Monster Hunter game, and `latest` is the newest among them. Use the exact title (e.g. "Monster Hunter Stories 3") to check one specific game.
- Give the **Simplified Chinese title** for China. English titles almost never match NPPA records. AI agents can translate the title first.
- **Korea:** most mobile games are rated by app stores (IARC self-classification) and are not in government data. `found: false` for a mobile game in Korea does not mean it is unavailable there.

### Pricing

This Actor uses **pay per event** pricing, with no platform usage fee on top:

| Event | Price | When |
|---|---|---|
| **License check** | **$0.02** per run | Once per run, **only if at least one country has a matching record** |

- A check that finds the game in any country: **$0.02**, whether it is found in one country or all three
- No match in any country: **$0**
- Invalid input, or no country data available: **$0**

If your maximum cost per run is below $0.02, the Actor stops without charging.

### FAQ

**How fresh is the data?**
Each country's data is re-synced from the official source once a day. `dataRefreshedAt` shows when.

**Is a Chinese 版号 the same as an age rating?**
No. A banhao is a **publishing license** issued by the NPPA. Korea and Taiwan issue **age ratings**. `systemType` tells you which one you are looking at.

**What if one country's data is down?**
The other countries are still returned, and the affected row shows `found: null` and an `error`. You are charged only if at least one country returns a match.

**I need the full history, not just the latest record.**
Use the single-country Actors linked in `detailActor`: [Korea Game Rating Lookup](https://apify.com/antonio_aleph/korea-game-rating), [China Game Approval Tracker](https://apify.com/antonio_aleph/china-game-approval-tracker) and [Taiwan Game Rating Lookup](https://apify.com/antonio_aleph/taiwan-game-rating).

**Will more countries be added?**
Yes. More Asian markets with official public data are planned.

**Found a problem?**
Please open an issue in the **Issues** tab.

### Data sources and attribution

- 🇰🇷 **Game Rating and Administration Committee (게임물관리위원회, GRAC)** Open API, [grac.or.kr](https://www.grac.or.kr/), including decisions by the Game Content Rating Board (GCRB)
- 🇨🇳 **National Press and Publication Administration (国家新闻出版署, NPPA)**, [nppa.gov.cn](https://www.nppa.gov.cn/), game approval results
- 🇹🇼 **Taiwan Entertainment Software Rating Information (數位娛樂軟體分級查詢網)**, [gamerating.org.tw](https://www.gamerating.org.tw/), Ministry of Digital Affairs
- This Actor is an independent, **unofficial** tool and is not affiliated with any of these bodies or governments. Always check critical decisions against the official sources.

# Actor input Schema

## `gameTitle` (type: `string`):

Title in English (or Korean). Used for Korea and Taiwan, and for China if no Simplified Chinese title is given.

## `titleSimplifiedChinese` (type: `string`):

Recommended for China: NPPA publishes approved titles in Simplified Chinese only, e.g. "原神", "怪物猎人".

## `titleTraditionalChinese` (type: `string`):

Many games are registered in Taiwan under a Traditional Chinese name, e.g. "鬥陣特攻" (Overwatch). Searched in addition to the game title.

## `countries` (type: `array`):

Which countries to check. Default: all.

## `includeMatches` (type: `boolean`):

Add up to 5 full matching records per country to each row (the price stays the same).

## Actor input object example

```json
{
  "gameTitle": "Monster Hunter",
  "titleSimplifiedChinese": "怪物猎人",
  "includeMatches": false
}
```

# Actor output Schema

## `results` (type: `string`):

No description

## `summary` (type: `string`):

No description

# 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 = {
    "gameTitle": "Monster Hunter",
    "titleSimplifiedChinese": "怪物猎人"
};

// Run the Actor and wait for it to finish
const run = await client.actor("antonio_aleph/asia-game-license-check").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 = {
    "gameTitle": "Monster Hunter",
    "titleSimplifiedChinese": "怪物猎人",
}

# Run the Actor and wait for it to finish
run = client.actor("antonio_aleph/asia-game-license-check").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 '{
  "gameTitle": "Monster Hunter",
  "titleSimplifiedChinese": "怪物猎人"
}' |
apify call antonio_aleph/asia-game-license-check --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,antonio_aleph/asia-game-license-check"
        }
    }
}
```

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/IzbbzwDXUw3s5ZDYM/builds/zP10Jgu6MaiVKFNXh/openapi.json
