Guides / Quickstart
クイックスタート
API キーを取得して最初のリクエストを送るまでの手順です。Data API(法人向け)と PRO API では、ベース URL とキーが異なります。サンプルコードは curl、JavaScript fetch、Python requests で掲載しています。
MCP は PRO API 専用です
ck_pers_…)または OAuth でのみ接続できます。Data API キー(ck_live_…)では接続できず 401 WRONG_KEY_SCOPE になります。→ MCP 接続1. 利用する API を選ぶ
| Data API | PRO API | |
|---|---|---|
| 対象 | 法人・機関(PoC · 有料等級) | PRO プランのご利用者 |
| ベース URL | https://api.chickstockfi.com/openapi/v1 | https://api.chickstockfi.com/openapi/pro/v1 |
| キー | ck_live_… | ck_pers_… |
| プラン | PoC(基本7日間) · Launch · Business · Scale · Enterprise | Data · Ask · Bundle |
| リファレンス | Data API リファレンス | PRO API リファレンス |
どちらの API も、www.chickstockfi.com のアドレス(https://www.chickstockfi.com/openapi/v1、https://www.chickstockfi.com/openapi/pro/v1)から同じレスポンスを受け取れます。
2. アカウントを取得してキーを作成する
- アカウントは申請制で発行しています。利用申請をお送りいただくと、審査のうえアカウント ID と初期パスワードをお知らせします。ご自身で登録する手続きはありません。
- 発行されたアカウントで開発者コンソールにログインします。
- 新しいキーを作成から、名前とスコープ(Data API または PRO API)を選びます。PRO API キーは、PRO プランが適用されたアカウントでのみ作成できます。
- キーの値全体は、作成直後に一度だけ表示されます。すぐに環境変数やシークレット管理ツールに保存してください。
export PHOENIX_API_KEY="ck_live_…" # Data API
export PHOENIX_PRO_KEY="ck_pers_…" # PRO API3. 最初のリクエスト: Data API
ニュースのエンドポイントで接続を確認します。本日の残り呼び出し数は、レスポンスヘッダーの X-Quota-Remaining で確認できます。
サムスン電子 · 005930
curl -sG "https://api.chickstockfi.com/openapi/v1/news" \
-H "Authorization: Bearer $PHOENIX_API_KEY" \
--data-urlencode "symbol=005930" \
--data-urlencode "limit=2"// Node.js 18 以上(組み込みの fetch)。キーはサーバー側でのみ使用します。
const url = new URL("https://api.chickstockfi.com/openapi/v1/news");
url.search = new URLSearchParams({ symbol: "005930", limit: "2" }).toString(); // 値をエンコードします
const res = await fetch(url, {
headers: { Authorization: `Bearer ${process.env.PHOENIX_API_KEY}` },
});
const body = await res.json();
if (!res.ok) {
throw new Error(`${res.status} ${body.error?.code ?? ""} ${body.error?.message ?? ""}`);
}
console.log(body.meta.count, body.data[0]?.title);
console.log("本日の残り呼び出し数:", res.headers.get("X-Quota-Remaining"));import os
import requests
res = requests.get(
"https://api.chickstockfi.com/openapi/v1/news",
params={"symbol": "005930", "limit": 2},
headers={"Authorization": f"Bearer {os.environ['PHOENIX_API_KEY']}"},
timeout=10,
)
body = res.json()
if not res.ok:
err = body.get("error", {})
raise RuntimeError(f"{res.status_code} {err.get('code')} {err.get('message')}")
print(body["meta"]["count"], body["data"][0]["title"] if body["data"] else None)
print("本日の残り呼び出し数:", res.headers.get("X-Quota-Remaining"))レスポンス例 — 値は説明用です
HTTP/2 200
content-type: application/json
x-ratelimit-limit: 3000
x-ratelimit-remaining: 2999
x-quota-limit: 500000
x-quota-remaining: 499999
x-quota-period: 2026-10-21
{
"data": [
{
"id": "art_5k2x9q",
"symbol": "005930",
"market": "kr",
"lang": "ko",
"title_ko": null,
"title": "삼성전자 관련 기사 제목",
"summary": null,
"publisher": "연합뉴스",
"published_at": "2026-10-21T00:12:00.000Z",
"url": "https://www.chickstockfi.com/openapi/v1/articles/art_5k2x9q/read"
}
],
"next_cursor": "c1.eyJrIjpbIjIwMjYtMTAtMjFUMDA6MTI6MDAuMDAwWiIsMTIzNDVdfQ",
"has_more": true,
"meta": { "count": 1, "symbol": "005930", "as_of": "2026-10-21T00:15:02.418Z" }
}同じキーで株価・ブリーフィング・開示も呼び出せます。例: GET /quotes/005930、GET /disclosures?symbol=005930。PoC 期間が終了したアカウントのキーには403 POC_ENDED が返ります。
4. 企業データ: 財務諸表と指標
企業単位のデータは /companies/{symbol}/… にあります。財務比率・バリュエーション・成長率は GET /companies/005930/metrics、財務諸表の勘定科目は GET /companies/005930/financials です。クエリ値は -G --data-urlencode で送ってください。勘定科目と期間に英語コード(revenue、FY2025)を使えばエンコードは不要です。
サムスン電子 · 005930
curl -sG "https://api.chickstockfi.com/openapi/v1/companies/005930/financials" \
-H "Authorization: Bearer $PHOENIX_API_KEY" \
--data-urlencode "account=revenue,operating_income" \
--data-urlencode "period=FY2025"
curl -sG "https://api.chickstockfi.com/openapi/v1/companies/005930/metrics" \
-H "Authorization: Bearer $PHOENIX_API_KEY" \
--data-urlencode "cagr_years=3"韓国語の値(account=매출액、period=2025 연간)も受け付けますが、エンコードしない韓国語クエリはエッジで本文のない 400 として拒否されることがあります。
レスポンス例 — 財務諸表(値は説明用です)
{
"data": {
"symbol": "005930",
"name": "삼성전자",
"market": "KR",
"currency": "KRW",
"rows": [
{
"account": "매출액",
"account_code": "revenue",
"fiscal_year": 2025,
"fiscal_quarter": null,
"period": "2025 연간",
"period_code": "FY2025",
"period_type": "annual",
"period_end": "2025-12-31",
"fs": "CFS",
"fs_code": "CFS",
"value": 3008709,
"unit": "억원",
"unit_code": "KRW_EOK",
"source": "DART",
"report": "사업보고서 (2025.12)",
"report_code": "annual_report",
"filed_date": "2026-03-11",
"source_url": "https://dart.fss.or.kr/dsaf001/main.do?rcpNo=20260311001234"
}
]
},
"next_cursor": null,
"has_more": false,
"meta": { "symbol": "005930", "market": "KR", "count": 2, "total": 2, "limit": 100, "as_of": "2026-10-21T06:30:00.000Z", "disclaimer": "…", "unit_note": "…" }
}レスポンスの形
- 単一ドキュメント:
{ data, meta }— 例:/companies/005930/metrics - リスト:
{ data, next_cursor, has_more, meta }— 次のページはnext_cursorを同じフィルターのまま送ります。 - 財務諸表: 行は
data.rowsにあり、next_cursor・has_moreは最上位に付きます(既定 100 行、最大 200 行)。 metaには常にas_ofがあり、企業エンドポイントはdisclaimer・unit_noteも返します。GET /quotes/{symbol}はdata・metaに加えて従来の最上位フィールドも返します(従来フィールドは非推奨 —dataを読んでください)。
5. 最初のリクエスト: PRO API
まず GET /me で、ご自身のプランと本日の使用量を確認します。/me は1日の呼び出し数にカウントされません。
curl -s "https://api.chickstockfi.com/openapi/pro/v1/me" \
-H "Authorization: Bearer $PHOENIX_PRO_KEY"const res = await fetch("https://api.chickstockfi.com/openapi/pro/v1/me", {
headers: { Authorization: `Bearer ${process.env.PHOENIX_PRO_KEY}` },
});
const body = await res.json();
if (!res.ok) throw new Error(`${res.status} ${body.error?.code}`);
const { plan, usage } = body.data;
console.log(plan.products, `${usage.calls_today} / ${usage.daily_calls}`);import os
import requests
res = requests.get(
"https://api.chickstockfi.com/openapi/pro/v1/me",
headers={"Authorization": f"Bearer {os.environ['PHOENIX_PRO_KEY']}"},
timeout=10,
)
res.raise_for_status()
data = res.json()["data"]
print(data["plan"]["products"], data["usage"]["calls_today"], "/", data["usage"]["daily_calls"])レスポンス例 — Data プランのアカウント。値は説明用です
{
"data": {
"plan": {
"products": ["data"],
"daily_calls": 1000,
"per_second": 2,
"summary_daily": 50,
"ask_monthly_included": 0,
"ask_daily_max": 0,
"ask_overage_krw": 0,
"monthly_cost_cap_usd": 30,
"starts_at": "2026-10-01T00:00:00.000Z",
"expires_at": "2026-10-31T15:00:00.000Z"
},
"usage": {
"day": "2026-10-21",
"month": "2026-10",
"calls_today": 12,
"daily_calls": 1000,
"summaries_generated_today": 1,
"summary_daily": 50,
"ask_today": 0,
"ask_daily_max": 0,
"ask_month": 0,
"ask_monthly_included": 0,
"ask_overage_month": 0,
"ask_overage_krw_each": 0,
"api_ask_month": 0,
"llm_cost_month_usd": 0.03,
"llm_reserved_usd": 0,
"monthly_cost_cap_usd": 30,
"budget_remaining_usd": 29.97
}
},
"as_of": "2026-10-21T01:02:03.000Z",
"sources": [],
"disclaimer": "…",
"meta": { "note": "질문 수(ask_*)는 웹 PRO와 API를 합친 값입니다." }
}続いて PRO API の GET https://api.chickstockfi.com/openapi/pro/v1/quotes/005930(株価)、GET https://api.chickstockfi.com/openapi/pro/v1/metrics/005930(財務比率・バリュエーション)、GET https://api.chickstockfi.com/openapi/pro/v1/disclosures?symbol=005930(開示)を呼び出してみてください。PRO API のデータレスポンスは { data, as_of, sources, disclaimer, meta } の形です。パスは Data API と異なります — Data API では同じ指標は GET /companies/005930/metrics です。
6. OpenAPI 仕様からクライアントを生成する
2つの API は OpenAPI 3.1 仕様で公開しています。仕様 JSON をダウンロードし、openapi-generator や oapi-codegen などの OpenAPI ツールで、お使いの言語のクライアントを生成できます。 OpenAPI 3.1 への対応範囲はツールによって異なるため、生成結果は一度確認してください。API リファレンスの各エンドポイントでも、言語別のリクエストコードを確認できます。
# 仕様 JSON をダウンロード
curl -sO https://openapi.chickstockfi.com/openapi.json
curl -sO https://openapi.chickstockfi.com/openapi-pro.json
# 例: openapi-generator で Python クライアントを生成
openapi-generator generate -i openapi.json -g python -o ./phoenix-data-client
# 例: oapi-codegen で Go の型とクライアントを生成
oapi-codegen -generate types,client -package phoenix openapi.json > phoenix.gen.go次に読むドキュメント