API Reference

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.

Base URL

https://econalk.com/api/v1

Authentication

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.

Tiers, rate limits & monthly quotas

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.

TierRate limitIncluded / monthMetered overageHard cap
Member (free)60 req/min10,000$2 / 1,000 req20,000
Premium300 req/min100,000$1 / 1,000 req500,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:

HeaderDescription
X-RateLimit-LimitMaximum requests allowed per minute (per tier)
X-RateLimit-RemainingRequests remaining in the current window
X-RateLimit-ResetUnix timestamp (seconds) when the window resets
Retry-AfterSeconds to wait before retrying (only on 429 responses)
X-Quota-TierResolved tier: free or premium
X-Quota-IncludedRequests included in the current monthly cycle
X-Quota-UsedRequests used so far this cycle
X-Quota-RemainingIncluded requests remaining (0 while in metered overage)

Response envelopes

Success (list)

{
  "data": [ /* array of objects */ ],
  "pagination": {
    "total": 142,
    "limit": 20,
    "offset": 0
  }
}

Success (single)

{
  "data": { /* single object */ }
}

Error

{
  "error": {
    "code": "invalid_region",
    "message": "region must be us, kr, or jp"
  }
}
HTTP statuscodeMeaning
400invalid_paramsA query parameter value is invalid
401unauthorized / invalid_keyAPI key is missing, invalid, or revoked
429rate_limitedPer-minute rate limit exceeded — see Retry-After
429quota_exceededMonthly hard cap reached — resets at the start of the next UTC month
500internal_errorUnexpected server error

GET /api/v1/articles

Returns a paginated list of published articles across regions.

Query parameters

ParameterTypeRequiredDefaultDescription
regionstringNousEdition: us, kr, or jp
categorystringNoFilter by category slug (e.g. economy, tech)
qstringNoFull-text search across title and description
fromstring (YYYY-MM-DD)NoInclude articles published on or after this date
tostring (YYYY-MM-DD)NoInclude articles published on or before this date
sortdate_desc | date_ascNodate_descSort order by publication date
limitintegerNo20Number of results per page (1–100)
offsetintegerNo0Pagination offset

Example request

curl "https://econalk.com/api/v1/articles?region=us&category=economy&limit=5" \
  -H "Authorization: Bearer ek_live_..."

Example response

{
  "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 }
}

GET /api/v1/articles/{slug}

Returns a single article by slug, including the full rendered content.

Path parameter

ParameterTypeRequiredDefaultDescription
slugstringYesArticle slug (from the list endpoint)

Query parameters

ParameterTypeRequiredDefaultDescription
regionstringNousEdition: us, kr, or jp

Example request

curl "https://econalk.com/api/v1/articles/2026-06-01-fed-rate-decision?region=us" \
  -H "Authorization: Bearer ek_live_..."

Returns

{
  "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 -->"
  }
}

GET /api/v1/economic-calendar

Returns upcoming (and recent) economic events such as central bank decisions, CPI releases, and employment reports.

Query parameters

ParameterTypeRequiredDefaultDescription
regionstringNousEdition: us, kr, or jp
futureDaysintegerNo90How many days ahead to include (max 365)
importanceinteger (1–3)NoMinimum importance level (3 = high)
limitintegerNo20Number of results per page (1–100)
offsetintegerNo0Pagination offset

Example request

curl "https://econalk.com/api/v1/economic-calendar?region=us&importance=3&futureDays=30" \
  -H "Authorization: Bearer ek_live_..."

Example response

{
  "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 }
}

Pagination

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