The ECONALK public API lets you query published articles and economic calendar events programmatically. All endpoints require an API key obtained from the developer dashboard.
https://econalk.com/api/v1
Pass your API key as a Bearer token in the Authorization header. The key is shown exactly once when you create it — store it securely.
Authorization: Bearer ek_live_<your-key>
Alternatively you may pass the key in the X-API-Key header.
Limits follow your ECONALK membership: the console and API keys use your ECONALK account directly — no separate developer registration. Every member gets the Member tier; ECONALK Premium members are upgraded automatically within an hour — or immediately on your next console visit.
| Tier | Rate limit | Included / month | Metered overage | Hard cap |
|---|---|---|---|---|
| Member (free) | 60 req/min | 10,000 | $2 / 1,000 req | 20,000 |
| Premium | 300 req/min | 100,000 | $1 / 1,000 req | 500,000 |
The per-minute limit uses a fixed 60-second window. The monthly quota counts every logged request in the current UTC calendar month; usage beyond the included quota is metered and billable at the tier's overage price (tracked live in the developer console), and requests stop with 429 quota_exceeded once the hard cap is reached. Every response includes:
| Header | Description |
|---|---|
| X-RateLimit-Limit | Maximum requests allowed per minute (per tier) |
| X-RateLimit-Remaining | Requests remaining in the current window |
| X-RateLimit-Reset | Unix timestamp (seconds) when the window resets |
| Retry-After | Seconds to wait before retrying (only on 429 responses) |
| X-Quota-Tier | Resolved tier: free or premium |
| X-Quota-Included | Requests included in the current monthly cycle |
| X-Quota-Used | Requests used so far this cycle |
| X-Quota-Remaining | Included requests remaining (0 while in metered overage) |
{
"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 status | code | Meaning |
|---|---|---|
| 400 | invalid_params | A query parameter value is invalid |
| 401 | unauthorized / invalid_key | API key is missing, invalid, or revoked |
| 429 | rate_limited | Per-minute rate limit exceeded — see Retry-After |
| 429 | quota_exceeded | Monthly hard cap reached — resets at the start of the next UTC month |
| 500 | internal_error | Unexpected server error |
Returns a paginated list of published articles across regions.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| region | string | No | us | Edition: us, kr, or jp |
| category | string | No | — | Filter by category slug (e.g. economy, tech) |
| q | string | No | — | Full-text search across title and description |
| from | string (YYYY-MM-DD) | No | — | Include articles published on or after this date |
| to | string (YYYY-MM-DD) | No | — | Include articles published on or before this date |
| sort | date_desc | date_asc | No | date_desc | Sort order by publication date |
| limit | integer | No | 20 | Number of results per page (1–100) |
| offset | integer | No | 0 | Pagination offset |
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 }
}Returns a single article by slug, including the full rendered content.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| slug | string | Yes | — | Article slug (from the list endpoint) |
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| region | string | No | us | Edition: us, kr, or 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 -->"
}
}Returns upcoming (and recent) economic events such as central bank decisions, CPI releases, and employment reports.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| region | string | No | us | Edition: us, kr, or jp |
| futureDays | integer | No | 90 | How many days ahead to include (max 365) |
| importance | integer (1–3) | No | — | Minimum importance level (3 = high) |
| limit | integer | No | 20 | Number of results per page (1–100) |
| offset | integer | No | 0 | Pagination offset |
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 }
}All list endpoints support limit (default 20, max 100) and offset (default 0). Use the pagination.total field in the response to calculate the number of pages: Math.ceil(total / limit).
// Page 3 (zero-indexed), 10 per page GET /api/v1/articles?limit=10&offset=20