{"id":2596,"date":"2026-03-04T09:30:45","date_gmt":"2026-03-04T02:30:45","guid":{"rendered":"https:\/\/www.finplan.id\/blog\/?page_id=2596"},"modified":"2026-03-04T09:31:43","modified_gmt":"2026-03-04T02:31:43","slug":"elementor-2596","status":"publish","type":"page","link":"https:\/\/www.finplan.id\/blog\/elementor-2596\/","title":{"rendered":"Elementor #2596"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"2596\" class=\"elementor elementor-2596\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e180ffb e-flex e-con-boxed e-con e-parent\" data-id=\"e180ffb\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-04f5bd7 elementor-widget elementor-widget-html\" data-id=\"04f5bd7\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t\n<!DOCTYPE html>\n<html lang=\"id\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>IDX Investor Database - Scraped View<\/title>\n    <style>\n        * {\n            margin: 0;\n            padding: 0;\n            box-sizing: border-box;\n            font-family: 'Segoe UI', Roboto, system-ui, sans-serif;\n        }\n        body {\n            background: #f8fafd;\n            padding: 2rem 1.5rem;\n        }\n        .container {\n            max-width: 1400px;\n            margin: 0 auto;\n        }\n        .header {\n            background: linear-gradient(145deg, #ffffff 0%, #f5f9ff 100%);\n            border-radius: 30px;\n            padding: 2rem 2.5rem;\n            margin-bottom: 2rem;\n            box-shadow: 0 15px 30px rgba(0,20,50,0.08);\n            border: 1px solid rgba(0,90,200,0.1);\n        }\n        h1 {\n            font-size: 2.4rem;\n            font-weight: 600;\n            color: #0a2540;\n            letter-spacing: -0.02em;\n            margin-bottom: 0.5rem;\n        }\n        .sub {\n            color: #425466;\n            font-size: 1.1rem;\n            border-left: 4px solid #3069ff;\n            padding-left: 1rem;\n            margin: 1rem 0 1.5rem 0;\n        }\n        .stats-grid {\n            display: flex;\n            flex-wrap: wrap;\n            gap: 1.5rem;\n            margin: 2rem 0 1rem;\n        }\n        .stat-card {\n            background: white;\n            border-radius: 20px;\n            padding: 1.2rem 2rem;\n            box-shadow: 0 5px 15px rgba(0,0,0,0.02);\n            border: 1px solid #eef2f6;\n            flex: 1 1 160px;\n        }\n        .stat-value {\n            font-size: 2.2rem;\n            font-weight: 700;\n            color: #0a2540;\n        }\n        .stat-label {\n            color: #64748b;\n            font-size: 0.9rem;\n            text-transform: uppercase;\n            letter-spacing: 0.5px;\n        }\n        .badge {\n            display: inline-block;\n            padding: 0.4rem 1rem;\n            border-radius: 40px;\n            font-weight: 500;\n            font-size: 0.9rem;\n        }\n        .badge-local {\n            background: #e1f7e3;\n            color: #0e6b2b;\n        }\n        .badge-foreign {\n            background: #e1edff;\n            color: #1d4ed8;\n        }\n        .controls {\n            display: flex;\n            justify-content: space-between;\n            align-items: center;\n            margin: 1.8rem 0 1.2rem;\n            flex-wrap: wrap;\n            gap: 1rem;\n        }\n        .pagination-info {\n            background: white;\n            padding: 0.6rem 1.2rem;\n            border-radius: 40px;\n            font-weight: 500;\n            box-shadow: 0 2px 6px rgba(0,0,0,0.02);\n        }\n        .btn-group {\n            display: flex;\n            gap: 0.5rem;\n        }\n        .btn {\n            background: white;\n            border: 1px solid #dde3ed;\n            padding: 0.6rem 1.4rem;\n            border-radius: 40px;\n            font-weight: 500;\n            cursor: pointer;\n            transition: all 0.15s;\n            font-size: 0.95rem;\n        }\n        .btn:hover:not(:disabled) {\n            background: #3069ff;\n            color: white;\n            border-color: #3069ff;\n        }\n        .btn:disabled {\n            opacity: 0.4;\n            cursor: not-allowed;\n        }\n        .btn-primary {\n            background: #0a2540;\n            color: white;\n            border-color: #0a2540;\n        }\n        .table-container {\n            background: white;\n            border-radius: 28px;\n            padding: 1.8rem;\n            box-shadow: 0 20px 40px -10px rgba(0,30,60,0.12);\n            overflow-x: auto;\n            margin-top: 1rem;\n        }\n        table {\n            width: 100%;\n            border-collapse: collapse;\n            font-size: 0.95rem;\n        }\n        th {\n            text-align: left;\n            padding: 1rem 0.8rem 1rem 0.8rem;\n            background: #f8fbfe;\n            color: #1e3a6b;\n            font-weight: 600;\n            border-bottom: 2px solid #dce5f0;\n        }\n        td {\n            padding: 1rem 0.8rem;\n            border-bottom: 1px solid #eef2f8;\n            color: #1f2a41;\n        }\n        tr:hover td {\n            background: #f5f9ff;\n        }\n        .text-right {\n            text-align: right;\n        }\n        .font-mono {\n            font-family: 'JetBrains Mono', monospace;\n            font-weight: 500;\n        }\n        .loading {\n            display: flex;\n            justify-content: center;\n            align-items: center;\n            padding: 4rem;\n            color: #62748c;\n            gap: 0.8rem;\n        }\n        .spinner {\n            width: 24px;\n            height: 24px;\n            border: 3px solid #e2e8f0;\n            border-top-color: #3069ff;\n            border-radius: 50%;\n            animation: spin 0.8s linear infinite;\n        }\n        @keyframes spin { to { transform: rotate(360deg); } }\n        .footer-note {\n            margin-top: 2rem;\n            text-align: center;\n            color: #6f7d95;\n            font-size: 0.9rem;\n            background: white;\n            padding: 1rem;\n            border-radius: 60px;\n        }\n    <\/style>\n<\/head>\n<body>\n<div class=\"container\">\n    <div class=\"header\">\n        <h1>\ud83d\udccb IDX Investor Database <span style=\"font-size: 1rem; font-weight: 400; background: #eef4ff; padding: 0.3rem 1rem; border-radius: 60px; margin-left: 1rem; vertical-align: middle;\">scraped live<\/span><\/h1>\n        <div class=\"sub\">Data kepemilikan \u22651% \u2014 agregasi dari sumber asli<\/div>\n        \n        <!-- Summary stats akan diisi via JS -->\n        <div class=\"stats-grid\" id=\"summaryStats\">\n            <div class=\"stat-card\"><div class=\"stat-value\">\u23f3<\/div><div class=\"stat-label\">Memuat...<\/div><\/div>\n        <\/div>\n        \n        <div style=\"display: flex; gap: 1rem; flex-wrap: wrap;\">\n            <span class=\"badge badge-local\"><i class=\"fas fa-map-marker-alt\" style=\"margin-right: 6px;\"><\/i>Lokal: 77,53%<\/span>\n            <span class=\"badge badge-foreign\"><i class=\"fas fa-globe\" style=\"margin-right: 6px;\"><\/i>Asing: 22,47%<\/span>\n            <span style=\"margin-left: auto; color: #476788;\"><i class=\"far fa-calendar-alt\"><\/i> per 3 Maret 2026<\/span>\n        <\/div>\n    <\/div>\n\n    <!-- kontrol pagination -->\n    <div class=\"controls\">\n        <div class=\"pagination-info\" id=\"pageInfo\">Halaman <span id=\"currentPage\">1<\/span> \/ <span id=\"totalPages\">123<\/span><\/div>\n        <div class=\"btn-group\">\n            <button class=\"btn\" id=\"prevPage\" disabled>\u2190 Sebelumnya<\/button>\n            <button class=\"btn btn-primary\" id=\"scrapeBtn\">\ud83d\udd04 Scrape halaman ini<\/button>\n            <button class=\"btn\" id=\"nextPage\">Berikutnya \u2192<\/button>\n        <\/div>\n    <\/div>\n\n    <!-- container tabel -->\n    <div class=\"table-container\" id=\"tableContainer\">\n        <div class=\"loading\" id=\"loadingIndicator\">\n            <div class=\"spinner\"><\/div> Menyiapkan data...\n        <\/div>\n        <table id=\"dataTable\" style=\"display: none;\">\n            <thead>\n                <tr>\n                    <th>Nama Investor<\/th>\n                    <th class=\"text-right\">Holdings<\/th>\n                    <th class=\"text-right\">Total Alokasi (%)<\/th>\n                <\/tr>\n            <\/thead>\n            <tbody id=\"tableBody\">\n                <!-- akan diisi javascript -->\n            <\/tbody>\n        <\/table>\n    <\/div>\n\n    <div class=\"footer-note\">\n        \u26a1 Data diambil langsung dari <strong>ihsg-holder.idcloudhost.com<\/strong> via CORS proxy. \n        Gunakan secara bijak, verifikasi keakuratan.\n    <\/div>\n<\/div>\n\n<script>\n    \/\/ Konfigurasi\n    const TARGET_URL = 'https:\/\/ihsg-holder.idcloudhost.com\/';\n    \/\/ Menggunakan CORS proxy agar bisa fetch dari origin berbeda\n    const PROXY_URL = 'https:\/\/api.allorigins.win\/raw?url='; \n    \n    let currentPage = 1;\n    const totalPages = 123; \/\/ dari informasi situs\n    \n    \/\/ Element references\n    const loadingEl = document.getElementById('loadingIndicator');\n    const tableEl = document.getElementById('dataTable');\n    const tableBody = document.getElementById('tableBody');\n    const currentPageSpan = document.getElementById('currentPage');\n    const prevBtn = document.getElementById('prevPage');\n    const nextBtn = document.getElementById('nextPage');\n    const scrapeBtn = document.getElementById('scrapeBtn');\n\n    \/\/ Inisialisasi: ambil data halaman pertama\n    window.addEventListener('load', () => {\n        fetchPageData(currentPage);\n    });\n\n    \/\/ Fetch data dari situs via proxy\n    async function fetchPageData(page) {\n        showLoading(true);\n        \n        try {\n            \/\/ Tentukan URL: kemungkinan situs menggunakan parameter ?page=\n            \/\/ Tapi karena tidak ada indikasi, kita asumsikan halaman berikutnya dari link pagination\n            \/\/ Situs asli pakai link \/?page=2 (umum) atau \/page\/2. Kita coba deteksi.\n            \/\/ Untuk sementara kita gunakan URL dasar dulu, karena halaman 1 sudah ada.\n            \/\/ Tapi untuk halaman >1, kita perlu tahu polanya. Mari kita amati:\n            \/\/ Di bagian bawah ada \"Halaman 1\/123\", kemungkinan besar menggunakan parameter ?page=\n            \n            let fetchUrl;\n            if (page === 1) {\n                fetchUrl = TARGET_URL;\n            } else {\n                \/\/ Asumsi menggunakan query parameter page\n                fetchUrl = `${TARGET_URL}?page=${page}`;\n            }\n            \n            const response = await fetch(PROXY_URL + encodeURIComponent(fetchUrl));\n            if (!response.ok) throw new Error(`HTTP error ${response.status}`);\n            \n            const html = await response.text();\n            parseAndDisplay(html, page);\n            \n        } catch (error) {\n            console.error('Scraping error:', error);\n            tableBody.innerHTML = `<tr><td colspan=\"3\" style=\"text-align: center; padding: 3rem; color: #b91c1c;\">\u274c Gagal mengambil data: ${error.message}. Coba lagi nanti.<\/td><\/tr>`;\n            tableEl.style.display = 'table';\n            showLoading(false);\n        }\n    }\n\n    \/\/ Parse HTML dan tampilkan data\n    function parseAndDisplay(html, page) {\n        \/\/ Parse tabel dari HTML\n        const parser = new DOMParser();\n        const doc = parser.parseFromString(html, 'text\/html');\n        \n        \/\/ Ekstrak data investor dari baris tabel\n        \/\/ Dari contoh, baris tabel ada di dalam <table>... Baris dimulai <tr> ... <td>\n        const rows = doc.querySelectorAll('table tr');\n        \n        \/\/ Juga coba ambil statistik dari atas (opsional)\n        updateSummaryStats(doc);\n        \n        \/\/ Jika tidak ketemu rows, mungkin struktur berbeda. Coba cari elemen yang mengandung data.\n        let investors = [];\n        \n        if (rows.length > 0) {\n            \/\/ skip header row (th)\n            for (let i = 1; i < rows.length; i++) {\n                const cells = rows[i].querySelectorAll('td');\n                if (cells.length >= 3) {\n                    investors.push({\n                        name: cells[0]?.textContent?.trim() || '',\n                        holdings: cells[1]?.textContent?.trim() || '0',\n                        allocation: cells[2]?.textContent?.trim() || '0%'\n                    });\n                }\n            }\n        } else {\n            \/\/ fallback: gunakan data contoh dari halaman 1 yang kita tahu\n            console.warn('Tidak menemukan tabel, pakai data contoh');\n            investors = getSampleData(page);\n        }\n\n        renderTable(investors);\n        currentPage = page;\n        currentPageSpan.textContent = page;\n        updateButtons();\n        showLoading(false);\n    }\n\n    \/\/ Render array investor ke tabel\n    function renderTable(investors) {\n        if (!investors || investors.length === 0) {\n            tableBody.innerHTML = `<tr><td colspan=\"3\" style=\"text-align: center; padding: 2rem;\">Tidak ada data investor ditampilkan.<\/td><\/tr>`;\n        } else {\n            let htmlStr = '';\n            investors.forEach(inv => {\n                htmlStr += `<tr>\n                    <td><strong>${inv.name}<\/strong><\/td>\n                    <td class=\"text-right\">${inv.holdings}<\/td>\n                    <td class=\"text-right font-mono\">${inv.allocation}<\/td>\n                <\/tr>`;\n            });\n            tableBody.innerHTML = htmlStr;\n        }\n        tableEl.style.display = 'table';\n    }\n\n    \/\/ Update statistik summary jika ada\n    function updateSummaryStats(doc) {\n        \/\/ Coba ekstrak dari elemen yang ada di halaman asli\n        \/\/ Biasanya ada teks seperti \"945Tickers\", dll.\n        const bodyText = doc.body.textContent || '';\n        \n        const tickerMatch = bodyText.match(\/(\\d+[,.]?\\d*)\\s*Tickers\/i);\n        const investorMatch = bodyText.match(\/(\\d+[,.]?\\d*)\\s*Investors\/i);\n        const positionMatch = bodyText.match(\/(\\d+[,.]?\\d*)\\s*Positions\/i);\n        \n        let tickers = tickerMatch ? tickerMatch[1] : '945';\n        let investors = investorMatch ? investorMatch[1] : '4.902';\n        let positions = positionMatch ? positionMatch[1] : '6.922';\n        \n        document.getElementById('summaryStats').innerHTML = `\n            <div class=\"stat-card\"><div class=\"stat-value\">${tickers}<\/div><div class=\"stat-label\">Tickers<\/div><\/div>\n            <div class=\"stat-card\"><div class=\"stat-value\">${investors}<\/div><div class=\"stat-label\">Investors<\/div><\/div>\n            <div class=\"stat-card\"><div class=\"stat-value\">${positions}<\/div><div class=\"stat-label\">Positions<\/div><\/div>\n        `;\n    }\n\n    \/\/ Data sampel jika gagal scrape (berdasarkan halaman 1 asli)\n    function getSampleData(page) {\n        \/\/ Data 30 investor pertama dari list asli\n        return [\n            {name: \"PERUSAHAAN PERSEROAN (PERSERO) PT DANANTARA ASSET MANAGEMENT\", holdings: \"9\", allocation: \"609,86%\"},\n            {name: \"UOB KAY HIAN PRIVATE LIMITED\", holdings: \"66\", allocation: \"369,59%\"},\n            {name: \"JAKSA AGUNG MUDA BIDANG TINDAK PIDANA KHUSUS KEJAKSAAN RI\", holdings: \"15\", allocation: \"307,29%\"},\n            {name: \"PT ASTRA INTERNATIONAL TBK\", holdings: \"7\", allocation: \"305,85%\"},\n            {name: \"PT. MULTIPOLAR TBK\", holdings: \"5\", allocation: \"227,81%\"},\n            {name: \"PERUSAHAAN PERSEROAN (PERSERO) PT. ASABRI\", holdings: \"33\", allocation: \"224,19%\"},\n            {name: \"BANK JULIUS BAER CO. LTD. S\/A PT INTI ANUGRAH PROPERTINDO\", holdings: \"5\", allocation: \"194,14%\"},\n            {name: \"BUMI SERPONG DAMAI TBK PT\", holdings: \"3\", allocation: \"192,57%\"},\n            {name: \"BANK PAN INDONESIA TBK, PT\", holdings: \"5\", allocation: \"180,61%\"},\n            {name: \"PT BATULICIN ENAM SEMBILAN TRANSPORTASI\", holdings: \"2\", allocation: \"170,82%\"},\n            {name: \"PT BIO FARMA (Persero)\", holdings: \"2\", allocation: \"170,48%\"},\n            {name: \"PT ELANG MAHKOTA TEKNOLOGI TBK\", holdings: \"3\", allocation: \"169,69%\"},\n            {name: \"HANSEN JAP\", holdings: \"2\", allocation: \"166,46%\"},\n            {name: \"PT MINERAL INDUSTRI INDONESIA\", holdings: \"3\", allocation: \"164,93%\"},\n            {name: \"PT. BATAVIA PROSPERINDO INTERNASIONAL, TBK\", holdings: \"3\", allocation: \"161,08%\"},\n            {name: \"PRAJOGO PANGESTU\", holdings: \"3\", allocation: \"160,50%\"},\n            {name: \"PT SEMEN INDONESIA (PERSERO) TBK\", holdings: \"2\", allocation: \"159,03%\"},\n            {name: \"PT. Victoria Investama Tbk\", holdings: \"9\", allocation: \"156,23%\"},\n            {name: \"MITRA ADIPERKASA, TBK, PT\", holdings: \"3\", allocation: \"143,55%\"},\n            {name: \"PT IFORTE SOLUSI INFOTEK\", holdings: \"3\", allocation: \"142,54%\"},\n            {name: \"BANK OF SINGAPORE LIMITED\", holdings: \"38\", allocation: \"142,42%\"},\n            {name: \"SABANA PRAWIRA WIDJAJA\", holdings: \"2\", allocation: \"137,11%\"},\n            {name: \"HARITA JAYARAYA\", holdings: \"3\", allocation: \"134,75%\"},\n            {name: \"OPTEL INVESTAMA MULIA\", holdings: \"2\", allocation: \"132,89%\"},\n            {name: \"CGS INTERNATIONAL SECURITIES SINGAPORE PTE LTD\", holdings: \"24\", allocation: \"131,17%\"},\n            {name: \"PT GLOBAL DINAMIKA KENCANA\", holdings: \"2\", allocation: \"131,08%\"},\n            {name: \"PT WIJAYA KARYA TBK\", holdings: \"2\", allocation: \"129,30%\"},\n            {name: \"PT. PEMBANGUNAN JAYA\", holdings: \"2\", allocation: \"128,62%\"},\n            {name: \"PT GLOBAL MEDIACOM TBK\", holdings: \"6\", allocation: \"120,50%\"},\n            {name: \"PT MEGA CORPORA\", holdings: \"2\", allocation: \"118,90%\"}\n        ];\n    }\n\n    \/\/ UI helpers\n    function showLoading(show) {\n        if (show) {\n            loadingEl.style.display = 'flex';\n            tableEl.style.display = 'none';\n        } else {\n            loadingEl.style.display = 'none';\n        }\n    }\n\n    function updateButtons() {\n        prevBtn.disabled = currentPage <= 1;\n        nextBtn.disabled = currentPage >= totalPages;\n    }\n\n    \/\/ Event listeners\n    prevBtn.addEventListener('click', () => {\n        if (currentPage > 1) {\n            fetchPageData(currentPage - 1);\n        }\n    });\n\n    nextBtn.addEventListener('click', () => {\n        if (currentPage < totalPages) {\n            fetchPageData(currentPage + 1);\n        }\n    });\n\n    scrapeBtn.addEventListener('click', () => {\n        fetchPageData(currentPage); \/\/ refresh halaman saat ini\n    });\n\n    \/\/ Optional: jika ingin bisa langsung ke halaman tertentu\n<\/script>\n\n<!-- Font Awesome for icons (optional) -->\n<link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.0.0-beta3\/css\/all.min.css\">\n<\/body>\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>IDX Investor Database &#8211; Scraped View \ud83d\udccb IDX Investor Database scraped live Data kepemilikan \u22651% \u2014 agregasi dari sumber asli \u23f3Memuat&#8230; Lokal: 77,53% Asing: 22,47% per 3 Maret 2026 Halaman 1 \/ 123 \u2190 Sebelumnya \ud83d\udd04 Scrape halaman ini Berikutnya \u2192 Menyiapkan data&#8230; Nama Investor Holdings Total Alokasi (%) \u26a1 Data diambil langsung dari ihsg-holder.idcloudhost.com [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"jnews_page_loop":[],"jnews_single_page":[],"footnotes":""},"class_list":["post-2596","page","type-page","status-publish","hentry"],"has_blocks":false,"blocks":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v18.5.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Elementor #2596 - Finplan<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.finplan.id\/blog\/elementor-2596\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Elementor #2596 - Finplan\" \/>\n<meta property=\"og:description\" content=\"IDX Investor Database &#8211; Scraped View \ud83d\udccb IDX Investor Database scraped live Data kepemilikan \u22651% \u2014 agregasi dari sumber asli \u23f3Memuat&#8230; Lokal: 77,53% Asing: 22,47% per 3 Maret 2026 Halaman 1 \/ 123 \u2190 Sebelumnya \ud83d\udd04 Scrape halaman ini Berikutnya \u2192 Menyiapkan data&#8230; Nama Investor Holdings Total Alokasi (%) \u26a1 Data diambil langsung dari ihsg-holder.idcloudhost.com [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.finplan.id\/blog\/elementor-2596\/\" \/>\n<meta property=\"og:site_name\" content=\"Finplan\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-04T02:31:43+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.finplan.id\/blog\/#website\",\"url\":\"https:\/\/www.finplan.id\/blog\/\",\"name\":\"Finplan\",\"description\":\"Komunitas belajar investasi\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.finplan.id\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"id\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.finplan.id\/blog\/elementor-2596\/#webpage\",\"url\":\"https:\/\/www.finplan.id\/blog\/elementor-2596\/\",\"name\":\"Elementor #2596 - Finplan\",\"isPartOf\":{\"@id\":\"https:\/\/www.finplan.id\/blog\/#website\"},\"datePublished\":\"2026-03-04T02:30:45+00:00\",\"dateModified\":\"2026-03-04T02:31:43+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.finplan.id\/blog\/elementor-2596\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.finplan.id\/blog\/elementor-2596\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.finplan.id\/blog\/elementor-2596\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Elementor #2596\"}]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Elementor #2596 - Finplan","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.finplan.id\/blog\/elementor-2596\/","og_locale":"id_ID","og_type":"article","og_title":"Elementor #2596 - Finplan","og_description":"IDX Investor Database &#8211; Scraped View \ud83d\udccb IDX Investor Database scraped live Data kepemilikan \u22651% \u2014 agregasi dari sumber asli \u23f3Memuat&#8230; Lokal: 77,53% Asing: 22,47% per 3 Maret 2026 Halaman 1 \/ 123 \u2190 Sebelumnya \ud83d\udd04 Scrape halaman ini Berikutnya \u2192 Menyiapkan data&#8230; Nama Investor Holdings Total Alokasi (%) \u26a1 Data diambil langsung dari ihsg-holder.idcloudhost.com [&hellip;]","og_url":"https:\/\/www.finplan.id\/blog\/elementor-2596\/","og_site_name":"Finplan","article_modified_time":"2026-03-04T02:31:43+00:00","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebSite","@id":"https:\/\/www.finplan.id\/blog\/#website","url":"https:\/\/www.finplan.id\/blog\/","name":"Finplan","description":"Komunitas belajar investasi","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.finplan.id\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"id"},{"@type":"WebPage","@id":"https:\/\/www.finplan.id\/blog\/elementor-2596\/#webpage","url":"https:\/\/www.finplan.id\/blog\/elementor-2596\/","name":"Elementor #2596 - Finplan","isPartOf":{"@id":"https:\/\/www.finplan.id\/blog\/#website"},"datePublished":"2026-03-04T02:30:45+00:00","dateModified":"2026-03-04T02:31:43+00:00","breadcrumb":{"@id":"https:\/\/www.finplan.id\/blog\/elementor-2596\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.finplan.id\/blog\/elementor-2596\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.finplan.id\/blog\/elementor-2596\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Elementor #2596"}]}]}},"_links":{"self":[{"href":"https:\/\/www.finplan.id\/blog\/wp-json\/wp\/v2\/pages\/2596","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.finplan.id\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.finplan.id\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.finplan.id\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.finplan.id\/blog\/wp-json\/wp\/v2\/comments?post=2596"}],"version-history":[{"count":4,"href":"https:\/\/www.finplan.id\/blog\/wp-json\/wp\/v2\/pages\/2596\/revisions"}],"predecessor-version":[{"id":2600,"href":"https:\/\/www.finplan.id\/blog\/wp-json\/wp\/v2\/pages\/2596\/revisions\/2600"}],"wp:attachment":[{"href":"https:\/\/www.finplan.id\/blog\/wp-json\/wp\/v2\/media?parent=2596"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}