ECONALK 公開 API では、掲載記事と経済カレンダーイベントをプログラムから取得できます。すべてのエンドポイントには開発者ダッシュボードで発行した API キーが必要です。
https://econalk.com/api/v1
API キーを Authorization ヘッダーに Bearer トークンとして渡してください。キーは作成時に一度だけ表示されます — 安全に保管してください。
Authorization: Bearer ek_live_<your-key>
X-API-Key ヘッダーで渡すこともできます。
制限は ECONALK メンバーシップに従います。コンソールと API キーは、別途の開発者登録なしに ECONALK アカウントをそのまま使用します。会員は Member ティアで、ECONALK プレミアム会員は1時間以内(コンソール訪問時は即時)に自動昇格します。
| ティア | レート制限 | 月間含有量 | 従量課金 | ハードキャップ |
|---|---|---|---|---|
| Member(無料) | 60 req/min | 10,000 | $2 / 1,000 req | 20,000 |
| Premium | 300 req/min | 100,000 | $1 / 1,000 req | 500,000 |
分あたりの制限は固定60秒ウィンドウを使用します。月間クォータは現在の UTC 月のすべてのリクエストを集計し、含有量を超えた使用分はティアごとの単価で従量課金されます(開発者コンソールでリアルタイムに確認可能)。ハードキャップに達すると 429 quota_exceeded で遮断されます。すべてのレスポンスには次のヘッダーが含まれます:
| ヘッダー | 説明 |
|---|---|
| X-RateLimit-Limit | 分あたりの最大許容リクエスト数(ティア別) |
| X-RateLimit-Remaining | 現在のウィンドウの残りリクエスト数 |
| X-RateLimit-Reset | ウィンドウがリセットされる Unix タイムスタンプ(秒) |
| Retry-After | 再試行までの待機秒数(429 レスポンスのみ) |
| X-Quota-Tier | 決定されたティア: free または premium |
| X-Quota-Included | 今月のサイクルに含まれるリクエスト数 |
| X-Quota-Used | 今サイクルで使用したリクエスト数 |
| X-Quota-Remaining | 残りの含有リクエスト数(従量課金中は 0) |
{
"data": [ /* array of objects */ ],
"pagination": {
"total": 142,
"limit": 20,
"offset": 0
}
}{
"data": { /* single object */ }
}{
"error": {
"code": "invalid_region",
"message": "region must be us, kr, or jp"
}
}| HTTP ステータス | code | 意味 |
|---|---|---|
| 400 | invalid_params | クエリパラメータの値が無効 |
| 401 | unauthorized / invalid_key | API キーが未指定・無効・失効 |
| 429 | rate_limited | 分あたりレート制限超過 — Retry-After 参照 |
| 429 | quota_exceeded | 月間ハードキャップ到達 — 次の UTC 月の開始時にリセット |
| 500 | internal_error | 予期しないサーバーエラー |
全地域の掲載記事をページネーション付きリストで返します。
| パラメータ | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
| region | string | いいえ | us | エディション: us、kr、jp のいずれか |
| category | string | いいえ | — | カテゴリスラッグでフィルタ(例: economy、tech) |
| q | string | いいえ | — | タイトル・説明の全文検索 |
| from | string (YYYY-MM-DD) | いいえ | — | この日付以降に掲載された記事を含む |
| to | string (YYYY-MM-DD) | いいえ | — | この日付以前に掲載された記事を含む |
| sort | date_desc | date_asc | いいえ | date_desc | 掲載日による並び順 |
| limit | integer | いいえ | 20 | 1ページあたりの結果数(1–100) |
| offset | integer | いいえ | 0 | ページネーションオフセット |
curl "https://econalk.com/api/v1/articles?region=us&category=economy&limit=5" \ -H "Authorization: Bearer ek_live_..."
{
"data": [
{
"slug": "2026-06-01-fed-rate-decision",
"title": "Fed holds rates steady amid inflation data",
"description": "The Federal Reserve opted to keep ...",
"category": "economy",
"region": "us",
"date": "2026-06-01",
"author": "ECONALK Editorial",
"image": "/images/fed-rate.jpg"
}
],
"pagination": { "total": 142, "limit": 5, "offset": 0 }
}スラッグで単一の記事を返します(フルレンダリングされたコンテンツを含む)。
| パラメータ | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
| slug | string | はい | — | 記事スラッグ(リストエンドポイントから取得) |
| パラメータ | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
| region | string | いいえ | us | エディション: us、kr、jp のいずれか |
curl "https://econalk.com/api/v1/articles/2026-06-01-fed-rate-decision?region=us" \ -H "Authorization: Bearer ek_live_..."
{
"data": {
"slug": "2026-06-01-fed-rate-decision",
"title": "Fed holds rates steady ...",
"description": "...",
"category": "economy",
"region": "us",
"date": "2026-06-01",
"author": "ECONALK Editorial",
"image": "/images/fed-rate.jpg",
"content": "<!-- full MDX-rendered HTML string -->"
}
}中央銀行の決定、CPI 発表、雇用統計など、今後(および直近)の経済イベントを返します。
| パラメータ | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
| region | string | いいえ | us | エディション: us、kr、jp のいずれか |
| futureDays | integer | いいえ | 90 | 何日先まで含めるか(最大365) |
| importance | integer (1–3) | いいえ | — | 最低重要度(3 = 高) |
| limit | integer | いいえ | 20 | 1ページあたりの結果数(1–100) |
| offset | integer | いいえ | 0 | ページネーションオフセット |
curl "https://econalk.com/api/v1/economic-calendar?region=us&importance=3&futureDays=30" \ -H "Authorization: Bearer ek_live_..."
{
"data": [
{
"eventName": "Fed Interest Rate Decision",
"scheduledAt": "2026-07-30T18:00:00.000Z",
"country": "United States",
"category": "Central Bank",
"importance": 3,
"forecastValue": "4.25%",
"previousValue": "4.25%",
"actualValue": ""
}
],
"pagination": { "total": 12, "limit": 20, "offset": 0 }
}すべてのリストエンドポイントは limit(デフォルト20、最大100)と offset(デフォルト0)をサポートします。レスポンスの pagination.total でページ数を計算してください: Math.ceil(total / limit)。
// Page 3 (zero-indexed), 10 per page GET /api/v1/articles?limit=10&offset=20