Frequently asked questions
The platform, clarified.
What a weight is, which surfaces are free, what one key reaches, and where a first
integration should start.
Do I need a different plan for each of these?
No — one key reaches everything except two gated surfaces and one gated value. Tick data is Pro and Enterprise only; the WebSocket stream needs Starter or above; and released economic-calendar actuals populate from Starter up. Everything else on this page works on every plan, so a new account reaches it on its $2.50 of starting credit. What the key does need is the right permission scope: quotes, indicators, historical or premium, depending on the endpoint.
What is a request weight?
A multiplier on your daily quota. A 1× call debits one request, a 5× call debits five. The map is matched on the EXACT path, so an endpoint that is not listed in it takes the 1× fallback rather than inheriting a neighbour’s weight — which is why /v1/indicators is 1× but /v1/indicator/history is 5×, and why /v1/spread/compare is 1× even though it sits under a 1× parent by coincidence rather than by rule.
Which of these cost nothing?
The cached market-insights overview and card set, and every WebSocket push. The first two are outside the /v1/ namespace that the usage middleware meters and do no accounting of their own; the stream sets a per-push credit cost of zero on every plan that can reach it. That makes the standard cost-control pattern obvious: look at the whole market for free, then spend a metered call only on what you picked.
Is the response shape the same across products?
Yes for the /v1 surface: every response is { "success": true, "data": { … } }, every error is a 4xx with a machine-readable code and the acceptable values in the detail, and every symbol is echoed back in its canonical form. The market-insights routes are the deliberate exception — they predate that convention and return { success, overview }, { success, cards, timeframe } and { success, analysis, charged, cost, new_balance } instead.
How many symbols and timeframes?
7 timeframes — M1, M5, M15, M30, H1, H4, D1 — accepted by everything except the heatmap, which takes H1, H4, D1 and W1, and the cached insight cards, which take M30, H1, H4 and D1. Symbol coverage follows our data and changes as it grows, so the honest answer is GET /v1/symbols: it returns the live list, filterable by forex, commodities, indices, crypto or stocks and paginated up to 500 rows a page.
How fresh is any of it?
Bounded by the cadence of our data: it updates about every 60 seconds with bid and ask for every configured symbol plus the timeframe blocks that are due — M1 and M5 on essentially every update, M15 through H1 every ten minutes, H4 and D1 every half hour. Every response stamps its own age, as timestamp on a quote, updated_at on an indicator surface or snapshot_time on a cached card, so freshness is something you read rather than assume.
Where do I start?
With /v1/quote or /v1/indicator — both are 1×, both need one header and one query parameter, and both return the standard envelope. Then read the product page for whichever surface matches your problem: each one documents its full parameter list, its response fields by name and type, its real weight and any plan gate, with the behaviours that are easy to get wrong called out rather than left to be discovered.