# Kontan — Zapi reference > Indonesian business daily plus its data centre — news search and archive back to 2008, and 21 economic datasets covering markets, macro, commodities and industry. **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:** `{ content, message, errors }` **Rate limit:** 60 req/min on free tier. **Related:** - Detail page: https://zpi.web.id/api/finance/kontan - 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 --- ## Kontan **Category:** finance · **Slug:** `kontan` **Detail page:** https://zpi.web.id/api/finance/kontan Indonesian business daily plus its data centre — news search and archive back to 2008, and 21 economic datasets covering markets, macro, commodities and industry. **Tags:** kontan, saham, indonesia, ekonomi, market, news, finance ### Channel Feed RSS items from one Kontan channel. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:kontan/feed` - **Cache TTL:** 120s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `channel` | enum(investasi|keuangan|industri|nasional|internasional|insight|kolom|lifestyle|personalfinance|regional|english) | query | no | Kontan channel. Default investasi | | `limit` | number | query | no | Maximum items to return. Default 20, max 300 | **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:kontan/feed?channel=investasi&limit=20" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:kontan/feed?channel=investasi&limit=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:kontan/feed?channel=investasi&limit=20", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 5, "items": [ { "url": "https://keuangan.kontan.co.id/news/kebutuhan-bisnis-nasabah-kian-berkembang-qlola-by-bri-hadirkan-new-experience", "title": "Kebutuhan Bisnis Nasabah Kian Berkembang, QLola by BRI Hadirkan New Experience", "source": "kontan.co.id", "summary": "Kebutuhan perusahaan dalam mengelola transaksi keuangan terus berkembang seiring dengan semakin luasnya aktivitas bisnis.", "publishedAt": "2026-08-20T11:18:36.000Z" }, { "url": "https://keuangan.kontan.co.id/news/industri-multifinance-jaga-pertumbuhan-laba-hingga-semester-i-2026", "title": "Industri Multifinance Jaga Pertumbuhan Laba hingga Semester I-2026", "source": "kontan.co.id", "summary": "Otoritas Jasa Keuangan (OJK) mencatatkan pertumbuhan laba industri multifinance pada semester I-2026. Ini respon BRI Finance dan MUF.", "publishedAt": "2026-08-20T11:03:42.000Z" }, { "url": "https://keuangan.kontan.co.id/news/cimb-niaga-luncurkan-kki-ritel-bisa-transaksi-qris-pakai-kartu-kredit", "title": "CIMB Niaga Luncurkan KKI Ritel, Bisa Transaksi QRIS Pakai Kartu Kredit", "source": "kontan.co.id", "summary": "CIMB Niaga resmi meluncurkan Kartu Kredit Indonesia (KKI) Ritel untuk memperkuat ekosistem pembayaran domestik dan mendorong transaksi digital", "publishedAt": "2026-08-20T10:59:16.000Z" }, { "url": "https://keuangan.kontan.co.id/news/asuransi-syariah-andalkan-instrumen-pendapatan-tetap-guna-jaga-portofolio-investasi", "title": "Asuransi Syariah Andalkan Instrumen Pendapatan Tetap Guna Jaga Portofolio Investasi", "source": "kontan.co.id", "summary": "Data OJK, Hasil investasi asuransi syariah tercatat sebesar Rp503 miliar pada Juni 2026, turun sekitar 49,7% secara tahunan.", "publishedAt": "2026-08-20T10:16:39.000Z" }, { "url": "https://keuangan.kontan.co.id/news/kredit-citi-indonesia-tumbuh-805-pipeline-semester-ii-capai-rp-5-triliun", "title": "Kredit Citi Indonesia Tumbuh 8,05%, Pipeline Semester II Capai Rp 5 Triliun", "source": "kontan.co.id", "summary": "Kredit Citi Indonesia tumbuh 8,05% menjadi Rp29,9 triliun, didukung pipeline Rp5 triliun, meski laba semester I-2026 turun 25,45%", "publishedAt": "2026-08-20T10:02:21.000Z" } ], "channel": "keuangan", "dataset": "feed", "provider": "kontan" } ``` --- ### Article Search Search Kontan articles by keyword. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:kontan/search` - **Cache TTL:** 300s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `q` | string | query | yes | Search keyword | | `page` | number | query | no | Page number, 20 items per page. Default 1 | **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:kontan/search?q=saham&page=1" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:kontan/search?q=saham&page=1", { 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:kontan/search?q=saham&page=1", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "page": 1, "count": 20, "items": [ { "url": "https://investasi.kontan.co.id/news/menanti-data-transaksi-berjalan-begini-proyeksi-rupiah-besok-218", "image": "https://foto.kontan.co.id/MuI3SlN5h0D3Cmd5CNI50jnHbl4=/smart/2026/07/13/1682104807t.jpg", "title": "Menanti Data Transaksi Berjalan, Begini Proyeksi Rupiah Besok (21/8)", "source": "kontan.co.id", "category": "investasi", "publishedAt": "2026-08-19T17:00:00.000Z" }, { "url": "https://pusatdata.kontan.co.id/news/keyakinan-terhadap-dolar-as-susut-kurs-rupiah-menguat-tajam-hari-ini-208", "image": "https://foto.kontan.co.id/MuI3SlN5h0D3Cmd5CNI50jnHbl4=/smart/2026/07/13/1682104807t.jpg", "title": "Keyakinan Terhadap Dolar AS Susut, Kurs Rupiah Menguat Tajam Hari Ini (20/8)", "source": "kontan.co.id", "category": "pusatdata", "publishedAt": "2026-08-19T17:00:00.000Z" }, { "url": "https://investasi.kontan.co.id/news/as-buyback-obligasi-rupiah-menguat-ke-rp-17748-per-dolar-as", "image": "https://foto.kontan.co.id/TCiPlY_kmz2RdommtcB14Gar_Ds=/smart/2026/06/02/1463542562t.jpg", "title": "AS Buyback Obligasi, Rupiah Menguat ke Rp 17.748 per Dolar AS", "source": "kontan.co.id", "category": "investasi", "publishedAt": "2026-08-19T17:00:00.000Z" }, { "url": "https://industri.kontan.co.id/news/rupiah-lemas-pelaku-industri-travel-perkuat-efisiensi-dan-arus-kas", "image": "https://foto.kontan.co.id/pdIEmRtLwtIGkqFGKjJ0Q-E6GaU=/smart/2026/08/20/1097049320t.jpg", "title": "Rupiah Lemas, Pelaku Industri Travel Perkuat Efisiensi dan Arus Kas", "source": "kontan.co.id", "category": "industri", "publishedAt": "2026-08-19T17:00:00.000Z" }, { "url": "https://internasional.kontan.co.id/news/bursa-asia-menguat-rupiah-ikut-perkasa-usai-pemerintah-as-redakan-pasar-obligasi", "image": "https://foto.kontan.co.id/DJC0P_rCe8fvsJDnW1249jCVmn8=/smart/2026/08/12/2106780513t.jpg", "title": "Bursa Asia Menguat, Rupiah Ikut Perkasa Usai Pemerintah AS Redakan Pasar Obligasi", "source": "kontan.co.id", "category": "internasional", "publishedAt": "2026-08-19T17:00:00.000Z" }, { "url": "https://investasi.kontan.co.id/news/rupiah-ditutup-menguat-ke-rp-17748-per-dolar-as-hari-ini-208-paling-kuat-di-asia", "image": "https://foto.kontan.co.id/IwUkJinvLN5GS46ZqYJQ5IuGMbw=/smart/2026/07/27/1018513453t.jpg", "title": "Rupiah Ditutup Menguat ke Rp 17.748 Per Dolar AS Hari Ini (20/8), Paling Kuat di Asia", "source": "kontan.co.id", "category": "investasi", "publishedAt": "2026-08-19T17:00:00.000Z" }, { "url": "https://nasional.kontan.co.id/news/bi-tahan-bunga-575-risiko-kenaikan-suku-bunga-masih-mengintai", "image": "https://foto.kontan.co.id/O7UrLzEIEAhBcoMua4yEMr11WQo=/smart/2026/08/04/468742067t.jpg", "title": "BI Tahan Suku Bunga 5,75%, Risiko Kenaikan BI Rate Masih Mengintai", "source": "kontan.co.id", "category": "nasional", "publishedAt": "2026-08-19T17:00:00.000Z" }, { "url": "https://investasi.kontan.co.id/news/rupiah-spot-menguat-038-ke-rp-17771-per-dolar-as-pada-kamis-208-siang", "image": "https://foto.kontan.co.id/YCrDKF1zMr6zJQmg62qjDF8n054=/smart/2026/06/04/291669906t.jpg", "title": "Rupiah Spot Menguat 0,38% ke Rp 17.771 per Dolar AS pada Kamis (20/8) Siang", "source": "kontan.co.id", "category": "investasi", "publishedAt": "2026-08-19T17:00:00.000Z" } ], "query": "rupiah", "dataset": "search", "hasMore": true, "nextPage": 2, "provider": "kontan" } ``` --- ### Article Archive One day of Kontan, any date back to 2008, filterable by channel. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:kontan/archive` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `date` | string | query | no | Archive date as YYYY-MM-DD, back to 2008. Default today in Jakarta time | | `channel` | enum(nasional|keuangan|investasi|industri|internasional|peluangusaha|personalfinance|english|lifestyle|fokus|regional|yangter|kesehatan|caritahu|analisis|executive|kolom|kilaskementerian|infografik|insight|cekfakta|seremonia|native|exportexpert|tabloid|kilaskorporasi|edsus|tv|stocksetup|belanjaon|newssetup|filmon|kiaton|sportsetup|momsmoneyid|pressrelease|jelajahekonomi|aktual|showcase|finansial|sehat|pusatdata|global|style|sosok|iptek) | query | no | Channel to scope to. Omit for all channels | | `page` | number | query | no | Page number, 20 items per page. Default 1 | **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:kontan/archive?date=2026-08-20&channel=investasi&page=1" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:kontan/archive?date=2026-08-20&channel=investasi&page=1", { 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:kontan/archive?date=2026-08-20&channel=investasi&page=1", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "date": "2026-08-19", "page": 1, "count": 20, "items": [ { "url": "https://keuangan.kontan.co.id/news/perusahaan-modal-ventura-berizin-diawasi-ojk", "image": "https://foto.kontan.co.id/ykIbm29-SqlRTK1SzMtGp2RshRQ=/smart/2024/01/23/571413721t.jpg", "title": "Perusahaan Modal Ventura Berizin Diawasi OJK", "source": "kontan.co.id", "category": "keuangan", "publishedAt": "2026-08-18T17:00:00.000Z" }, { "url": "https://keuangan.kontan.co.id/news/ini-tantangan-industri-lkm-seimbangkan-tingkat-inklusi-dengan-literasi", "image": "https://foto.kontan.co.id/TQnxIGr1eSy3dXcgqfZvxco_zzY=/smart/2024/11/25/1007564343t.jpg", "title": "Ini Tantangan Industri LKM Seimbangkan Tingkat Inklusi dengan Literasi", "source": "kontan.co.id", "category": "keuangan", "publishedAt": "2026-08-18T17:00:00.000Z" }, { "url": "https://nasional.kontan.co.id/news/kemenhaj-usul-bpih-2027-rp1073-juta-jemaah-bayar-rp429-juta", "image": "https://foto.kontan.co.id/gp2xguKiEv5ZEtVv2e85tYxPg0o=/smart/2019/03/20/1281679964t.jpg", "title": "Kemenhaj Usul BPIH 2027 Rp107,3 Juta, Jemaah Bayar Rp42,9 Juta", "source": "kontan.co.id", "category": "nasional", "publishedAt": "2026-08-18T17:00:00.000Z" }, { "url": "https://keuangan.kontan.co.id/news/pamor-srbi-di-industri-dana-pensiun-konvensional-kian-menanjak", "image": "https://foto.kontan.co.id/TyzaEeTatYT899uUb5oTBghVQ9w=/smart/2026/02/20/985607880t.jpg", "title": "Pamor SRBI di Industri Dana Pensiun Konvensional Kian Menanjak", "source": "kontan.co.id", "category": "keuangan", "publishedAt": "2026-08-18T17:00:00.000Z" }, { "url": "https://nasional.kontan.co.id/news/kemenhaj-pastikan-layanan-jemaah-tetap-berjalan-di-tengah-gempa-ntt", "image": "https://foto.kontan.co.id/Ynl_BA8tPFUes9GUQLCzALhCnlY=/smart/2026/08/18/1319090054t.jpg", "title": "Kemenhaj Pastikan Layanan Jemaah Tetap Berjalan di Tengah Gempa NTT", "source": "kontan.co.id", "category": "nasional", "publishedAt": "2026-08-18T17:00:00.000Z" }, { "url": "https://industri.kontan.co.id/news/investasi-industri-logam-us-844-m-gifametec-bidik-kebutuhan-teknologi-makin-besar", "image": "https://foto.kontan.co.id/HglgYwyyKUascXJxwOF-H1ac-tM=/smart/2026/08/19/1554404743t.jpg", "title": "Investasi Industri Logam US$ 8,44 M, GIFA&METEC Bidik Kebutuhan Teknologi Makin Besar", "source": "kontan.co.id", "category": "industri", "publishedAt": "2026-08-18T17:00:00.000Z" }, { "url": "https://investasi.kontan.co.id/news/asing-net-buy-rp-933-miliar-intip-saham-yang-banyak-diborong-rabu-198", "image": "https://foto.kontan.co.id/pdzE8ycbnuFkytp94ZQYCtRUHMg=/smart/2026/07/27/105291204t.jpg", "title": "Asing Net Buy Rp 933 Miliar, Intip Saham yang Banyak Diborong, Rabu (19/8)", "source": "kontan.co.id", "category": "investasi", "publishedAt": "2026-08-18T17:00:00.000Z" }, { "url": "https://investasi.kontan.co.id/news/wall-street-pulih-saham-moderna-melonjak-lebih-dari-dua-kali-lipat", "image": "https://foto.kontan.co.id/qNznnBAguTjVQ9X5ATzbHSsdZMw=/smart/2026/07/21/1556276433t.jpg", "title": "Wall Street Pulih, Saham Moderna Melonjak Lebih dari Dua Kali Lipat", "source": "kontan.co.id", "category": "investasi", "publishedAt": "2026-08-18T17:00:00.000Z" } ], "channel": null, "dataset": "archive", "hasMore": true, "nextPage": 2, "provider": "kontan" } ``` --- ### Article Detail One article with body, tags, writer, editor and word count. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:kontan/detail` - **Cache TTL:** 3600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `url` | string | query | yes | Full article URL | **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:kontan/detail?url=https%3A%2F%2Finvestasi.kontan.co.id%2Fnews%2Feskalasi-geopolitik-bayangi-pasar-harga-minyak-berpotensi-tembus-us-100" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:kontan/detail?url=https%3A%2F%2Finvestasi.kontan.co.id%2Fnews%2Feskalasi-geopolitik-bayangi-pasar-harga-minyak-berpotensi-tembus-us-100", { 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:kontan/detail?url=https%3A%2F%2Finvestasi.kontan.co.id%2Fnews%2Feskalasi-geopolitik-bayangi-pasar-harga-minyak-berpotensi-tembus-us-100", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "id": "1361201", "url": "https://investasi.kontan.co.id/news/eskalasi-geopolitik-bayangi-pasar-harga-minyak-berpotensi-tembus-us-100", "tags": [ "harga minyak dunia", "harga minyak mentah", "minyak brent", "brent", "wti", "harga minyak brent", "brent wti", "west texas intermediate wti" ], "type": "Standard", "image": "https://foto.kontan.co.id/OPjZDSDIJeCm92MUcH3qWKMjT60=/smart/2026/08/12/68597051.jpg", "title": "Eskalasi Geopolitik Bayangi Pasar, Harga Minyak Berpotensi Tembus US$ 100", "author": "Muhammad Fatih", "editor": "Anna Suci Perwitasari", "source": "kontan.co.id", "content": "Reporter: Muhammad Fatih | Editor: Anna Suci Perwitasari\n\nKONTAN.CO.ID - JAKARTA. Harga minyak mentah dunia diproyeksikan masih cenderung berada di level tinggi dan volatil hingga akhir tahun seiring meningkatnya risiko gangguan pasokan fisik akibat eskalasi konflik di Timur Tengah.\n\nKamis (20/8/2026), mengutip Bloomberg, harga minyak mentah berjangka jenis Brent untuk kontrak pengiriman Oktober naik 35 sen atau 0,38% menjadi US$ 91,97 per barel.\n\nSejalan, harga minyak mentah berjangka West Texas Intermediate (WTI) untuk kontrak pengiriman September 2026 naik 17 sen menjadi US$ 86,00 per barel. Dengan harga WTI kontrak pengiriman Oktober 2026 yang lebih aktif, menguatkan 38 sen atau 0,45%, menjadi US$ 84,77 per barel.\n\nLonjakan harga minyak mentah belakangan ini tidak lagi sekadar dipicu oleh sentimen psikologis pasar, melainkan telah merefleksikan gangguan pasokan fisik (supply disruption) yang nyata di lapangan.\n\nBaca Juga: PGEO Gelar MESOP 127 Juta Saham Mulai 24 Agustus Selama 30 Hari\n\nMenurunnya lalu lintas kapal tanker di Selat Hormuz serta tersendatnya ekspor minyak dari kawasan Teluk menjadi penopang utama kenaikan harga energi global saat ini.\n\nMeski negara produsen besar yang tergabung dalam OPEC+ serta Amerika Serikat masih memiliki kapasitas cadangan untuk menambah pasokan, fleksibilitas tersebut dinilai tetap terbatas dalam meredam lonjakan harga.\n\nKeterbatasan tersebut terjadi lantaran hambatan distribusi di titik krusial seperti Selat Hormuz tidak serta-merta dapat digantikan oleh peningkatan produksi dari wilayah lain.\n\nChief Analyst Doo Financial Futures Lukman Leong mengatakan, pergerakan pasar komoditas energi saat ini telah mengalami pergeseran mendasar dibandingkan dengan fase-fase awal ketegangan geopolitik.\n\n\"Saat ini sudah lebih banyak mencerminkan risiko supply disruption yang nyata, bukan hanya faktor psikologis. Di awal konflik, pasar menaikkan harga karena khawatir terhadap kemungkinan gangguan pasokan. Sekarang, gangguan tersebut sudah menjadi kenyataan,\" kata Lukman kepada Kontan, Kamis (20/8/2026).\n\nDalam skenario dasar (base case), Lukman memproyeksikan harga minyak Brent bergerak di kisaran US$ 85–US$ 100 per barel dan WTI berada di rentang US$ 80–US$ 95 per barel hingga akhir tahun.\n\nKendati demikian, arah pergerakan harga minyak masih memiliki kecenderungan menguat (upside bias) bergantung pada situasi geopolitik di Timur Tengah.\n\nApabila konflik Iran-AS terus meluas dan memicu penutupan Selat Hormuz dalam jangka waktu yang lebih lama, harga minyak jenis Brent diperkirakan berpotensi menembus level US$ 100 hingga US$ 110 per barel.\n\nBaca Juga: AS Buyback Obligasi, Rupiah Menguat ke Rp 17.748 per Dolar AS\n\nSebaliknya, jika dicapai kesepakatan damai serta kepastian pembukaan kembali arus pelayaran, geopolitical premium diprediksi akan luntur dan mengoreksi harga Brent ke kisaran US$ 75–US$ 85 per barel.\n\n\"OPEC+, khususnya negara produsen besar seperti Saudi, memiliki spare capacity yang dapat dimobilisasi jika diperlukan, sementara produksi minyak AS yang tinggi juga menjadi penyangga bagi pasokan global. Namun, kemampuan tersebut tetap terbatas karena jika gangguan utama berasal dari Selat Hormuz, tambahan produksi dari negara lain tidak serta-merta dapat menggantikan pasokan yang terhambat,\" tutup Lukman.\n\nCek Berita dan Artikel yang lain di Google News", "dataset": "article", "summary": "Harga minyak acuan terus reli untuk lima sesi berturut-turut dan membuat harga minyak berpeluang kembali ke atas US$ 100 per barel", "category": "investasi", "provider": "kontan", "authorUrl": "https://www.kontan.co.id/author/531/muhammad-fatih", "updatedAt": "2026-08-20T09:38:30.000Z", "wordCount": 547, "publishedAt": "2026-08-20T09:38:30.000Z", "subcategory": "Komoditas" } ``` --- ### Tag Articles Articles filed under one tag. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:kontan/tag` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `tag` | string | query | yes | Tag slug, as it appears in a /tag/ URL | **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:kontan/tag?tag=harga-minyak" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:kontan/tag?tag=harga-minyak", { 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:kontan/tag?tag=harga-minyak", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "tag": "harga-minyak", "count": 10, "items": [ { "url": "https://investasi.kontan.co.id/news/ancaman-sanksi-iran-tekan-pasokan-fisik-harga-minyak-dibayangi-volatilitas", "image": "https://foto.kontan.co.id/yL8aYhYetjEXqh2suETeB2j9-O4=/smart/2026/08/12/68597051t.jpg", "title": "Ancaman Sanksi Iran Tekan Pasokan Fisik, Harga Minyak Dibayangi Volatilitas", "source": "kontan.co.id", "publishedAt": "2026-08-20T10:11:00.000Z" }, { "url": "https://industri.kontan.co.id/news/target-lifting-gas-rapbn-2027-turun-aspermigas-soroti-serapan-dan-harga-gas", "image": "https://foto.kontan.co.id/CO96WasNrDme_N3pZCzGLnLi9qM=/smart/2016/08/24/1767780674t.jpg", "title": "Target Lifting Gas RAPBN 2027 Turun, Aspermigas Soroti Serapan dan Harga Gas", "source": "kontan.co.id", "publishedAt": "2026-08-20T10:03:00.000Z" }, { "url": "https://investasi.kontan.co.id/news/eskalasi-geopolitik-bayangi-pasar-harga-minyak-berpotensi-tembus-us-100", "image": "https://foto.kontan.co.id/yL8aYhYetjEXqh2suETeB2j9-O4=/smart/2026/08/12/68597051t.jpg", "title": "Eskalasi Geopolitik Bayangi Pasar, Harga Minyak Berpotensi Tembus US$ 100", "source": "kontan.co.id", "publishedAt": "2026-08-20T09:38:00.000Z" }, { "url": "https://internasional.kontan.co.id/news/harga-minyak-naik-karena-kekhawatiran-pasokan-timur-tengah-di-tengah-kebuntuan-perang", "image": "https://foto.kontan.co.id/meJ3wjvpi0CAYB9jJ-rx7LonD7M=/smart/2026/08/02/2139721256t.jpg", "title": "Harga Minyak Naik karena Kekhawatiran Pasokan Timur Tengah di Tengah Kebuntuan Perang", "source": "kontan.co.id", "publishedAt": "2026-08-20T07:07:00.000Z" }, { "url": "https://internasional.kontan.co.id/news/harga-minyak-menguat-5-sesi-berturut-turut-wti-dekati-us-90-per-barel", "image": "https://foto.kontan.co.id/yL8aYhYetjEXqh2suETeB2j9-O4=/smart/2026/08/12/68597051t.jpg", "title": "Harga Minyak Menguat 5 Sesi Berturut-Turut, WTI Dekati US$ 90 Per Barel", "source": "kontan.co.id", "publishedAt": "2026-08-20T05:54:00.000Z" }, { "url": "https://internasional.kontan.co.id/news/impor-jepang-cetak-rekor-harga-minyak-dorong-tekanan-inflasi", "image": "https://foto.kontan.co.id/Q_4jptaQKL0VAfQCSFJzIiIO_ZM=/smart/2020/09/10/351650731t.jpg", "title": "Impor Jepang Cetak Rekor, Harga Minyak Dorong Tekanan Inflasi", "source": "kontan.co.id", "publishedAt": "2026-08-20T03:15:00.000Z" }, { "url": "https://internasional.kontan.co.id/news/harga-minyak-dunia-stabil-kamis-208-brent-ke-us9187-dan-wti-ke-us8581", "image": "https://foto.kontan.co.id/iK5uoe7BW9A0rnQpfJjoMZdkF9g=/smart/2026/08/02/951545591t.jpg", "title": "Harga Minyak Dunia Stabil Kamis (20/8), Brent ke US$91,87 dan WTI ke US$85,81", "source": "kontan.co.id", "publishedAt": "2026-08-20T01:56:00.000Z" }, { "url": "https://investasi.kontan.co.id/news/harga-minyak-lanjut-menguat-kamis-208-pagi-dipicu-ancaman-perang-ekonomi-as-iran", "image": "https://foto.kontan.co.id/iK5uoe7BW9A0rnQpfJjoMZdkF9g=/smart/2026/08/02/951545591t.jpg", "title": "Harga Minyak Lanjut Menguat Kamis (20/8) Pagi, Dipicu Ancaman Perang Ekonomi AS-Iran", "source": "kontan.co.id", "publishedAt": "2026-08-20T00:36:00.000Z" } ], "dataset": "tag", "provider": "kontan" } ``` --- ### Author Articles One writer's articles, paged. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:kontan/author` - **Cache TTL:** 600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `author` | string | query | yes | Author path as /, or a full /author/ URL | | `page` | number | query | no | Page number, 10 items per page. Default 1 | **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:kontan/author?author=531%2Fmuhammad-fatih&page=1" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:kontan/author?author=531%2Fmuhammad-fatih&page=1", { 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:kontan/author?author=531%2Fmuhammad-fatih&page=1", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "page": 1, "count": 10, "items": [ { "url": "https://investasi.kontan.co.id/news/ancaman-sanksi-iran-tekan-pasokan-fisik-harga-minyak-dibayangi-volatilitas", "image": "https://foto.kontan.co.id/yL8aYhYetjEXqh2suETeB2j9-O4=/smart/2026/08/12/68597051t.jpg", "title": "Ancaman Sanksi Iran Tekan Pasokan Fisik, Harga Minyak Dibayangi Volatilitas", "source": "kontan.co.id", "category": "HARGA MINYAK BUMI", "publishedAt": "2026-08-20T10:11:00.000Z" }, { "url": "https://investasi.kontan.co.id/news/eskalasi-geopolitik-bayangi-pasar-harga-minyak-berpotensi-tembus-us-100", "image": "https://foto.kontan.co.id/yL8aYhYetjEXqh2suETeB2j9-O4=/smart/2026/08/12/68597051t.jpg", "title": "Eskalasi Geopolitik Bayangi Pasar, Harga Minyak Berpotensi Tembus US$ 100", "source": "kontan.co.id", "category": "GEJOLAK HARGA MINYAK", "publishedAt": "2026-08-20T09:38:00.000Z" }, { "url": "https://insight.kontan.co.id/news/pasar-sigap-mengantisipasi-arah-bi-rate", "image": "https://foto.kontan.co.id/voz-g-59WslBn_GnqjYTg5jivEA=/smart/2026/08/11/1478964731t.jpg", "title": "Pasar Sigap Mengantisipasi Arah BI Rate", "source": "kontan.co.id", "category": "KURS RUPIAH-DOLAR AS", "publishedAt": "2026-08-20T00:10:00.000Z" }, { "url": "https://investasi.kontan.co.id/news/bi-rate-ditahan-575-rupiah-masih-berisiko-kembali-ke-level-rp-18000", "image": "https://foto.kontan.co.id/IwUkJinvLN5GS46ZqYJQ5IuGMbw=/smart/2026/07/27/1018513453t.jpg", "title": "BI Rate Ditahan 5,75%, Rupiah Masih Berisiko Kembali ke Level Rp 18.000", "source": "kontan.co.id", "category": "PREDIKSI RUPIAH", "publishedAt": "2026-08-19T11:59:00.000Z" }, { "url": "https://investasi.kontan.co.id/news/persiapkan-bursa-mineral-dan-komoditas-strategis-ojk-lantik-deputi-komisioner-baru", "image": "https://foto.kontan.co.id/ln6z1R5u7YZjoPdBT7kVdlKfJgA=/smart/2026/08/04/998991175t.jpg", "title": "Persiapkan Bursa Mineral dan Komoditas Strategis, OJK Lantik Deputi Komisioner Baru", "source": "kontan.co.id", "category": "KOMODITAS MINERAL", "publishedAt": "2026-08-19T11:47:00.000Z" }, { "url": "https://investasi.kontan.co.id/news/ihsg-terpangkas-ke-level-6394-cermati-sinyal-kebijakan-bi-dan-lonjakan-minyak", "image": "https://foto.kontan.co.id/Ye6ekpiFplOYPyeXkE5UCLw5ftA=/smart/2026/04/13/686589134t.jpg", "title": "IHSG Terpangkas ke Level 6.394, Cermati Sinyal Kebijakan BI dan Lonjakan Minyak", "source": "kontan.co.id", "category": "IHSG", "publishedAt": "2026-08-19T11:10:00.000Z" }, { "url": "https://investasi.kontan.co.id/news/ftse-russell-tunda-rebalancing-saham-ri-bei-dapat-waktu-benahi-pasar", "image": "https://foto.kontan.co.id/YwnESMue6wr21OoWeRbKgKIXXq8=/smart/2025/09/21/724964975t.jpg", "title": "FTSE Russell Tunda Rebalancing Saham RI, BEI Dapat Waktu Benahi Pasar", "source": "kontan.co.id", "category": "IHSG", "publishedAt": "2026-08-19T10:58:00.000Z" }, { "url": "https://investasi.kontan.co.id/news/yield-sbn-melandai-intip-proyeksi-obligasi-tenor-5-dan-10-tahun", "image": "https://foto.kontan.co.id/TdEBOfRxdIpQT9ChsqomPAJ2eGo=/smart/2022/06/02/652195280t.jpg", "title": "Yield SBN Melandai, Intip Proyeksi Obligasi Tenor 5 dan 10 Tahun", "source": "kontan.co.id", "category": "OBLIGASI", "publishedAt": "2026-08-19T10:35:00.000Z" } ], "author": "531/muhammad-fatih", "dataset": "author", "hasMore": true, "nextPage": 2, "provider": "kontan" } ``` --- ### Trading Recap IDX trading recap: market totals, investor split, blue chips and busiest brokers. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:kontan/rekap-data` - **Cache TTL:** 3600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `section` | number | query | no | Which table on the page, 1-based. Default 1; `sections` lists them all | **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:kontan/rekap-data?section=1" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:kontan/rekap-data?section=1", { 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:kontan/rekap-data?section=1", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 3, "items": [ { "event": "Buy", "totalValue": "15.776.495.743.834", "totalVolume": "77.092.754.743", "foreignValue": "5.354.211.791.469", "domesticValue": "10.422.283.952.365", "foreignVolume": "44.094.527.410", "domesticVolume": "32.998.227.333" }, { "event": "Sell", "totalValue": "15.776.495.743.834", "totalVolume": "77.092.754.743", "foreignValue": "4.673.957.116.262", "domesticValue": "11.102.538.627.572", "foreignVolume": "45.719.387.678", "domesticVolume": "31.373.367.065" }, { "event": "Net", "totalValue": "0", "totalVolume": "0", "foreignValue": "680.254.675.207", "domesticValue": "-680.254.675.207", "foreignVolume": "-1.624.860.268", "domesticVolume": "1.624.860.268" } ], "columns": [ { "field": "event", "label": "Event" }, { "field": "domesticVolume", "label": "Domestic Volume" }, { "field": "domesticValue", "label": "Domestic Value" }, { "field": "foreignVolume", "label": "Foreign Volume" }, { "field": "foreignValue", "label": "Foreign Value" }, { "field": "totalVolume", "label": "Total Volume" }, { "field": "totalValue", "label": "Total Value" } ], "dataset": "rekap-data", "section": 2, "provider": "kontan", "sections": [ { "count": 8, "title": "Rekap Perdagangan Saham BEI", "section": 1 }, { "count": 3, "title": "Rekap Perdagangan Saham Menurut Investor", "section": 2 }, { "count": 10, "title": "10 Saham LQ45 dengan PER Terendah", "section": 3 }, { "count": 10, "title": "10 Saham LQ45 dengan PER Tertinggi", "section": 4 }, { "count": 10, "title": "Pembeli Blue Chip", "section": 5 }, { "count": 10, "title": "Penjual Blue Chip", "section": 6 }, { "count": 10, "title": "Broker Teraktif (Nilai)", "section": 7 }, { "count": 10, "title": "Broker Teraktif (Volume)", "section": 8 } ], "sectionTitle": "Rekap Perdagangan Saham Menurut Investor" } ``` --- ### Global Indices World stock indices with last, change and change percent. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:kontan/indeks-global` - **Cache TTL:** 900s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `search` | string | query | no | Filter rows to those containing this text, case-insensitive | **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:kontan/indeks-global?search=SSEC" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:kontan/indeks-global?search=SSEC", { 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:kontan/indeks-global?search=SSEC", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 1, "items": [ { "last": "3903.72", "name": "SSEC", "change": "9.3", "updatedAt": "2026-08-20 15:01:30", "changePercent": "0.24" } ], "search": "ssec", "columns": [ { "field": "name", "label": "Name" }, { "field": "last", "label": "Last" }, { "field": "change", "label": "Change" }, { "field": "changePercent", "label": "Change (%)" }, { "field": "updatedAt", "label": "Last Update" } ], "dataset": "indeks-global", "provider": "kontan" } ``` --- ### Sectoral Indices IDX sectoral indices with last and change. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:kontan/indeks-sektoral` - **Cache TTL:** 900s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `search` | string | query | no | Filter rows to those containing this text, case-insensitive | **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:kontan/indeks-sektoral?search=IDXFINANCE" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:kontan/indeks-sektoral?search=IDXFINANCE", { 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:kontan/indeks-sektoral?search=IDXFINANCE", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 1, "items": [ { "last": "1365.6470", "name": "IDXFINANCE", "change": "20.077", "changePercent": "1.49" } ], "search": "idxfinance", "columns": [ { "field": "name", "label": "Name" }, { "field": "last", "label": "Last" }, { "field": "change", "label": "Change" }, { "field": "changePercent", "label": "Change (%)" } ], "dataset": "indeks-sektoral", "provider": "kontan" } ``` --- ### Foreign Flow Daily net foreign flow into Indonesian equities. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:kontan/dana-asing-saham` - **Cache TTL:** 3600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `search` | string | query | no | Filter rows to those containing this text, case-insensitive | **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:kontan/dana-asing-saham?search=2026-08" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:kontan/dana-asing-saham?search=2026-08", { 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:kontan/dana-asing-saham?search=2026-08", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 12, "items": [ { "date": "2026-08-19", "midPrice": "933.53" }, { "date": "2026-08-18", "midPrice": "-355.17" }, { "date": "2026-08-14", "midPrice": "-1034.66" }, { "date": "2026-08-13", "midPrice": "-1413.24" }, { "date": "2026-08-12", "midPrice": "725.21" }, { "date": "2026-08-11", "midPrice": "-687.84" }, { "date": "2026-08-10", "midPrice": "829.69" }, { "date": "2026-08-07", "midPrice": "1235.52" } ], "search": "2026-08", "columns": [ { "field": "midPrice", "label": "Mid Price" }, { "field": "date", "label": "Date" } ], "dataset": "dana-asing-saham", "provider": "kontan" } ``` --- ### Benchmark SUN Yield Government bond yield curve by tenor, today against yesterday. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:kontan/yield-sun-acuan` - **Cache TTL:** 3600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `search` | string | query | no | Filter rows to those containing this text, case-insensitive | **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:kontan/yield-sun-acuan?search=10" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:kontan/yield-sun-acuan?search=10", { 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:kontan/yield-sun-acuan?search=10", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 39, "items": [ { "date": "2026-08-19", "today": "6.5155", "tenorYear": "0.1", "yesterday": "6.5334" }, { "date": "2026-08-19", "today": "6.6560", "tenorYear": "1", "yesterday": "6.6690" }, { "date": "2026-08-19", "today": "6.7594", "tenorYear": "2", "yesterday": "6.7796" }, { "date": "2026-08-19", "today": "6.8363", "tenorYear": "3", "yesterday": "6.8664" }, { "date": "2026-08-19", "today": "6.8993", "tenorYear": "4", "yesterday": "6.9374" }, { "date": "2026-08-19", "today": "6.9541", "tenorYear": "5", "yesterday": "6.9968" }, { "date": "2026-08-19", "today": "7.0027", "tenorYear": "6", "yesterday": "7.0469" }, { "date": "2026-08-19", "today": "7.0460", "tenorYear": "7", "yesterday": "7.0891" } ], "search": "2026-08", "columns": [ { "field": "tenorYear", "label": "Tenor (Year)" }, { "field": "today", "label": "Today" }, { "field": "yesterday", "label": "Yesterday" }, { "field": "date", "label": "Date" } ], "dataset": "yield-sun-acuan", "provider": "kontan" } ``` --- ### SUN Ownership Government bond ownership split by institution type. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:kontan/kepemilikan-sun` - **Cache TTL:** 21600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `search` | string | query | no | Filter rows to those containing this text, case-insensitive | **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:kontan/kepemilikan-sun?search=Bank" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:kontan/kepemilikan-sun?search=Bank", { 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:kontan/kepemilikan-sun?search=Bank", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 3, "items": [ { "sun": "765.09", "date": "2026-06-30", "sbsn": "168.06", "total": "933.15", "sunPercent": "13.53", "institution": "Bank Konvensional", "sbsnPercent": "13.03", "totalPercent": "13.44" }, { "sun": "-", "date": "2026-06-30", "sbsn": "118.11", "total": "118.11", "sunPercent": "-", "institution": "Bank Syariah", "sbsnPercent": "9.16", "totalPercent": "1.70" }, { "sun": "1817.06", "date": "2026-06-30", "sbsn": "223.34", "total": "2040.41", "sunPercent": "32.13", "institution": "Bank Indonesia", "sbsnPercent": "17.32", "totalPercent": "29.38" } ], "search": "bank", "columns": [ { "field": "institution", "label": "Institusi" }, { "field": "sun", "label": "SUN" }, { "field": "sunPercent", "label": "SUN Persentase (%)" }, { "field": "sbsn", "label": "SBSN" }, { "field": "sbsnPercent", "label": "SBSN Persentase (%)" }, { "field": "total", "label": "Total" }, { "field": "totalPercent", "label": "Total Persentase (%)" }, { "field": "date", "label": "Tanggal" } ], "dataset": "kepemilikan-sun", "provider": "kontan" } ``` --- ### Corporate Bond Yield Corporate bond yield curve by tenor and credit rating. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:kontan/yield-obligasi-korporasi` - **Cache TTL:** 3600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `search` | string | query | no | Filter rows to those containing this text, case-insensitive | **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:kontan/yield-obligasi-korporasi?search=5" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:kontan/yield-obligasi-korporasi?search=5", { 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:kontan/yield-obligasi-korporasi?search=5", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 11, "items": [ { "a": "7.8492", "aa": "7.0307", "aaa": "6.8238", "bbb": "9.0000", "igs": "6.5155", "date": "2026-08-19", "tenorYear": "0.1" }, { "a": "8.1708", "aa": "7.3923", "aaa": "7.1307", "bbb": "10.0000", "igs": "6.6560", "date": "2026-08-19", "tenorYear": "1" }, { "a": "8.4000", "aa": "7.5300", "aaa": "7.2504", "bbb": "10.0000", "igs": "6.7594", "date": "2026-08-19", "tenorYear": "2" }, { "a": "8.5465", "aa": "7.5952", "aaa": "7.3305", "bbb": "10.0000", "igs": "6.8363", "date": "2026-08-19", "tenorYear": "3" }, { "a": "8.6453", "aa": "7.6536", "aaa": "7.4167", "bbb": "11.0000", "igs": "6.8993", "date": "2026-08-19", "tenorYear": "4" }, { "a": "8.7180", "aa": "7.7161", "aaa": "7.5067", "bbb": "11.0000", "igs": "6.9541", "date": "2026-08-19", "tenorYear": "5" }, { "a": "8.7778", "aa": "7.7788", "aaa": "7.5910", "bbb": "11.0000", "igs": "7.0027", "date": "2026-08-19", "tenorYear": "6" }, { "a": "8.8320", "aa": "7.8360", "aaa": "7.6627", "bbb": "11.0000", "igs": "7.0460", "date": "2026-08-19", "tenorYear": "7" } ], "search": "2026-08", "columns": [ { "field": "tenorYear", "label": "Tenor (Tahun)" }, { "field": "igs", "label": "IGS" }, { "field": "aaa", "label": "AAA" }, { "field": "aa", "label": "AA" }, { "field": "a", "label": "A" }, { "field": "bbb", "label": "BBB" }, { "field": "date", "label": "Tanggal" } ], "dataset": "yield-obligasi-korporasi", "provider": "kontan" } ``` --- ### Retail SBN Yield Retail government bond series with yield, price and coupon. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:kontan/yield-sbn-ritel` - **Cache TTL:** 3600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `search` | string | query | no | Filter rows to those containing this text, case-insensitive | **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:kontan/yield-sbn-ritel?search=ORI" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:kontan/yield-sbn-ritel?search=ORI", { 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:kontan/yield-sbn-ritel?search=ORI", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 15, "items": [ { "ttm": "2.91", "date": "2026-08-19", "coupon": "6.0000", "series": "ORI023T6", "todayPrice": "97.8872", "todayYield": "6.9045", "yesterdayPrice": "97.8143", "yesterdayYield": "6.9319" }, { "ttm": "0.16", "date": "2026-08-19", "coupon": "6.0000", "series": "ORI024T3", "todayPrice": "99.9334", "todayYield": "6.5292", "yesterdayPrice": "99.9296", "yesterdayYield": "6.5465" }, { "ttm": "3.16", "date": "2026-08-19", "coupon": "6.0000", "series": "ORI024T6", "todayPrice": "98.5104", "todayYield": "6.8764", "yesterdayPrice": "98.4283", "yesterdayYield": "6.9052" }, { "ttm": "0.49", "date": "2026-08-19", "coupon": "6.0000", "series": "ORI025T3", "todayPrice": "99.7694", "todayYield": "6.7301", "yesterdayPrice": "99.7631", "yesterdayYield": "6.7408" }, { "ttm": "3.50", "date": "2026-08-19", "coupon": "6.0000", "series": "ORI025T6", "todayPrice": "98.6947", "todayYield": "6.8214", "yesterdayPrice": "98.5910", "yesterdayYield": "6.8548" }, { "ttm": "1.16", "date": "2026-08-19", "coupon": "6.0000", "series": "ORI026T3", "todayPrice": "99.3499", "todayYield": "6.8865", "yesterdayPrice": "99.3661", "yesterdayYield": "6.8707" }, { "ttm": "4.16", "date": "2026-08-19", "coupon": "6.0000", "series": "ORI026T6", "todayPrice": "97.5455", "todayYield": "7.0835", "yesterdayPrice": "97.4098", "yesterdayYield": "7.1214" }, { "ttm": "1.49", "date": "2026-08-19", "coupon": "7.0000", "series": "ORI027T3", "todayPrice": "99.9561", "todayYield": "6.6809", "yesterdayPrice": "99.9354", "yesterdayYield": "6.6956" } ], "search": "ori", "columns": [ { "field": "series", "label": "Series" }, { "field": "ttm", "label": "TTM" }, { "field": "todayYield", "label": "Today Yield" }, { "field": "todayPrice", "label": "Today Price" }, { "field": "yesterdayYield", "label": "Yesterday Yield" }, { "field": "yesterdayPrice", "label": "Yesterday Price" }, { "field": "coupon", "label": "Coupon" }, { "field": "date", "label": "Date" } ], "dataset": "yield-sbn-ritel", "provider": "kontan" } ``` --- ### Deposit Benchmark Rate Deposit insurance benchmark rate by period, rupiah and foreign currency. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:kontan/sbw` - **Cache TTL:** 21600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `search` | string | query | no | Filter rows to those containing this text, case-insensitive | **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:kontan/sbw?search=2026" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:kontan/sbw?search=2026", { 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:kontan/sbw?search=2026", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 3, "items": [ { "date": "01/06/2026 - 30/09/2026", "rupiahPercent": "3.5%", "foreignCurrencyPercent": "2%" }, { "date": "01/02/2026 - 31/05/2026", "rupiahPercent": "3.5%", "foreignCurrencyPercent": "2%" }, { "date": "01/10/2025 - 31/01/2026", "rupiahPercent": "3.5%", "foreignCurrencyPercent": "2%" } ], "search": "2026", "columns": [ { "field": "date", "label": "Tanggal" }, { "field": "rupiahPercent", "label": "Rupiah (%)" }, { "field": "foreignCurrencyPercent", "label": "Valas (%)" } ], "dataset": "sbw", "provider": "kontan" } ``` --- ### CPO Price Crude palm oil futures by contract month, with price and volume. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:kontan/cpo` - **Cache TTL:** 3600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `search` | string | query | no | Filter rows to those containing this text, case-insensitive | **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:kontan/cpo?search=Aug" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:kontan/cpo?search=Aug", { 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:kontan/cpo?search=Aug", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 6, "items": [ { "date": "2026-08-06", "price": "16205", "volume": "100", "contract": "Aug", "contractYear": "2025" }, { "date": "2026-08-06", "price": "16605", "volume": "0", "contract": "Sep", "contractYear": "2025" }, { "date": "2026-08-06", "price": "16870", "volume": "0", "contract": "Okt", "contractYear": "2025" }, { "date": "2026-08-06", "price": "17075", "volume": "0", "contract": "Nov", "contractYear": "2025" }, { "date": "2026-08-06", "price": "17260", "volume": "0", "contract": "Des", "contractYear": "2025" }, { "date": "2026-08-06", "price": "17260", "volume": "0", "contract": "Jan", "contractYear": "2025" } ], "search": "2026", "columns": [ { "field": "contract", "label": "Kontrak Aktif" }, { "field": "price", "label": "Harga" }, { "field": "volume", "label": "Volume" }, { "field": "contractYear", "label": "Tahun Kontrak" }, { "field": "date", "label": "Tanggal" } ], "dataset": "cpo", "provider": "kontan" } ``` --- ### Mineral Prices Government reference prices for mineral commodities. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:kontan/mineral` - **Cache TTL:** 21600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `search` | string | query | no | Filter rows to those containing this text, case-insensitive | **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:kontan/mineral?search=Batubara" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:kontan/mineral?search=Batubara", { 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:kontan/mineral?search=Batubara", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 2, "items": [ { "year": "2026", "month": "APRIL (P1)", "price": "99.87", "mineral": "Batubara", "priceUnit": "(USD/ton)" }, { "year": "2026", "month": "APRIL (P2)", "price": "103.43", "mineral": "Batubara", "priceUnit": "(USD/ton)" } ], "search": "batubara", "columns": [ { "field": "mineral", "label": "Jenis Mineral" }, { "field": "price", "label": "Harga" }, { "field": "priceUnit", "label": "Satuan Harga" }, { "field": "month", "label": "Bulan" }, { "field": "year", "label": "Tahun" } ], "dataset": "mineral", "provider": "kontan" } ``` --- ### Car Sales Monthly car sales by brand: wholesale, retail, production, export and import. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:kontan/penjualan-mobil` - **Cache TTL:** 21600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `search` | string | query | no | Filter rows to those containing this text, case-insensitive | **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:kontan/penjualan-mobil?search=TOYOTA" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:kontan/penjualan-mobil?search=TOYOTA", { 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:kontan/penjualan-mobil?search=TOYOTA", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 2, "items": [ { "year": "2026", "brand": "TOYOTA", "month": "JULI", "export": "14311", "import": "4553", "retail": "21008", "wholesale": "21642", "production": "44314" }, { "year": "2026", "brand": "TOYOTA CKD", "month": "JULI", "export": "#N/A", "import": "#N/A", "retail": "#N/A", "wholesale": "#N/A", "production": "#N/A" } ], "search": "toyota", "columns": [ { "field": "brand", "label": "Brand" }, { "field": "wholesale", "label": "Whole Sales" }, { "field": "retail", "label": "Retail Sales" }, { "field": "production", "label": "Production" }, { "field": "export", "label": "Export" }, { "field": "import", "label": "Import" }, { "field": "month", "label": "Month" }, { "field": "year", "label": "Year" } ], "dataset": "penjualan-mobil", "provider": "kontan" } ``` --- ### Deposit Rates Time deposit rates by bank across the 1, 3, 6 and 12 month tenors. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:kontan/bunga-deposito` - **Cache TTL:** 21600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `search` | string | query | no | Filter rows to those containing this text, case-insensitive | **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:kontan/bunga-deposito?search=BCA" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:kontan/bunga-deposito?search=BCA", { 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:kontan/bunga-deposito?search=BCA", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 10, "items": [ { "bank": "J TRUST BANK", "updatedAt": "2026-08-07", "month1Percent": "3.00", "month3Percent": "3.25", "month6Percent": "3.50", "month12Percent": "3.75" }, { "bank": "BANK DANAMON", "updatedAt": "2026-08-07", "month1Percent": "3.75", "month3Percent": "3.75", "month6Percent": "4.00", "month12Percent": "4.00" }, { "bank": "BANK JATIM", "updatedAt": "2024-07-19", "month1Percent": "2.6", "month3Percent": "2.75", "month6Percent": "2.9", "month12Percent": "2.95" }, { "bank": "BANK KB INDONESIA", "updatedAt": "2026-08-07", "month1Percent": "3.50", "month3Percent": "3.75", "month6Percent": "4.00", "month12Percent": "3.75" }, { "bank": "BANK MANDIRI", "updatedAt": "2026-08-07", "month1Percent": "2.25", "month3Percent": "2.25", "month6Percent": "2.5", "month12Percent": "2.5" }, { "bank": "BANK MEGA", "updatedAt": "2026-08-07", "month1Percent": "4.25", "month3Percent": "4.004.75", "month6Percent": "5.00", "month12Percent": "5.00" }, { "bank": "BANK PANIN", "updatedAt": "2026-08-07", "month1Percent": "3.50", "month3Percent": "3.50", "month6Percent": "3.50", "month12Percent": "3.50" }, { "bank": "BANK PERMATA", "updatedAt": "2026-08-07", "month1Percent": "3.50", "month3Percent": "3.75", "month6Percent": "3.75", "month12Percent": "3.75" } ], "search": "bank", "columns": [ { "field": "bank", "label": "Nama Bank" }, { "field": "month1Percent", "label": "1 Bln (%)" }, { "field": "month3Percent", "label": "3 Bln (%)" }, { "field": "month6Percent", "label": "6 Bln (%)" }, { "field": "month12Percent", "label": "12 Bln (%)" }, { "field": "updatedAt", "label": "Update" } ], "dataset": "bunga-deposito", "provider": "kontan" } ``` --- ### Mutual Funds Fund NAV and daily return, one table per fund type. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:kontan/reksadana` - **Cache TTL:** 3600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `section` | number | query | no | Which table on the page, 1-based. Default 1; `sections` lists them all | **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:kontan/reksadana?section=1" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:kontan/reksadana?section=1", { 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:kontan/reksadana?section=1", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 11, "items": [ { "nab": "732.64", "fund": "Indo Arthabuana Golden Compass", "dividend": "0.00", "dailyReturn": "0.21" }, { "nab": "1103.20", "fund": "SAM Syariah Berimbang", "dividend": "0.00", "dailyReturn": "-0.40" }, { "nab": "9354.06", "fund": "Panin Dana Unggulan", "dividend": "0.00", "dailyReturn": "-0.32" }, { "nab": "998.33", "fund": "Nusadana Balanced Fund", "dividend": "0.00", "dailyReturn": "0.26" }, { "nab": "4517.24", "fund": "Prospera Balance", "dividend": "0.00", "dailyReturn": "-0.57" }, { "nab": "950.57", "fund": "Trimegah Balanced Absolute Strategy Nusantara", "dividend": "0.00", "dailyReturn": "-0.53" }, { "nab": "993.94", "fund": "Juara Sinai Balanced Fund Kelas A", "dividend": "0.00", "dailyReturn": "0.65" }, { "nab": "4312.41", "fund": "Syailendra Balanced Opportunity Fund Kelas A", "dividend": "0.00", "dailyReturn": "-0.93" } ], "columns": [ { "field": "fund", "label": "Reksadana" }, { "field": "nab", "label": "NAB" }, { "field": "dividend", "label": "Deviden" }, { "field": "dailyReturn", "label": "Daily Return" } ], "dataset": "reksadana", "section": 2, "provider": "kontan", "sections": [ { "count": 11, "title": "Reksadana Saham", "section": 1 }, { "count": 11, "title": "Reksadana Campuran", "section": 2 }, { "count": 11, "title": "Reksadana Pendapatan Tetap", "section": 3 }, { "count": 11, "title": "Reksadana Pasar Uang", "section": 4 }, { "count": 11, "title": "Reksadana Terproteksi", "section": 5 }, { "count": 11, "title": "Reksadana ETF", "section": 6 }, { "count": 11, "title": "Reksadana Indeks", "section": 7 } ], "sectionTitle": "Reksadana Campuran" } ``` --- ### GDP Gross domestic product by quarter and year, current and constant prices. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:kontan/pdb` - **Cache TTL:** 86400s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `section` | number | query | no | Which table on the page, 1-based. Default 1; `sections` lists them all | **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:kontan/pdb?section=1" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:kontan/pdb?section=1", { 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:kontan/pdb?section=1", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "count": 10, "items": [ { "q1": "3264523,50 (-0,98)", "q2": "3396302,60 (4,04)", "q3": "3444756,70 (1,43)", "q4": "3474461,20 (0,86)", "year": "2025", "total": "13580524,70 (5,11)" }, { "q1": "3112906,10 (-0,83)", "q2": "3230971,10 (3,79)", "q3": "3279593,40 (1,50)", "q4": "3296741,70 (0,53)", "year": "2024", "total": "12920281,70 (5,03)" }, { "q1": "2961512,20 (-0,91)", "q2": "3075791,50 (3,86)", "q3": "3124938,50 (1,60)", "q4": "3139084,50 (0,45)", "year": "2023", "total": "12301393,60 (5,05)" }, { "q1": "2819330,40 (-0,94)", "q2": "2924458,00 (3,73)", "q3": "2977972,90 (1,83)", "q4": "2988636,50 (0,36)", "year": "2022", "total": "11710397,80 (5,31)" }, { "q1": "2684447,50 (-0,93)", "q2": "2773067,20 (3,30)", "q3": "2816494,70 (1,57)", "q4": "2846068,50 (1,05)", "year": "2021", "total": "11120077,90 (3,70)" }, { "q1": "2703027,10 (-2,41)", "q2": "2589769,20 (-4,19)", "q3": "2720481,30 (5,05)", "q4": "2709721,70 (-0,40)", "year": "2020", "total": "10722999,30 (-2,07)" }, { "q1": "2625180,50 (-0,52)", "q2": "2735414,10 (4,20)", "q3": "2818812,70 (3,05)", "q4": "2769748,10 (-1,74)", "year": "2019", "total": "10949155,40 (5,02)" }, { "q1": "2498697,50 (-0,41)", "q2": "2603852,60 (4,21)", "q3": "2684332,20 (3,09)", "q4": "2638969,60 (-1,69)", "year": "2018", "total": "10425851,90 (5,17)" } ], "columns": [ { "field": "year", "label": "Tahun" }, { "field": "q1", "label": "Q1 (M)" }, { "field": "q2", "label": "Q2 (M)" }, { "field": "q3", "label": "Q3 (M)" }, { "field": "q4", "label": "Q4 (M)" }, { "field": "total", "label": "Total (M)" } ], "dataset": "pdb", "section": 2, "provider": "kontan", "sections": [ { "count": 10, "title": "PDB Harga Berlaku", "section": 1 }, { "count": 10, "title": "PDB Harga Konstan", "section": 2 } ], "sectionTitle": "PDB Harga Konstan" } ``` --- ### BI Rate Bank Indonesia policy rate, one point per meeting, back to 2016. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:kontan/bi-rate` - **Cache TTL:** 21600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `from` | string | query | no | Keep points on or after this date, YYYY-MM-DD | | `to` | string | query | no | Keep points on or before this date, YYYY-MM-DD | **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:kontan/bi-rate?from=2024-01-01&to=2026-08-20" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:kontan/bi-rate?from=2024-01-01&to=2026-08-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:kontan/bi-rate?from=2024-01-01&to=2026-08-20", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "to": null, "from": "2025-01-01", "count": 20, "items": [ { "date": "2025-01-15", "rate": 5.75 }, { "date": "2025-02-19", "rate": 5.75 }, { "date": "2025-03-19", "rate": 5.75 }, { "date": "2025-04-23", "rate": 5.75 }, { "date": "2025-05-21", "rate": 5.5 }, { "date": "2025-06-18", "rate": 5.5 }, { "date": "2025-07-16", "rate": 5.25 }, { "date": "2025-08-20", "rate": 5 } ], "dataset": "bi-rate", "provider": "kontan" } ``` --- ### Inflation Month-on-month inflation alongside the year-on-year rate. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:kontan/inflasi` - **Cache TTL:** 21600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `from` | string | query | no | Keep points on or after this date, YYYY-MM-DD | | `to` | string | query | no | Keep points on or before this date, YYYY-MM-DD | **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:kontan/inflasi?from=2024-01-01&to=2026-08-20" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:kontan/inflasi?from=2024-01-01&to=2026-08-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:kontan/inflasi?from=2024-01-01&to=2026-08-20", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "to": null, "from": "2025-01-01", "count": 19, "items": [ { "date": "2025-01-31", "annual": 0.76, "monthly": 0.76 }, { "date": "2025-02-28", "annual": -0.09, "monthly": 0.48 }, { "date": "2025-03-31", "annual": 1.03, "monthly": 1.65 }, { "date": "2025-04-30", "annual": 1.95, "monthly": 1.17 }, { "date": "2025-05-31", "annual": 1.6, "monthly": 0.37 }, { "date": "2025-06-30", "annual": 1.87, "monthly": 0.19 }, { "date": "2025-07-31", "annual": 2.37, "monthly": 0.3 }, { "date": "2025-08-31", "annual": 2.31, "monthly": 0.08 } ], "dataset": "inflasi", "provider": "kontan" } ``` --- ### FX Reserves Foreign exchange reserves, monthly, in millions of US dollars. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:kontan/devisa` - **Cache TTL:** 21600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `from` | string | query | no | Keep points on or after this date, YYYY-MM-DD | | `to` | string | query | no | Keep points on or before this date, YYYY-MM-DD | **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:kontan/devisa?from=2024-01-01&to=2026-08-20" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:kontan/devisa?from=2024-01-01&to=2026-08-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:kontan/devisa?from=2024-01-01&to=2026-08-20", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "to": null, "from": "2025-01-01", "count": 19, "items": [ { "date": "2025-01-31", "reserves": 156085 }, { "date": "2025-02-28", "reserves": 154509 }, { "date": "2025-03-27", "reserves": 157090 }, { "date": "2025-04-30", "reserves": 152467 }, { "date": "2025-05-28", "reserves": 152488 }, { "date": "2025-06-30", "reserves": 152567 }, { "date": "2025-07-31", "reserves": 151988 }, { "date": "2025-08-29", "reserves": 150708 } ], "dataset": "devisa", "provider": "kontan" } ``` --- ### BI Reference Rate Daily USD reference rate: sell, buy and the middle rate. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:kontan/kurs-bi` - **Cache TTL:** 3600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `from` | string | query | no | Keep points on or after this date, YYYY-MM-DD | | `to` | string | query | no | Keep points on or before this date, YYYY-MM-DD | **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:kontan/kurs-bi?from=2024-01-01&to=2026-08-20" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:kontan/kurs-bi?from=2024-01-01&to=2026-08-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:kontan/kurs-bi?from=2024-01-01&to=2026-08-20", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "to": null, "from": "2025-01-01", "count": 62, "items": [ { "buy": 17630, "mid": 17719, "date": "2026-05-20", "sell": 17807 }, { "buy": 17596, "mid": 17685, "date": "2026-05-21", "sell": 17773 }, { "buy": 17584, "mid": 17673, "date": "2026-05-22", "sell": 17761 }, { "buy": 17628, "mid": 17717, "date": "2026-05-25", "sell": 17805 }, { "buy": 17654, "mid": 17743, "date": "2026-05-26", "sell": 17831 }, { "buy": 17700, "mid": 17789, "date": "2026-05-29", "sell": 17877 }, { "buy": 17793, "mid": 17883, "date": "2026-06-02", "sell": 17972 }, { "buy": 17773, "mid": 17863, "date": "2026-06-03", "sell": 17952 } ], "dataset": "kurs-bi", "provider": "kontan" } ``` --- ### Gold and Silver Price Antam gold and silver prices over a date range, with buyback. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:kontan/logam-mulia` - **Cache TTL:** 3600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `metal` | enum(gold|silver) | query | no | Which metal. Default gold | | `from` | string | query | no | Range start, YYYY-MM-DD. Defaults to the upstream's own recent window | | `to` | string | query | no | Range end, YYYY-MM-DD | **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:kontan/logam-mulia?metal=gold&from=2026-07-01&to=2026-08-20" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:kontan/logam-mulia?metal=gold&from=2026-07-01&to=2026-08-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:kontan/logam-mulia?metal=gold&from=2026-07-01&to=2026-08-20", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "to": "2026-08-20", "from": "2026-08-01", "count": 20, "items": [ { "date": "2026-08-01", "price": 2603000, "buyback": 2368000 }, { "date": "2026-08-02", "price": 2603000, "buyback": 2368000 }, { "date": "2026-08-03", "price": 2610000, "buyback": 2379000 }, { "date": "2026-08-04", "price": 2603000, "buyback": 2374000 }, { "date": "2026-08-05", "price": 2629000, "buyback": 2400000 }, { "date": "2026-08-06", "price": 2679000, "buyback": 2490000 }, { "date": "2026-08-07", "price": 2650000, "buyback": 2461000 }, { "date": "2026-08-08", "price": 2690000, "buyback": 2511000 } ], "metal": "gold", "dataset": "logam-mulia", "provider": "kontan" } ``` --- ### Infographics Kontan's data infographics, paged. - **Method:** `GET` - **Endpoint:** `https://api.zpi.web.id/v1/finance:kontan/infografik` - **Cache TTL:** 3600s **Parameters:** | Name | Type | Location | Required | Description | |------|------|----------|----------|-------------| | `page` | number | query | no | Page number, 10 items per page. Default 1 | **cURL:** ```bash curl "https://api.zpi.web.id/v1/finance:kontan/infografik?page=1" \ -H "x-api-key: YOUR_API_KEY" ``` **JavaScript / TypeScript:** ```javascript const res = await fetch("https://api.zpi.web.id/v1/finance:kontan/infografik?page=1", { 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:kontan/infografik?page=1", headers={"x-api-key": "YOUR_API_KEY"}) data = r.json() ``` **Example response:** ```json { "page": 2, "count": 10, "items": [ { "url": "https://pusatdata.kontan.co.id/infografik/256/Cadangan-Devisa-Mei-2025-Hingga-Juni-2026", "image": "https://fs-media.kontan.co.id/chart/chart_9547320260709101556.jpeg", "title": "Cadangan Devisa Mei 2025 Hingga Juni 2026", "topic": "Bank Indonesia", "source": "kontan.co.id", "summary": "Cadangan devisa Juni 2026 meningkat jadi US$ 145,59 miliar setelah bulan sebelumnya berada di titik terendah dalam hampir dua tahun", "publishedAt": "2026-07-09" }, { "url": "https://pusatdata.kontan.co.id/infografik/255/Perkembangan-Dana-Kelolaan-Reksadana-Per-Jenis-Hingga-Juni-2026", "image": "https://fs-media.kontan.co.id/chart/chart_9619420260708024733.jpeg", "title": "Perkembangan Dana Kelolaan Reksadana Per Jenis Hingga Juni 2026", "topic": "OJK", "source": "kontan.co.id", "summary": "Dari semua jenis reksadana, hanya reksadana terproteksi dan reksadana global yang naik pada Juni 2026", "publishedAt": "2026-07-08" }, { "url": "https://pusatdata.kontan.co.id/infografik/254/Dana-Kelolaan-dan-Unit-Penyertaan-Reksadana-Turun-pada-Juni-2026", "image": "https://fs-media.kontan.co.id/chart/chart_7331820260708013356.jpeg", "title": "Dana Kelolaan dan Unit Penyertaan Reksadana Turun pada Juni 2026", "topic": "OJK", "source": "kontan.co.id", "summary": "Dana kelolaan reksadana turun dalam dua bulan beruntun hingga Juni 2026. Sedangkan unit penyertaan reksadana turun tiga bulan beruntun", "publishedAt": "2026-07-08" }, { "url": "https://pusatdata.kontan.co.id/infografik/253/CEO-Index-Juli-2026-Meningkat-Jadi-304", "image": "https://fs-media.kontan.co.id/chart/chart_9336720260706010116.jpeg", "title": "CEO Index Juli 2026 Meningkat Jadi 3,04", "topic": "KONTAN", "source": "kontan.co.id", "summary": "Indeks Keyakinan CEO Indonesia atau Indonesia CEO Confidence Index (ICCI) pada kuartal III-2026 kembali masuk ke zona optimisme di level 3,04", "publishedAt": "2026-07-06" }, { "url": "https://pusatdata.kontan.co.id/infografik/252/Defisit-Neraca-Migas-Membesar-Saat-Total-Neraca-Dagang-Defisit-pada-Mei-2026", "image": "https://fs-media.kontan.co.id/chart/chart_8170120260701041255.jpeg", "title": "Defisit Neraca Migas Membesar Saat Total Neraca Dagang Defisit pada Mei 2026", "topic": "BPS", "source": "kontan.co.id", "summary": "Defisit neraca migas mencapai rekor tertinggi pada Mei 2026, yakni US$ 3,76 miliar", "publishedAt": "2026-07-01" }, { "url": "https://pusatdata.kontan.co.id/infografik/251/Neraca-Dagang-Indonesia-Mei-2026-Defisit-Untuk-Pertama-Kali-Setelah-72-Bulan", "image": "https://fs-media.kontan.co.id/chart/chart_6933020260701032444.jpeg", "title": "Neraca Dagang Indonesia Mei 2026 Defisit Untuk Pertama Kali Setelah 72 Bulan", "topic": "BPS", "source": "kontan.co.id", "summary": "Neraca dagang Indonesia defisit untuk pertama kalinya pada Mei 2926 setelah surplus selama 72 bulan berturut-turut", "publishedAt": "2026-07-01" }, { "url": "https://pusatdata.kontan.co.id/infografik/250/Inflasi-Juni-2026-Mencapai-334-Terangkat-oleh-Kelompok-Transportasi", "image": "https://fs-media.kontan.co.id/chart/chart_2368220260701124329.jpeg", "title": "Inflasi Juni 2026 Mencapai 3,34% Terangkat oleh Kelompok Transportasi", "topic": "BPS", "source": "kontan.co.id", "summary": "Inflasi tahunan mencapai 3,34%, terutama dipicu oleh kenaikan harga bensin, tarif angkutan udara, serta pelumas atau oli mesin", "publishedAt": "2026-07-01" }, { "url": "https://pusatdata.kontan.co.id/infografik/249/Rekor-BI-Menggenggam-SBN-Rp-2000-Triliun", "image": "https://fs-media.kontan.co.id/chart/chart_713020260618090525.jpeg", "title": "Rekor! BI Menggenggam SBN Rp 2.000 Triliun", "topic": "DJPPR Kemenkeu", "source": "kontan.co.id", "summary": "Kepemilikan Surat Berharga Negara (SBN) oleh Bank Indonesia tembus rekor baru, mencapai Rp 2.044 triliun per 17 Juni 2026", "publishedAt": "2026-06-18" } ], "dataset": "infografik", "hasMore": true, "nextPage": 3, "provider": "kontan" } ``` --- _Generated: 2026-08-20T18:22:38.302Z_