Plan overview
All API keys on your account share one monthly quota pool. If you have multiple keys, their combined usage counts toward the same limit.
If you were already a paying customer before this plan structure took effect, your historical data access is unaffected for 4 months from launch. New history limits only apply to accounts created after that date, or to existing accounts once the 4-month window closes. See “Historical data depth” below.
How billing works
Billing and subscription management happen in the developer dashboard — your API key is only for pulling data, it’s never used to authenticate a billing change. Everything below applies whether you’re on NGX-only, US-only, or both; there’s one subscription per account covering everything.You’re billed in one of two currencies, chosen automatically
You never pick a currency. The dashboard resolves it from your location:
Once you have an active subscription, your currency/processor is locked to whichever one you signed up with — traveling afterward doesn’t switch you over. If you’re not yet subscribed, region detection re-runs every time you start a checkout.
Subscribing
Pick a plan in the dashboard and you’re redirected to a hosted checkout page — Paystack’s if you’re billed in NGN, Stripe’s if you’re billed in USD. Your plan activates automatically once payment is confirmed (typically within seconds); there’s no manual approval step. If you close the checkout page without paying, nothing changes — you stay on your current plan and can safely try again.Changing plans
How you upgrade or downgrade depends on which processor you’re on:- Paystack (NGN): handled entirely in the dashboard. Upgrading charges you a prorated difference immediately and your new limits apply right away. Downgrading takes effect at your next billing date — you keep your current (higher) plan’s access and quota until the period you already paid for ends, so you never lose paid access early and are never charged twice for the same period.
- Stripe (USD): handled through Stripe’s own hosted billing portal, linked from the dashboard. Same rule, same place: upgrading invoices you immediately for the prorated difference; switching to a cheaper plan is scheduled to take effect at the end of your current billing period.
Cancelling
Cancelling — on either processor — takes effect at the end of your current paid period, not immediately. You keep full access and your existing quota until then; there’s no partial refund for the remaining days. After that, your account reverts to the Free plan automatically, and your monthly call limit drops to Free’s allowance from your next usage period onward.Multiple API keys
If your account has more than one API key, they all draw from the same monthly quota — creating more keys doesn’t give you more calls, and a plan change applies to every key on the account at once.Endpoints by plan
Each endpoint is gated to a minimum plan. Calling an endpoint above your plan returns a403 PLAN_REQUIRED error. The tables below show which plan each endpoint requires.
Free plan
Available to all accounts at no cost.Hobby plan
Includes everything in Free, plus:Starter plan
Includes everything in Hobby, plus:Pro plan
Includes everything in Starter, plus:Business plan
Includes everything in Pro, plus:
Business also includes a higher rate limit (300 requests/minute vs. 120 on Pro), an SLA guarantee, data redistribution rights, and dedicated support.
Enterprise plan (Custom pricing)
Designed for organizations that need more than 2,000,000 calls per month, custom rate limits, dedicated infrastructure, or negotiated terms. Contact the NGN Market team to discuss pricing.Live updates (WebSocket) limits
The WebSocket API is available on every plan, including Free. It carries no historical data, so it’s gated the same way as the free REST endpoints it mirrors. What scales by plan is how many connections you can hold open at once, and, on the prices channel, how many symbols one connection can request:WebSocket connections and the messages they push don’t count against your monthly REST quota. The two are tracked separately.
Historical data depth
Chart, forex history, index chart, ETF chart, and dividend history endpoints are capped by plan:
If your
from date falls outside what your plan allows, the response is silently clamped to the earliest date your plan permits rather than returning an error, check the start_date field in the response to see what was actually returned.
Shared quota pool
All keys on your account draw from the same monthly quota. If you have three keys on a Starter plan and one key uses 80,000 calls, the other two keys share the remaining 20,000 calls for that month. Use separate accounts if you need isolated quotas. Quota resets on your billing renewal date — the same day of the month you first subscribed. You can check your current usage at any time in themeta field included in every API response. See Rate limits for details.