# TradingView — Zapi reference > Screener, charts, technical indicators, fundamentals, news and the macro calendar across 16 markets — Indonesian equities, US equities, crypto, forex and futures. **Base URL:** `https://api.zpi.web.id` **Auth:** Send `x-api-key: YOUR_KEY` header on every request. Get a free key at https://zpi.web.id/dashboard/keys. **Response envelope:** `{ status, message, content }` **Rate limit:** 60 req/min on free tier. **Related:** - Detail page: https://zpi.web.id/api/finance/tradingview - Endpoint catalog: https://zpi.web.id/category/finance - Concise index: https://zpi.web.id/llms.txt - Full reference: https://zpi.web.id/llms-full.txt --- ## TradingView **Category:** finance · **Slug:** `tradingview` **Detail page:** https://zpi.web.id/api/finance/tradingview Screener, charts, technical indicators, fundamentals, news and the macro calendar across 16 markets — Indonesian equities, US equities, crypto, forex and futures. **Tags:** stocks, crypto, forex, screener, chart, technical-analysis ### Screener Filter and rank a whole exchange by price, market cap, sector and more. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:tradingview/screener` - **Cache TTL:** 300s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `market` | enum(indonesia|america|crypto|forex|malaysia|singapore|thailand|japan|hongkong|india|uk|germany|australia|futures|cfd|bond) | query | no | Market to scan. Default indonesia | | `search` | string | query | no | Filter by ticker or company name | | `sortBy` | string | query | no | Upstream column to sort on. Default market cap | | `sortOrder` | enum(desc|asc) | query | no | Sort direction. Defaults to desc, or asc when sorting forex by name | | `page` | number | query | no | Page number. Default 1 | | `count` | number | query | no | Rows per page. Default 50, max 200 | **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:tradingview/screener?market=indonesia&search=bank&sortBy=market_cap_basic&sortOrder=desc&page=1&count=50" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:tradingview/screener?market=indonesia&search=bank&sortBy=market_cap_basic&sortOrder=desc&page=1&count=50", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/finance:tradingview/screener?market=indonesia&search=bank&sortBy=market_cap_basic&sortOrder=desc&page=1&count=50", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "page": 1, "count": 5, "items": [ { "last": 6325, "name": "PT Bank Central Asia Tbk", "change": -125, "sector": "Finance", "symbol": "IDX:BBCA", "ticker": "BBCA", "volume": 153174800, "peRatio": 13.405200751623779, "exchange": "IDX", "marketCap": 779714671484375, "changePercent": -1.937984496124031 }, { "last": 3040, "name": "PT Bank Rakyat Indonesia (Persero) Tbk Class B", "change": 50, "sector": "Finance", "symbol": "IDX:BBRI", "ticker": "BBRI", "volume": 226634400, "peRatio": 7.82939339714289, "exchange": "IDX", "marketCap": 459397912503040, "changePercent": 1.6722408026755853 }, { "last": 4190, "name": "PT Bank Mandiri (Persero) Tbk", "change": 30, "sector": "Finance", "symbol": "IDX:BMRI", "ticker": "BMRI", "volume": 97657300, "peRatio": 6.278753581998949, "exchange": "IDX", "marketCap": 392951904790270, "changePercent": 0.7211538461538461 }, { "last": 3530, "name": "PT Bank Negara Indonesia (Persero) Tbk Class B", "change": -20, "sector": "Finance", "symbol": "IDX:BBNI", "ticker": "BBNI", "volume": 48321300, "peRatio": 6.473911603413677, "exchange": "IDX", "marketCap": 131590388558217, "changePercent": -0.5633802816901409 }, { "last": 1820, "name": "PT Bank Syariah Indonesia (Persero) Tbk", "change": 35, "sector": "Finance", "symbol": "IDX:BRIS", "ticker": "BRIS", "volume": 7921400, "peRatio": 10.642303976947131, "exchange": "IDX", "marketCap": 83955256328125, "changePercent": 1.9607843137254901 } ], "query": "bank", "total": 49, "market": "indonesia", "hasMore": true, "nextPage": 2 } ``` --- ### Symbol One instrument with price and fundamentals, quoted in its own currency. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:tradingview/symbol` - **Cache TTL:** 300s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `symbol` | string | query | yes | Ticker, with or without its exchange prefix (IDX:BBCA) | | `market` | enum(indonesia|america|crypto|forex|malaysia|singapore|thailand|japan|hongkong|india|uk|germany|australia|futures|cfd|bond) | query | no | Market the ticker belongs to. Default indonesia | **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:tradingview/symbol?symbol=BBCA&market=indonesia" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:tradingview/symbol?symbol=BBCA&market=indonesia", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/finance:tradingview/symbol?symbol=BBCA&market=indonesia", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "eps": 471.8318, "low": 6325, "debt": 55359119000000, "high": 6450, "last": 6325, "name": "PT Bank Central Asia Tbk", "open": 6425, "change": -125, "market": "indonesia", "sector": "Finance", "symbol": "IDX:BBCA", "ticker": "BBCA", "volume": 153174800, "peRatio": 13.405200751623779, "revenue": 126869068000000, "currency": "IDR", "exchange": "IDX", "industry": "Major Banks", "monthLow": 5625, "provider": "tradingview", "marketCap": 779714671484375, "monthHigh": 6625, "week52Low": 4820, "week52High": 8975, "priceToBook": 2.873025943873964, "avgVolume10d": 163117410, "changePercent": -1.937984496124031, "dividendYieldPercent": 0 } ``` --- ### Markets Which markets can be scanned, and how many instruments each holds. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:tradingview/markets` - **Cache TTL:** 300s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `search` | string | query | no | Filter markets by id or label | **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:tradingview/markets?search=indo" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:tradingview/markets?search=indo", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/finance:tradingview/markets?search=indo", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 16, "items": [ { "id": "indonesia", "label": "Indonesia Stock Exchange", "instrumentCount": 881 }, { "id": "america", "label": "United States", "instrumentCount": 19643 }, { "id": "crypto", "label": "Crypto", "instrumentCount": 55807 }, { "id": "forex", "label": "Forex", "instrumentCount": 6260 }, { "id": "malaysia", "label": "Malaysia", "instrumentCount": 1145 }, { "id": "singapore", "label": "Singapore", "instrumentCount": 645 }, { "id": "thailand", "label": "Thailand", "instrumentCount": 2248 }, { "id": "japan", "label": "Japan", "instrumentCount": 4393 } ], "provider": "tradingview" } ``` --- ### Chart OHLCV candles at 13 resolutions for any symbol the platform carries. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:tradingview/chart` - **Cache TTL:** 300s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `symbol` | string | query | yes | Exchange-qualified symbol. A bare ticker uses the market's default exchange | | `market` | enum(indonesia|america|crypto|forex|malaysia|singapore|thailand|japan|hongkong|india|uk|germany|australia|futures|cfd|bond) | query | no | Market used to resolve a bare ticker. Default indonesia | | `resolution` | enum(1|3|5|15|30|45|60|120|180|240|1D|1W|1M) | query | no | Candle size in minutes, or 1D / 1W / 1M. Default 1D | | `count` | number | query | no | Number of candles. Default 200, max 1000 | **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:tradingview/chart?symbol=IDX%3ABBCA&market=indonesia&resolution=1D&count=200" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:tradingview/chart?symbol=IDX%3ABBCA&market=indonesia&resolution=1D&count=200", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/finance:tradingview/chart?symbol=IDX%3ABBCA&market=indonesia&resolution=1D&count=200", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "name": "PT Bank Central Asia Tbk", "count": 30, "market": "indonesia", "symbol": "IDX:BBCA", "candles": [ { "low": 6125, "date": "2026-06-22T02:00:00.000Z", "high": 6400, "open": 6400, "close": 6225, "volume": 193401600, "timestamp": 1782093600 }, { "low": 6075, "date": "2026-06-23T02:00:00.000Z", "high": 6200, "open": 6150, "close": 6125, "volume": 144561900, "timestamp": 1782180000 }, { "low": 5925, "date": "2026-06-24T02:00:00.000Z", "high": 6200, "open": 6125, "close": 5925, "volume": 144928800, "timestamp": 1782266400 }, { "low": 5900, "date": "2026-06-25T02:00:00.000Z", "high": 6175, "open": 5900, "close": 6025, "volume": 197935000, "timestamp": 1782352800 }, { "low": 6025, "date": "2026-06-26T02:00:00.000Z", "high": 6175, "open": 6050, "close": 6175, "volume": 163378700, "timestamp": 1782439200 }, { "low": 5925, "date": "2026-06-29T02:00:00.000Z", "high": 6200, "open": 6175, "close": 5925, "volume": 189886600, "timestamp": 1782698400 }, { "low": 5550, "date": "2026-06-30T02:00:00.000Z", "high": 5825, "open": 5775, "close": 5550, "volume": 440738300, "timestamp": 1782784800 }, { "low": 5550, "date": "2026-07-01T02:00:00.000Z", "high": 5750, "open": 5550, "close": 5600, "volume": 124123800, "timestamp": 1782871200 } ], "currency": "IDR", "exchange": "IDX", "provider": "tradingview", "timezone": "Asia/Bangkok", "resolution": "1D" } ``` --- ### Technicals 31 indicators plus buy/sell verdicts, on 10 timeframes. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:tradingview/technicals` - **Cache TTL:** 300s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `symbol` | string | query | yes | Ticker, with or without its exchange prefix | | `market` | enum(indonesia|america|crypto|forex|malaysia|singapore|thailand|japan|hongkong|india|uk|germany|australia|futures|cfd|bond) | query | no | Market the ticker belongs to. Default indonesia | | `timeframe` | enum(1m|5m|15m|30m|1h|2h|4h|1d|1w|1M) | query | no | Timeframe the indicators are computed on. Default 1d | **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:tradingview/technicals?symbol=BBCA&market=indonesia&timeframe=1d" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:tradingview/technicals?symbol=BBCA&market=indonesia&timeframe=1d", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/finance:tradingview/technicals?symbol=BBCA&market=indonesia&timeframe=1d", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "adx": 13.301554083059738, "atr": 188.06943171881582, "rsi": 53.67932744764375, "last": 6325, "macd": 84.52113457980977, "vwma": 6303.151581141213, "cci20": 57.43019716819662, "ema10": 6321.799747446807, "ema20": 6260.688031551343, "ema50": 6195.480231487916, "sma10": 6362.5, "sma20": 6288.75, "sma50": 6018, "ema100": 6416.569054506186, "ema200": 6963.967952901217, "market": "indonesia", "sma100": 6283.5, "sma200": 7124.375, "stochD": 43.91743522178303, "stochK": 50, "symbol": "IDX:BBCA", "ticker": "BBCA", "summary": "neutral", "momentum": -150, "provider": "tradingview", "ratingAll": 0.08787878787878788, "timeframe": "1d", "williamsR": -54.54545454545454, "macdSignal": 92.23224289033081, "bollingerLower": 6034.056556817809, "bollingerUpper": 6543.443443182191, "pivotClassicR1": 6460, "pivotClassicS1": 4730, "awesomeOscillator": 107.64705882352973, "ratingOscillators": -0.09090909090909091, "oscillatorsSummary": "neutral", "pivotClassicMiddle": 5640, "ratingMovingAverages": 0.26666666666666666, "movingAveragesSummary": "buy" } ``` --- ### Performance Trailing returns, volatility, beta and 52-week range. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:tradingview/performance` - **Cache TTL:** 300s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `symbol` | string | query | yes | Ticker, with or without its exchange prefix | | `market` | enum(indonesia|america|crypto|forex|malaysia|singapore|thailand|japan|hongkong|india|uk|germany|australia|futures|cfd|bond) | query | no | Market the ticker belongs to. Default indonesia | **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:tradingview/performance?symbol=BBCA&market=indonesia" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:tradingview/performance?symbol=BBCA&market=indonesia", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/finance:tradingview/performance?symbol=BBCA&market=indonesia", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "last": 6325, "name": "PT Bank Central Asia Tbk", "market": "indonesia", "symbol": "IDX:BBCA", "ticker": "BBCA", "currency": "IDR", "exchange": "IDX", "provider": "tradingview", "beta1Year": 0.677129, "week52Low": 4820, "gapPercent": -0.3875968992248062, "week52High": 8975, "ytdPercent": -21.671826625387, "avgVolume10d": 163117410, "avgVolume30d": 176751580, "week1Percent": 2.0161290322580645, "year1Percent": -24.251497005988025, "year5Percent": 4.718543046357616, "month1Percent": 13.963963963963964, "month3Percent": 6.302521008403361, "month6Percent": -12.152777777777779, "allTimePercent": 17971.428571428572, "relativeVolume10d": 0.8523013641402308, "volatilityDayPercent": 1.976284584980237, "volatilityWeekPercent": 2.415757086242275, "volatilityMonthPercent": 2.913881882241015 } ``` --- ### Financials Income, balance sheet, cash flow and the next earnings date. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:tradingview/financials` - **Cache TTL:** 300s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `symbol` | string | query | yes | Ticker, with or without its exchange prefix | | `market` | enum(indonesia|america|malaysia|singapore|thailand|japan|hongkong|india|uk|germany|australia) | query | no | Market the ticker belongs to. Default indonesia | | `period` | enum(quarter|annual|ttm) | query | no | Reporting period. Default quarter | **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:tradingview/financials?symbol=BBCA&market=indonesia&period=quarter" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:tradingview/financials?symbol=BBCA&market=indonesia&period=quarter", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/finance:tradingview/financials?symbol=BBCA&market=indonesia&period=quarter", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "name": "PT Bank Central Asia Tbk", "market": "indonesia", "period": "quarter", "symbol": "IDX:BBCA", "ticker": "BBCA", "revenue": 32698735000000, "currency": "IDR", "provider": "tradingview", "employees": 27937, "netIncome": 14850323000000, "totalDebt": 55359119000000, "totalAssets": 1660579336000000, "totalEquity": 270667746000000, "currentRatio": 0.125086448946293, "debtToEquity": 0.20470204833949399, "freeCashFlow": 8287156000000, "operatingIncome": 18388677000000, "lastEarningsDate": 1785231300, "nextEarningsDate": 1792065600, "totalLiabilities": 1389911590000000, "dividendYieldPercent": 0, "returnOnAssetsPercent": 3.66893228325801, "returnOnEquityPercent": 21.8239508306063, "epsForecastNextQuarter": 122.338, "dividendPayoutRatioPercent": 0 } ``` --- ### News Wire headlines attached to one instrument. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:tradingview/news` - **Cache TTL:** 300s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `symbol` | string | query | yes | Exchange-qualified symbol. A bare ticker uses the market's default exchange | | `market` | enum(indonesia|america|crypto|forex|malaysia|singapore|thailand|japan|hongkong|india|uk|germany|australia) | query | no | Market used to resolve a bare ticker. Default indonesia | | `lang` | enum(en|id) | query | no | Headline language. Default en | | `count` | number | query | no | Maximum headlines. Default 25, max 50 | **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:tradingview/news?symbol=IDX%3ABBCA&market=indonesia&lang=en&count=25" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:tradingview/news?symbol=IDX%3ABBCA&market=indonesia&lang=en&count=25", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/finance:tradingview/news?symbol=IDX%3ABBCA&market=indonesia&lang=en&count=25", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "lang": "en", "count": 5, "items": [ { "id": "tag:reuters.com,2026:newsml_FWN43U0KR:0", "url": "https://www.tradingview.com/news/reuters.com,2026:newsml_FWN43U0KR:0-bank-central-asia-posts-half-year-profit-attributable-of-29-534-trillion-rupiah/", "title": "Bank Central Asia Posts Half-Year Profit Attributable Of 29.534 Trillion Rupiah", "source": "Reuters", "urgency": 2, "publishedAt": 1785234099, "headlineOnly": true, "publishedAtIso": "2026-07-28T10:21:39.000Z", "relatedSymbols": [ "IDX:BBCA" ] }, { "id": "tag:reuters.com,2026:newsml_FWN43U023:0", "url": "https://www.tradingview.com/news/reuters.com,2026:newsml_FWN43U023:0-bank-central-asia-posts-gross-npl-ratio-of-1-86-as-at-june-30/", "title": "Bank Central Asia Posts Gross NPL Ratio of 1.86% As At June 30", "source": "Reuters", "urgency": 2, "publishedAt": 1785232512, "headlineOnly": true, "publishedAtIso": "2026-07-28T09:55:12.000Z", "relatedSymbols": [ "IDX:BBCA" ] }, { "id": "urn:summary_document_slides:quartr.com:3910873:0", "url": "https://www.tradingview.com/news/urn:summary_document_slides:quartr.com:3910873:0-bbca-strong-asset-and-loan-growth-digital-dominance-and-resilient-asset-quality-in-1h26/", "title": "BBCA: Strong asset and loan growth, digital dominance, and resilient asset quality in 1H26", "source": "Quartr", "urgency": 2, "publishedAt": 1785231802, "headlineOnly": false, "publishedAtIso": "2026-07-28T09:43:22.000Z", "relatedSymbols": [ "IDX:BBCA" ] }, { "id": "urn:summary_document_report:quartr.com:3686476:0", "url": "https://www.tradingview.com/news/urn:summary_document_report:quartr.com:3686476:0-bbca-net-profit-rose-2-year-over-year-with-strong-capital-and-improved-asset-quality/", "title": "BBCA: Net profit rose 2% year-over-year, with strong capital and improved asset quality", "source": "Quartr", "urgency": 2, "publishedAt": 1785231791, "headlineOnly": false, "publishedAtIso": "2026-07-28T09:43:11.000Z", "relatedSymbols": [ "IDX:BBCA" ] }, { "id": "tag:reuters.com,2026:newsml_L4N43G12X:0", "url": "https://www.tradingview.com/news/reuters.com,2026:newsml_L4N43G12X:0-beaten-down-indonesian-stocks-feel-the-love-as-ai-rally-cools/", "title": "Beaten-down Indonesian stocks feel the love as AI rally cools", "source": "Reuters", "urgency": 2, "publishedAt": 1784588400, "headlineOnly": true, "publishedAtIso": "2026-07-20T23:00:00.000Z", "relatedSymbols": [ "IDX:COMPOSITE", "KRX:KOSPI", "IDX:INDF", "IDX:BBCA", "IDX:INCO", "IDX:ADMR", "IDX:AMMN" ] } ], "symbol": "IDX:BBCA", "provider": "tradingview" } ``` --- ### Search Resolve free text to instruments, with ISIN and listing currency. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:tradingview/search` - **Cache TTL:** 300s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `q` | string | query | yes | Ticker, company name or ISIN | | `exchange` | string | query | no | Restrict to one exchange | | `type` | enum(all|stock|futures|forex|index|crypto|bond|economic|fund) | query | no | Instrument type. Default all | | `count` | number | query | no | Maximum results. Default 20, max 50 | **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:tradingview/search?q=bank%20central%20asia&exchange=IDX&type=all&count=20" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:tradingview/search?q=bank%20central%20asia&exchange=IDX&type=all&count=20", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/finance:tradingview/search?q=bank%20central%20asia&exchange=IDX&type=all&count=20", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 5, "items": [ { "isin": "ID1000109507", "name": "PT Bank Central Asia Tbk", "type": "stock", "ipoAt": 959738400, "symbol": "IDX:BBCA", "ticker": "BBCA", "country": "ID", "subType": "common", "currency": "IDR", "exchange": "IDX" }, { "isin": "ID1000109507", "name": "PT Bank Central Asia Tbk", "type": "stock", "symbol": "GETTEX:BZG2", "ticker": "BZG2", "country": "DE", "subType": "common", "currency": "EUR", "exchange": "GETTEX" }, { "isin": "ID1000109507", "name": "PT Bank Central Asia Tbk", "type": "stock", "symbol": "LSX:A0NBWE", "ticker": "A0NBWE", "country": "DE", "subType": "common", "currency": "EUR", "exchange": "LSX" }, { "isin": "ID1000109507", "name": "PT Bank Central Asia Tbk", "type": "stock", "symbol": "LS:A0NBWE", "ticker": "A0NBWE", "country": "DE", "subType": "common", "currency": "EUR", "exchange": "LS" }, { "isin": "ID1000109507", "name": "PT Bank Central Asia Tbk", "type": "stock", "symbol": "FWB:BZG2", "ticker": "BZG2", "country": "DE", "subType": "common", "currency": "EUR", "exchange": "FWB" } ], "query": "bank central asia", "provider": "tradingview" } ``` --- ### Economic calendar Macro releases with actual, forecast and previous values. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:tradingview/calendar` - **Cache TTL:** 300s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `countries` | string | query | no | Comma-separated ISO country codes. Default ID | | `from` | string | query | no | Window start, YYYY-MM-DD. Defaults to today | | `to` | string | query | no | Window end, YYYY-MM-DD. Defaults to 7 days after the start | | `importance` | enum(all|high|medium|low) | query | no | Minimum release importance. Default all | **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:tradingview/calendar?countries=ID%2CUS&from=2026-08-01&to=2026-08-08&importance=all" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:tradingview/calendar?countries=ID%2CUS&from=2026-08-01&to=2026-08-08&importance=all", { headers: { "x-api-key": process.env.ZAPI_KEY } }); const data = await res.json(); ``` **Python:** ```python import requests r = requests.get("https://api.zpi.web.id/v1/finance:tradingview/calendar?countries=ID%2CUS&from=2026-08-01&to=2026-08-08&importance=all", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "to": "2026-08-09", "from": "2026-08-02", "count": 94, "items": [ { "id": "396409", "date": "2026-08-03T00:30:00.000Z", "title": "S&P Global Manufacturing PMI", "period": "Jul", "source": "S&P Global", "country": "ID", "currency": "IDR", "previous": 46.9, "indicator": "Manufacturing PMI", "importance": "low", "description": "The S&P Global Indonesia Manufacturing Purchasing Managers’ Index measures the performance of the manufacturing sector and is derived from a survey of 400 manufacturing companies. The Manufacturing Purchasing Managers Index is based on five individual indexes with the following weights: New Orders (30 percent), Output (25 percent), Employment (20 percent), Suppliers’ Delivery Times (15 percent) and Stock of Items Purchased (10 percent), with the Delivery Times index inverted so that it moves in a comparable direction. A reading above 50 indicates an expansion of the manufacturing sector compared to the previous month; below 50 represents a contraction; while 50 indicates no change. This is only a limited sample of PMI headline data displayed on the Customer’s service, under licence from S&P Global. Full historic PMI headline data and all other PMI sub-index data and histories are available on subscription from S&P Global. Contact economics@spglobal.com for more details." }, { "id": "403951", "date": "2026-08-03T04:00:00.000Z", "unit": "%", "title": "Exports YoY", "period": "Jun", "source": "Statistics Indonesia", "country": "ID", "currency": "IDR", "forecast": 0.25, "previous": -5.73, "indicator": "Exports YoY", "importance": "low", "description": "Exports have been an engine of economic growth in Indonesia. However, after reaching a peak in 2012, it have been in a steady decline due to lower commodity prices and dwindling global demand. Major exports are: oil and gas (12.4 percent of the total exports, of those gas 6.9 percent, crude oil 4.3 percent and oil products 1.2 percent); animal and vegetable fats and oils (14 percent); and electrical equipment and machinery (10.45 percent). Other exports include: footwear, part of such articles (3.4 percent); garments not knitted (3 percent) and ores, slag and ash (2.5 percent). Major export partners are: the United States (11.6 percent), China (10 percent of the total exports), Japan (9.9 percent), India (8.8 percent) and Singapore (7 percent)." }, { "id": "404148", "date": "2026-08-03T04:00:00.000Z", "unit": "%", "title": "Inflation Rate MoM", "period": "Jul", "source": "Statistics Indonesia", "country": "ID", "currency": "IDR", "forecast": 0.1, "previous": 0.44, "indicator": "Inflation Rate Mom", "importance": "low", "description": "In Indonesia, the consumer price index (CPI) is a measure of change over a specified period of time in the general level of prices of goods and services that a given population acquires, uses or pays for consumption. The CPI covers the urban population in the 44 provincial capital cities and regency capital cities in the country. The most important categories in Indonesia's CPI are Food, drinks and tobacco (25 percent of the total weight), Housing, water, electricity and household fuel (20.4 percent), Transportation (12.4 percent), and Food and beverage providers/Restaurant (8.7 percent). The index also includes: Household equipment, tools and routine maintenance (6 percent); Personal care and other services (5.9 percent); Information, communication and financial services (5.8 percent); Education (5.6 percent); and Clothing and footwear (5.4 percent). Health and Recreation, sports and culture account for the remaining 4.7 percent." }, { "id": "407218", "date": "2026-08-03T04:00:00.000Z", "unit": "%", "title": "Core Inflation Rate YoY", "period": "Jul", "source": "Statistics Indonesia", "country": "ID", "currency": "IDR", "forecast": 2.8, "previous": 2.76, "indicator": "Core Inflation Rate", "importance": "low", "description": "In Indonesia, the core inflation rate tracks changes in prices that consumers pay for a basket of goods which excludes some volatile price items." }, { "id": "409373", "date": "2026-08-03T04:00:00.000Z", "unit": "%", "title": "Imports YoY", "period": "Jun", "source": "Statistics Indonesia", "country": "ID", "currency": "IDR", "forecast": 25.3, "previous": 22.16, "indicator": "Imports YoY", "importance": "low", "description": "From 2004 to 2012, imports to Indonesia tripled, as large portion of the population entered middle-class and propelled higher purchases of oil and consumption goods. However, starting in mid-2013, imports have been declining due to low commodity prices and weak domestic consumption and investment. Main imports products are: oil and gas (around 17 percent of total imports), nuclear reactions, boilers, mechanical appliances (19 percent); iron and steel (5.4 percent), organic chemical materials (4.8 percent) and vehicles (4.5 percent). Main import partners are: China (25 percent of the total imports), Japan (11 percent), Singapore (7.6 percent), Thailand (6.8 percent) and the United States (6.4 percent)." }, { "id": "410705", "date": "2026-08-03T04:00:00.000Z", "unit": "$", "scale": "B", "title": "Balance of Trade", "period": "Jun", "source": "Statistics Indonesia", "country": "ID", "currency": "IDR", "forecast": -0.79, "previous": -1.61, "indicator": "Balance of Trade", "importance": "medium", "description": "Since the 1970’s Indonesia has been recording consistent trade surpluses due to robust exports growth. However, from 2012 to 2014 the country started recording trade deficits, as exports shrank due to slowdown in the global economy and fall in commodity prices. In 2015, trade balance swang again to surplus due to almost 20 percent fall in imports. In recent years, the biggest trade deficits were recorded with China, Thailand, Japan, Germany and South Korea. Indonesia records trade surpluses mainly with India, United States, and Malaysia." }, { "id": "414341", "date": "2026-08-03T04:00:00.000Z", "unit": "%", "title": "Inflation Rate YoY", "period": "Jul", "source": "Statistics Indonesia", "country": "ID", "currency": "IDR", "forecast": 3.2, "previous": 3.34, "indicator": "Inflation Rate", "importance": "medium", "description": "In Indonesia, the consumer price index (CPI) is a measure of change over a specified period of time in the general level of prices of goods and services that a given population acquires, uses or pays for consumption. The CPI covers the urban population in the 44 provincial capital cities and regency capital cities in the country. The most important categories in Indonesia's CPI are Food, drinks and tobacco (25 percent of the total weight), Housing, water, electricity and household fuel (20.4 percent), Transportation (12.4 percent), and Food and beverage providers/Restaurant (8.7 percent). The index also includes: Household equipment, tools and routine maintenance (6 percent); Personal care and other services (5.9 percent); Information, communication and financial services (5.8 percent); Education (5.6 percent); and Clothing and footwear (5.4 percent). Health and Recreation, sports and culture account for the remaining 4.7 percent." }, { "id": "414584", "date": "2026-08-03T05:00:00.000Z", "title": "Tourist Arrivals YoY", "period": "Jun", "source": "Statistics Indonesia", "country": "ID", "currency": "IDR", "previous": 5.83, "indicator": "Tourist Arrivals", "importance": "low", "description": "In Indonesia, Tourist Arrivals refers to the number of foreign tourists visiting the country." } ], "provider": "tradingview", "countries": [ "ID", "US" ] } ``` --- _Generated: 2026-08-02T14:23:53.563Z_