Skip to main content
The NGN Market API uses a monthly call quota rather than a per-second rate limit. Each plan comes with a fixed number of calls per calendar month. Every response includes a meta object showing how many calls you have used, how many remain, and when your quota resets.

Monthly call quotas

PlanMonthly calls
Free10,000
Starter100,000
Growth500,000
Business2,000,000
EnterpriseUnlimited
Quotas reset on the 1st of each calendar month at midnight UTC. Unused calls do not roll over.
All API keys on your account share one quota pool. Every call made by any of your keys counts toward the same monthly total.

Tracking usage

Every API response includes a meta object. You do not need a separate request to check your usage.
{
  "success": true,
  "data": { },
  "meta": {
    "plan": "starter",
    "calls_used": 4821,
    "calls_remaining": 95179,
    "reset_at": "2026-05-01T00:00:00.000Z"
  }
}
FieldTypeDescription
planstringYour current plan: free, starter, growth, business, or enterprise
calls_usedintegerTotal calls made this month across all your keys
calls_remainingintegerCalls left before your quota is exhausted
reset_atstringISO 8601 UTC timestamp of your next quota reset
Read meta.calls_remaining in your application and alert yourself before you hit zero so you are not caught off guard.

When you exceed your quota

When calls_used reaches your monthly limit, all further requests return HTTP 429 with the QUOTA_EXCEEDED error code:
{
  "success": false,
  "error": {
    "code": "QUOTA_EXCEEDED",
    "message": "Monthly call limit of 100,000 reached. Resets on 2026-05-01T00:00:00.000Z."
  },
  "meta": {
    "plan": "starter",
    "calls_used": 100000,
    "calls_remaining": 0,
    "reset_at": "2026-05-01T00:00:00.000Z"
  }
}
Once you receive QUOTA_EXCEEDED, every request will be rejected until your quota resets or you upgrade.

What to do when you hit your limit

  1. Wait for the reset. Check meta.reset_at to see the exact UTC time your quota resets on the 1st of next month.
  2. Upgrade your plan. Log in to your developer dashboard and select a higher plan. Upgrades take effect immediately. See Plans for pricing and call limits.

Reducing unnecessary usage

Some endpoints return data that changes infrequently, like the company list (/v1/companies) or available dates (/v1/market/available-dates). Cache these in your application and refresh on a schedule rather than fetching on every request.
NGX market data is published once per trading day. Polling every few seconds burns through your quota with no benefit. Use a reasonable interval based on how often the data actually changes.
Multiple keys do not give you more calls since all keys share one quota pool. Keep your key count to what you actually need.