Skip to content

Plans & credits

QuantConomy bills on two independent dimensions. Keep them straight and the rest of this page follows easily:

  • Plan — your subscription tier (Free, Starter, Professional, Enterprise, or a negotiated Custom plan). The plan sets your rate limits, which features you can reach (SEC data, real-time signals, bulk export), how many API keys you can create, and how many credits you receive each month. You have one plan at a time.
  • Credits — a prepaid, per-request currency. Almost every authenticated read spends credits. Your plan grants a monthly allotment; you can top up by buying credit packs. When your balance hits zero, requests return 402.

In short: the plan is the gate (can you call this endpoint, and how often), and credits are the meter (each call costs some). They never substitute for each other — having credits does not raise your rate limit, and a high rate limit does not give you free credits.

All prices are per month, billed in USD.

FreeStarterProfessionalEnterprise
Price$0$29$99$499
Requests / minute10603001,000
Requests / hour1001,00010,00050,000
Requests / day50010,000100,000500,000
Burst allowance151005002,000
Signup credits100100100100
Monthly credits01,0005,00025,000
Credit multiplier1.0x1.0x0.9x0.7x
SEC filing dataNoYesYesYes
Real-time signals (WebSocket/SSE)No1 conn5 conns50 conns
Bulk exportNoNoYesYes
Priority supportNoNoYesYes
Custom key expirationNoNoYesYes
Max API keys2520100

Custom — a negotiated plan for high-volume or special-terms customers: 1,000 req/min, 50,000 req/hr, 500,000 req/day, burst 5,000, 100 concurrent real-time connections, and every feature enabled (up to 1,000 API keys). Credits, pricing, and any other limits are agreed individually. Contact sales to set one up.

Manage your subscription, view usage, and create keys in the dashboard.

Every charged request runs through a credit check before the handler executes. If your balance covers the cost, the handler runs and credits are deducted after a successful response; failed requests are not charged. If your balance is too low, you get a 402 and nothing is charged. The demo key (mtk_demo) goes through the same check, but spends from a shared ~100/hour pooled budget instead of an account balance.

These are the base costs (before your plan multiplier). Anything not listed defaults to 1 credit.

EndpointBase cost
GET /entries, GET /entries/:id1 (a semantic ?query= on /entries costs 2)
GET /assets, GET /assets/:id1
GET /topics, GET /topics/tree, GET /topics/:id, GET /topics/:id/entries1
GET /publishers, GET /publishers/:id1
GET /clusters, GET /clusters/:id1
GET /markets/:id/chart1
GET /markets/:id/candles2
GET /prediction-markets1
GET /prediction-markets/:id2
SEC list endpoints (e.g. GET /sec/insider-trades, GET /sec/financial-filings, …)2
SEC single record by id (e.g. GET /sec/insider-trades/:id)1
GET /signals2
GET /signals/:id, GET /signals/by-entry/:id1
GET /signals/stream (SSE connect)0 to connect, then 5 credits/minute while open

These never deduct credits, on any plan:

  • GET /stats
  • Everything under /account* — including GET /account, GET /account/usage, and all API-key management (GET/POST/DELETE /account/api-keys)
  • Everything under /billing* — packages, checkout, plans, subscriptions, plan changes, portal, and history
  • The signals SSE stream-open request (GET /signals/stream) — the connection itself is free to open, then billed at 5 credits/minute while open

Higher tiers pay less per request. Your plan applies a multiplier to the base cost, and the result is rounded up to the nearest whole credit:

effectiveCost = ceil(baseCost × planMultiplier)
PlanMultiplierEffect
Free1.0xfull price
Starter1.0xfull price
Professional0.9x10% cheaper
Enterprise0.7x30% cheaper

Because the result is rounded up, current 1- and 2-credit endpoints do not actually get cheaper under the multipliers. For example, a SEC list call (base 2):

  • Professional: ceil(2 × 0.9) = ceil(1.8) = 2
  • Enterprise: ceil(2 × 0.7) = ceil(1.4) = 2

A 1-credit endpoint always costs at least 1 credit, regardless of multiplier (ceil(1 × 0.7) = 1).

When your balance is lower than a request’s effective cost, the API returns HTTP 402 with code INSUFFICIENT_CREDITS and does not run the request or deduct anything:

{
"success": false,
"error": {
"message": "Insufficient credits",
"code": "INSUFFICIENT_CREDITS"
},
"statusCode": 402,
"timestamp": "2026-06-05T12:00:00.000Z"
}

To recover, either wait for your next monthly grant, upgrade your plan, or buy a credit pack (below). Checking your balance via GET /account or GET /account/usage is free.

When using the demo key (mtk_demo), a 402 means the shared ~100 credits/hour demo budget is exhausted — the message reads “Demo credit budget exhausted — it refills hourly.” Wait for the hourly refill, or create your own key for a dedicated balance.

Top up any time with a one-off credit pack. Packs are independent of your subscription — they add to your balance and roll over.

PackCreditsPriceEffective discount
credits_10001,000$10.00
credits_50005,000$45.0010% off
credits_1000010,000$80.0020% off
credits_5000050,000$350.0030% off

List the live catalog with GET /api/v1/billing/packages. To purchase, create a Stripe checkout session and redirect the user to the returned URL.

  1. List the available packs (free):

    Terminal window
    curl https://api.quantconomy.com/api/v1/billing/packages \
    -H "Authorization: Bearer mtk_your_key_here"
  2. Create a checkout session with the packageId you want:

    Terminal window
    curl -X POST https://api.quantconomy.com/api/v1/billing/checkout \
    -H "Authorization: Bearer mtk_your_key_here" \
    -H "Content-Type: application/json" \
    -d '{"packageId": "credits_5000"}'
  3. Redirect the user to the checkoutUrl in the response. Once Stripe confirms payment, the credits are added to your balance automatically.

The response carries the Stripe URL and a session id you can use to track the payment:

{
"success": true,
"data": {
"checkoutUrl": "https://checkout.stripe.com/c/pay/cs_test_a1b2c3d4...",
"sessionId": "cs_test_a1b2c3d4..."
}
}

Review past purchases and usage deductions with GET /api/v1/billing/history. Both billing and account endpoints are free to call.