Skip to main content

Search params

Use query parameters on https://embed-iccandle-app.iccandle.ai/{locale} to open the iframe on a specific scan result, theme, or filtered view.

For a basic embed URL and host wiring, see Get started. For routes outside the home scanner page, see API reference.

Base shape​

https://embed-iccandle-app.iccandle.ai/{locale}?symbol=EURUSD&res=60&ref_res=60&cid=<id>&tk=10&theme=light&header=false&model=light&temperature=1

The home scanner page only runs /search when symbol, res, ref_res, and cid are present.

Required for a home scan​

ParamDescriptionExample
symbolSymbol to searchEURUSD
resMatch resolution / timeframe60
ref_resReference resolution for the selected candle window60
cidCandle cache id returned by cacheCandle9d2b...

Without these four params, the embed loads but skips the scanner search request.

Optional scan params​

ParamDefaultDescription
tk10Number of matches (top_k)
fs—Comma-separated symbol filter, for example EURUSD,GBPUSD
period—Unix seconds; when > 0, filters results to end_timestamp >= period
from—Range start in milliseconds; mainly used by news-related flows
to—Range end in milliseconds; mainly used by news-related flows
theme—Visual theme: light, dark, or system
bg_darkembed defaultPage background when the theme is dark. Hex, # optional.
bg_lightembed defaultPage background when the theme is light. Hex, # optional.
headershownSet to false to hide the embed app header (and its divider)
modellightAI generation model for the results UI: light or pro
temperature1AI generation temperature: 0.5, 1, or 1.5

Param details​

symbol​

Instrument symbol passed into the scanner request. Use the symbol catalog's display_name value.

res​

Match resolution / timeframe used for the scanner request. Pass the same interval your host chart uses for the matches list.

ref_res​

Reference resolution for the selected candle window that was cached. Often the same as res, but can differ when the host searches across resolutions.

cid​

The candle cache id returned by:

POST https://scan-service.iccandle.ai/cacheCandle

Use the ID token emitted by the iframe's auth.signIn postMessage as iccandle_token:

window.addEventListener("message", (event) => {
if (event.origin !== "https://embed-iccandle-app.iccandle.ai") return;

const message =
typeof event.data === "string" ? JSON.parse(event.data) : event.data;

if (message?.name === "auth.signIn") {
const iccandleToken = message.data.idToken;
localStorage.setItem("iccandle_token", iccandleToken);
}
});

That token can then be sent as the Bearer token when your host calls the cache API:

Example:

curl -X POST "https://scan-service.iccandle.ai/cacheCandle" \
-H "Authorization: Bearer <iccandle_token>" \
-H "Content-Type: application/json" \
-d '{
"candles": [
{
"o": 1.08,
"h": 1.09,
"l": 1.07,
"c": 1.085,
"timestamp": 1719878400
}
]
}'

Use the response id as cid in the iframe URL.

The iframe does not call /search without a non-empty cid.

tk​

Controls how many similar patterns to request. If omitted, the embed uses 10.

fs​

Optional comma-separated filter of symbols the scanner should consider. Use display_name values from the symbol catalog.

fs=EURUSD,GBPUSD,S&P500

Available symbols (from display_name):

Forex

  • EURJPY
  • GBPJPY
  • AUDJPY
  • NZDJPY
  • CADJPY
  • CHFJPY
  • USDJPY
  • EURUSD
  • AUDUSD
  • NZDUSD
  • USDCHF
  • USDCAD
  • GBPAUD
  • GBPCAD
  • GBPCHF
  • GBPNZD
  • GBPUSD
  • NZDCAD
  • EURCAD
  • EURAUD

Commodities

  • XAUUSD
  • BCOUSD
  • XAGUSD
  • XCUUSD

Indices

  • S&P500
  • NASDAQ100
  • US30

Crypto

  • BTCUSDT
  • ETHUSDT
  • XRPUSDT
  • SOLUSDT
  • ADAUSDT
  • AVAUSDT
  • AVAXUSDT
  • BNBUSDT
  • DOGEUSDT
  • DOTUSDT
  • TRXUSDT

Stocks

  • AAPL
  • AMZN
  • BRK.B
  • GOOGL
  • KO
  • META
  • MSFT
  • NFLX
  • NKE
  • NVDA
  • TME
  • TSLA

period​

Optional unix-seconds cutoff used to filter matches by end time. When present and greater than zero, results are filtered to end_timestamp >= period.

from and to​

Optional range helpers in milliseconds. These are mainly useful when you want the embed's news and selected-range flows to align with the host chart window.

theme​

Controls iframe theme:

ValueBehavior
lightAlways render light theme
darkAlways render dark theme
systemFollow the embed app's system-theme behavior

bg_dark and bg_light​

Page background for the embed (--background on the document root), one color per theme.

ParamApplied when
bg_darkResolved theme is dark
bg_lightResolved theme is light

Hex only: #RGB, #RRGGBB, or #RRGGBBAA. The # may be omitted. Any other string is ignored. Aliases dark_bg / bg-dark and light_bg / bg-light are accepted; bg_dark and bg_light are the names the React widget emits.

https://embed-iccandle-app.iccandle.ai/en?theme=dark&header=false&bg_dark=131722&bg_light=ffffff

A valid color is stored in the embed. Later loads that omit bg_* keep the last stored color for that theme. With neither a query param nor a stored color, the embed uses its default background.

With @iccandle/reactjs-widget or @iccandle/vuejs-widget, pass the same values as bg_dark and bg_light. The widget appends them on scan, news, and pricing URLs. Put them on the initial iframe src yourself.

Controls whether the embed renders its top app header:

ValueBehavior
omitted / any value other than falseShow the header (default)
falseHide the header and header divider

Use header=false when the host already provides navigation chrome and you want the iframe to show results only. Footer and in-page UI still render. With the header hidden, nav.click messages from header tabs will not fire.

https://embed-iccandle-app.iccandle.ai/en?theme=light&header=false

model​

AI model hint used by the redesigned search-results / AI-movements UI after a scan.

ValueBehavior
lightDefault lighter model (also used when the param is omitted or unrecognized)
proPro model

This does not change the /search request itself; it is consumed by the results UI when generating AI movements.

temperature​

AI generation temperature for the results UI.

ValueBehavior
0.5Lower creativity
1Default (also used when omitted or unrecognized)
1.5Higher creativity

Same as model: applied by the results UI after scan, not by the /search call.

Example: build scan params​

const params = new URLSearchParams({
symbol: "EURUSD",
res: "60",
ref_res: "60",
cid: candleId,
tk: "10",
from: String(startTimestampSec * 1000),
to: String(endTimestampSec * 1000),
theme: "light",
header: "false",
bg_dark: "0F0F0F",
bg_light: "ffffff",
model: "light",
temperature: "1",
});

iframe.src = `https://embed-iccandle-app.iccandle.ai/en?${params}`;

Example: pattern and utility params on other routes​

Some query params are used outside the home scanner route:

ParamRoutePurpose
headerApp pagesfalse hides the embed header
tab/{locale}/patternSelects tracked-pattern or common-pattern
idPattern detail routesPattern id
pricing=trueApp pagesOpens the pricing modal
referralSign-in / sign-upPrefills referral context
lang/newsHost widget language hint

Common pattern availability​

On /{locale}/pattern?tab=common-pattern, only Bullish Flag (flagbull) and Bearish Flag (flagbear) can be activated today. Other listed common patterns (double top/bottom, head & shoulders) stay visible but disabled. Opening a disabled type such as /{locale}/pattern/dd_bot redirects back to /{locale}/pattern?tab=common-pattern.

Those route-specific params are documented in API reference.

Next​

See Get started for the full embed flow and API reference for routes, auth, and protocol details.