# Korean Benefits & Policy Reference Dataset - 50 Records (`ingenuous_signature/korea-subsidy-programs-kr`) Actor

Export up to 50 dated Korean benefits and policy-reference records from an owned snapshot with official links. Not a live application feed; six inaccurate entries withheld.

- **URL**: https://apify.com/ingenuous\_signature/korea-subsidy-programs-kr.md
- **Developed by:** [종현 김](https://apify.com/ingenuous_signature) (community)
- **Categories:** Business, Education
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$100.00 / 1,000 100 corpus programs

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

### What does Korea Subsidy Programs KR do?

**Export Korean benefits and policy-reference content without scraping.** This Actor packages an owner-maintained snapshot checked on 2026-09-14. Of 56 content records, six with known unresolved inaccuracies are withheld; up to 50 normalized records are returned. It makes no external source requests. Apify provides API access, scheduling, monitoring and dataset exports; scheduling does not refresh the bundled corpus automatically.

**한국 지원제도·정책 자료를 구조화해 내보냅니다.** 2026-09-14에 확인한 자체 콘텐츠 56개 중 오류가 확인된 6개를 보류하고 최대 50개를 반환합니다. 외부 사이트를 수집하지 않습니다. 원본 폴더는 58개 JSON이고 `pipeline-smoketest`, `t12w` 두 테스트 항목도 제외했습니다. 50개 독립 지원사업을 보장하는 목록이 아닙니다. 세금·계산기·행정 안내 및 같은 제도의 서로 다른 안내문도 포함합니다.

### Why use this corpus?

Use a consistent schema for Korean benefit discovery, internal search and reference dashboards. Every item retains official attribution URLs and section-level provenance. Amounts keep their original Korean descriptions: an income threshold, tax amount or statutory ceiling is not automatically relabeled as a cash benefit. No eligibility decisions, applications, identity data or payments are processed.

### How to use / 사용 방법

1. Choose an optional category and Korean keyword in Input.
2. Start with `maxItems: 5` for a small export.
3. Open the dataset and follow each item's official links before relying on the policy.
4. Download JSON, CSV, Excel or HTML, or use the Apify API.

```json
{"category":"welfare-guide","keyword":"연금","maxItems":5,"activeOnly":false}
```

This example returns up to five reference records, not five currently open applications. 예제는 현재 접수 중인 제도 5건을 보장하지 않습니다.

### Input

| Field | Default | Meaning |
|---|---|---|
| `category` | All | Exact source category: `welfare-guide`, `calculator`, `info`, `form-tool` |
| `keyword` | None | NFC-normalized, case-insensitive match across title, summary and excerpts |
| `activeOnly` | `false` | Dated windows containing the selected day, or a year-round observation on its exact KST verification day; relative/unknown windows are excluded |
| `asOfDate` | Today in Asia/Seoul | Real `YYYY-MM-DD` calendar date |
| `maxItems` | 50 in Console | Maximum output, 1-1000; cannot exceed actual matching export size |

**활성 필터 주의:** 2026-09-14 출처 확인에 기초한 공개 대상 50개 중 날짜 구간 1개, 상대적 신청기한 4개, 상시 접수 관측 2개, 신청기간 미명시 43개입니다. 날짜 구간과 상시 접수를 합한 3개도 독립 사업 3개가 아니라 콘텐츠 레코드입니다. 상시 2개는 같은 국민취업지원제도의 서로 다른 안내입니다. 상대적 기한은 개인·사업장 기준일이 없어 달력 날짜로 바꾸지 않습니다. 시행일·재검토일·급여 지급기간·행정 처리기간을 신청기간으로 추정하지 않습니다.

`activeOnly`는 알려진 일 단위 접수 구간만 검사하며 시각·개인 자격을 판단하지 않습니다. 상시 관측은 확인일에만 필터에 사용하며 과거/미래로 무한 외삽하지 않습니다. `status=active`는 제도 운영을 뜻하고 현재 접수 가능을 뜻하지 않습니다. 청년월세는 계속사업이지만 확인된 접수기간은 종료됐습니다.

### Output and data fields

Each item has exactly these top-level keys:

| Field | Meaning |
|---|---|
| `slug` | Unique corpus filename stem; not necessarily a unique government program |
| `title`, `category`, `summary` | Preserved source display name, category and short description |
| `eligibility[]` | Condition/checklist excerpts: `{label,text,sourceSection}`; not an exhaustive qualification rule engine |
| `amounts[]` | Monetary excerpts plus optional source `value` and `kind`; null means not explicitly structured |
| `deadlines[]` | Application/submission timing excerpts and nullable `applicationWindow` |
| `officialSources[]` | Government/public-agency attribution, including followed cited links. Private YouTube references are excluded and identified as `non_official` in source checks. |
| `applicationWindow` | `{window,periods,applicationStatus,timingNotes}`. `window` is `stated`, `상시`, or `unstated`; each period has program name, `dated`/`relative`/`continuous` kind, nullable start/end dates, original timing evidence and source URL. Multiple periods keep distinct programs/rounds separate. |
| `sourceCheckedAt` | Latest recorded fetch timestamp for this record's cited sources, including unsuccessful attempts; not a guarantee every source rendered. |
| `status`, `statusEvidence` | Program operation: `active`, `inactive`, `unknown`, `mixed`, `not_applicable`, with the observation/limitation. Separate from application availability. |
| `sourceDates[]` | Per-source fetch timestamp/result and separately nullable reference year, last-updated, publication, amendment and effective dates with visible date evidence. Absent dates stay null. |
| `updatedAt` | Local source file modification timestamp captured when packaged, **not** the government's policy update or a fresh verification date |

Empty arrays mean no selected excerpt, not that no eligibility conditions or deadlines exist. Excerpts are indexed using module/title/monetary-text rules; read the source for full context. The snapshot includes file SHA-256 provenance. Internal advertising IDs, app package configuration and planning metadata are not exported.

### Pricing / 요금

Existing pay-per-event configuration: **`programs-100`, USD 0.10 per started block of up to 100 emitted records**, counted per run. The event name says "programs" but counts *content records*, not unique programs. This snapshot emits at most 50 records: 1-50 results cost one $0.10 event, zero results cost zero events. No additional start or per-item event; platform usage is included. Separate small runs each incur their own event. Private validation does not establish customer billing or revenue. 기존 과금 설정은 변경하지 않았으며, 1~50개 출력은 실행당 $0.10, 0개 출력은 이벤트 0개입니다.

### Tips, attribution and limitations

Use `welfare-guide` to avoid many calculator/tax records. This snapshot is not a complete, deduplicated national subsidy database. No external re-verification occurs at run time. `activeOnly` uses structured curated windows, not old labels such as '진행중'. Most cited statutes do not establish current benefit operations or application dates; unknown is not inactive. Bokjiro home-page rendering was incomplete and is not used as positive timing evidence. Image-based KINFA calendars and the linked MOLIT HWPX were inspected during maintenance.

Six records with documented unresolved text issues are **not exported**: `pension-income-base-calc` (2026 pension-rate phase-in omission), `mugeuphyueop-guide` and `unpaid-leave-support` (old unpaid-leave rule), `youth-future-savings` and `youth-grant-calendar` (unsupported savings application timing), and `elder-employ-subsidy` (first-application eligibility cutoff omission). The source corpus was not silently corrected; export filtering prevents these issues from reaching customers. Exclusion is not a claim that every remaining excerpt is current or exhaustive. 문구 오류가 알려진 6개는 출력하지 않으며 나머지도 최신 정책을 보장하지 않습니다.

The app corpus stores verification in `contents[].meta.verification`, with the requested `applicationWindow`, `sourceCheckedAt`, and program `status`. Top-level app `status` remains the existing draft/live/retired lifecycle contract. `scripts/update-content.sh` synchronizes this metadata to server content and existing offline bundles. The two legacy housing records share one app key; the canonical app carries both slug-keyed verifications without replacing its content with the other guide. The Actor generator selects by filename slug, fails if verification is absent/duplicated, and validates the complete output schema. Update this corpus through its pipeline and rebuild to distribute changes.

Attribution is per item to sources such as [National Law Information Center](https://www.law.go.kr/), [MOLIT](https://www.molit.go.kr/), [Bokjiro](https://www.bokjiro.go.kr/) and [KINFA](https://www.kinfa.or.kr/). Content ownership is supplied by the owner; references do not imply government endorsement.

### Disclaimer and support / 면책 및 문의

**Not a government service. 정부 서비스가 아니며 정부·공공기관을 대표하지 않습니다.** This is informational data, not legal, tax, financial or medical advice, an entitlement decision or an application channel. Verify current eligibility, amounts and deadlines with the responsible agency. 실제 신청·심사·지급 여부는 소관 기관 안내를 따르세요.

Report schema problems through the Actor Issues tab when available, including the slug and run ID, but no personal information.

# Actor input Schema

## `category` (type: `string`):

Exact corpus category (e.g. welfare-guide, calculator, info, form-tool); omit to search all 50 vetted records. This is not an official government program category.

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

Optional Korean or English keyword matched case-insensitively against title, summary and source excerpts; does not search live government data.

## `activeOnly` (type: `boolean`):

Match dated windows or year-round observations on their exact KST check date. Exclude relative/unstated windows. Program operation status is separate from application availability.

## `asOfDate` (type: `string`):

YYYY-MM-DD; defaults to today in Asia/Seoul. Day-level inclusive windows; check source for opening/closing times.

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

Maximum records emitted from the 50-record owned snapshot. For a small test use 1; one $0.10 event covers up to 100 returned records, zero results create no event.

## Actor input object example

```json
{
  "activeOnly": false,
  "maxItems": 50
}
```

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("ingenuous_signature/korea-subsidy-programs-kr").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 = {}

# Run the Actor and wait for it to finish
run = client.actor("ingenuous_signature/korea-subsidy-programs-kr").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 '{}' |
apify call ingenuous_signature/korea-subsidy-programs-kr --silent --output-dataset

```

## MCP server setup

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

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/n0KkBCtlBUslYyNyZ/builds/54EoRwbzvHRvlohF6/openapi.json
