Real-time Korean corporate disclosure (DART) events. Pay per call in USDC via x402. No API key.
Real-time DART (Korea's SEC EDGAR equivalent) filing events, structured for machines. Pay per call with USDC via x402 — no account, no API key, no subscription.
Base URL: https://dartapi.ljaysk.com (machine docs: /llms.txt, /openapi.json)
Korea's exchanges publish ~2,500 corporate filings every trading day, in Korean. This service polls DART every 15 seconds, classifies each filing into 31 machine-readable categories, scores importance 0–1, and serves structured JSON with English labels and English company names.
| Endpoint | Price | What you get |
|---|---|---|
GET /v1/events | $0.002 | Full filing stream, cursor-based delta |
GET /v1/events/material | $0.005 | Material filings only (supply contracts, capital raises, CB/BW, control changes, delisting risk, M&A…) |
GET /v1/events/{rcept_no} | $0.01 | Single filing detail |
GET /v1/events/{rcept_no}/document | $0.02 | Full original text, parsed to clean plain text (not charged on retrieval failure) |
GET /v1/company/{code}/events | $0.005 | Per-company timeline (6-digit ticker) |
GET /v1/bids | $0.005 | KONEPS government procurement bid notices (goods/service/construction/foreign), cursor delta |
GET /v1/bids/search | $0.005 | Bid search by keyword, type, minimum budget (KRW) |
GET /v1/bids/{bid_ntce_no} | $0.01 | Bid notice full detail (all raw KONEPS fields) |
GET /v1/awards | $0.005 | Award results — winner and amount |
GET /v1/prespecs | $0.01 | Early signal: pre-spec notices, before bid notices |
GET /v1/orderplans | $0.01 | Earliest signal: agency order plans for the fiscal year |
GET /v1/match/{bizno} | $0.05 | Personalized matching — company profile + biddable notices, scored |
GET /v1/company-awards/{bizno} | $0.02 | Company award history — competitor intel |
Free: /v1/health, /, /llms.txt, /openapi.json.
Payment: x402 exact scheme, USDC on Base or Solana (Solana fees sponsored by
the facilitator — buyer wallets need zero SOL).
curl https://dartapi.ljaysk.com/v1/events/material
# -> HTTP 402 with payment requirements (accepts: base / solana)
See client_example.py. Fund any EVM wallet with a few cents
of USDC on Base, then:
X402_PRIVATE_KEY=0x... python client_example.py /v1/events/material
Standard x402 SDKs (x402-fetch, x402-axios, x402 python) work as-is.
mcp_server.py wraps the API as MCP tools
(kr_dart_material_events, kr_dart_all_events, kr_dart_company_timeline,
kr_dart_filing_detail).
{
"mcpServers": {
"kr-dart-events": {
"command": "uv",
"args": ["run", "--with", "mcp,eth-account", "python", "/path/to/mcp_server.py"],
"env": { "X402_PRIVATE_KEY": "0x..." }
}
}
}
Poll /v1/events/material?since_cursor=<last> every 60s during KST market hours.
New filings appear within ~15s of DART publication. Cost ≈ $2/day.
server/ contains the full seller implementation (FastAPI + hand-rolled x402
middleware, CDP facilitator with JWT auth) — reference for building your own
x402 seller.MIT — see LICENSE. Operated by LJay AI Media Group · contact@ljaysk.com
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
docker run -i --rm ghcr.io/ljaysk/kr-dart-events-mcp:0.1.4Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-ljaysk-kr-dart-events": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/ljaysk/kr-dart-events-mcp:0.1.4"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup referenceghcr.io/ljaysk/kr-dart-events-mcp:0.1.4dockerio.github.LJaysk/kr-dart-events works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.