Skip to main content
NGN Market offers six plans. The Free plan lets you explore the API without spending anything. Paid plans unlock more endpoints, deeper historical data, and higher call limits. You can change your plan at any time from your developer dashboard.

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 a 403 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.
Not sure which plan fits? Start on Free to explore the API, then upgrade when you need more calls, deeper history, or access to higher-tier endpoints.

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 the meta field included in every API response. See Rate limits for details.

Upgrading your plan

Log in to your developer dashboard and select a new plan. Upgrades take effect immediately. You gain access to higher-tier endpoints, deeper history, and a larger quota as soon as the upgrade is confirmed.
Downgrades take effect at the start of your next billing cycle. Calls to endpoints above your new plan tier, or history requests beyond your new plan’s depth, will be restricted once the downgrade kicks in.