1<!doctype html> 2<html lang="en"> 3 <head> 4 <meta charset="UTF-8" /> 5<link rel="icon" type="image/svg+xml" href="/favicon.svg" /> 6<meta name="viewport" content="width=device-width, initial-scale=1.0" /> 7<link rel="preconnect" href="https://fonts.googleapis.com" /> 8<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> 9<link 10 href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap" 11 rel="stylesheet" 12/> 13<link rel="stylesheet" href="/assets/css/output.css" /> 14<title> 15 What's New â Data Scraper 16</title> 17<meta 18 name="description" 19 content="Latest updates and improvements to Data Scraper Chrome extension." 20/> 21<link rel="canonical" href="https://datascraper.cc/changelog/" /> 22<meta property="og:type" content="website" /> 23<meta property="og:url" content="https://datascraper.cc/changelog/" /> 24<meta 25 property="og:title" 26 content="What's New â Data Scraper" 27/> 28<meta 29 property="og:description" 30 content="Latest updates and improvements to Data Scraper Chrome extension." 31/> 32<meta name="twitter:card" content="summary" /> 33<meta 34 name="twitter:title" 35 content="What's New â Data Scraper" 36/> 37<meta 38 name="twitter:description" 39 content="Latest updates and improvements to Data Scraper Chrome extension." 40/> 41<!-- Google tag (gtag.js) -->
vendor: 64 bytes, lines 41-42
41 42<script async src="https://www.googletagmanager.com/gtag/js?id=
42AW-17878147058
vendor: 12 bytes, line 42
42"></script>
43<script> 44 window.dataLayer = window.dataLayer || [] 45 function gtag() { 46 dataLayer.push(arguments) 47 } 48 gtag("js", new Date()) 49 gtag("config", "AW-17878147058") 50</script>
50 51 52<meta 53 name="posthog-event" 54 data-event="view_changelog" 55 data-props="{}" 56 data-url-params="["news_id"]" 57/> 58 59
60<script type="module"> 61 import posthog from "https://cdn.jsdelivr.net/npm/posthog-js@latest/+esm" 62 posthog.init("phc_a2AVovduIFBESNRwbJFUPqVQWF3SAnqs9RRCK99fWCT", { 63 api_host: "https://api.datascraper.cc/ph", 64 ui_host: "https://eu.posthog.com", 65 persistence: "memory", 66 disable_external_dependency_loading: true, 67 }) 68 window.__ph = posthog 69 70 var UTM_KEYS = ["utm_source", "utm_medium", "utm_campaign", "utm_content", "utm_term"] 71 var searchParams = new URLSearchParams(window.location.search) 72 73 // CWS strips URL params, so stash first-touch UTM in localStorage; the same-origin welcome page reads it post-install. 74 var urlUtm = Object.fromEntries(UTM_KEYS.map((key) => [key, searchParams.get(key)]).filter(([, value]) => value)) 75 if (Object.keys(urlUtm).length && !localStorage.getItem("ds_utm")) { 76 localStorage.setItem("ds_utm", JSON.stringify(urlUtm)) 77 posthog.capture("landing_visit", urlUtm) 78 } 79 80 function readStoredUtm() { 81 try { 82 return JSON.parse(localStorage.getItem("ds_utm") || "{}") 83 } catch (e) { 84 return {} 85 } 86 } 87 88 function identifyAndCapture(uid) { 89 if (!uid) return 90 posthog.identify(uid) 91 var storedUtm = readStoredUtm() 92 if (Object.keys(storedUtm).length) posthog.setPersonProperties(storedUtm) 93 94 var eventMeta = document.querySelector('meta[name="posthog-event"]') 95 if (!eventMeta) return 96 var props = JSON.parse(eventMeta.dataset.props || "{}") 97 JSON.parse(eventMeta.dataset.urlParams || "[]").forEach((param) => (props[param] = searchParams.get(param))) 98 posthog.capture(eventMeta.dataset.event, props) 99 } 100 101 // uid arrives as a URL param, or via postMessage from the extension content script (src/content.js). 102 var urlUid = searchParams.get("uid") 103 if (urlUid) identifyAndCapture(urlUid) 104 else 105 window.addEventListener("message", function (event) { 106 if (event.data && event.data.type === "UID") identifyAndCapture(event.data.uid) 107 }) 108</script>
108 109 110
111<script> 112 // Which backend this visit talks to. Only the extension build knows it is staging, so it opens 113 // these pages with ?staging=true. Both hosts come from _config.yml, never the query â these pages 114 // POST the session token. Sticky per tab: a provider's successUrl carries no query string. 115 ;(function () { 116 var STAGING_KEY = "ds_staging" 117 if (new URLSearchParams(location.search).get("staging") === "true") sessionStorage.setItem(STAGING_KEY, "1") 118 window.DS_API = sessionStorage.getItem(STAGING_KEY) ? "https://data-scraper.homelab.codebrix.io" : "https://api.datascraper.cc" 119 })() 120</script>
120 121 122 </head> 123 <body class="font-sans"> 124 <div class="fixed inset-0 overflow-hidden pointer-events-none z-0 bg-slate-50"> 125 <div 126 class="absolute -top-40 -left-40 w-[700px] h-[700px] rounded-full animate-aurora-1" 127 style="background: radial-gradient(circle, #ddd6fe, transparent 70%); opacity: 0.8; filter: blur(60px)" 128 ></div> 129 <div 130 class="absolute top-1/3 -right-40 w-[600px] h-[600px] rounded-full animate-aurora-2" 131 style="background: radial-gradient(circle, #f5d0fe, transparent 70%); opacity: 0.7; filter: blur(60px)" 132 ></div> 133 <div 134 class="absolute -bottom-40 left-1/3 w-[650px] h-[650px] rounded-full animate-aurora-3" 135 style="background: radial-gradient(circle, #cffafe, transparent 70%); opacity: 0.7; filter: blur(60px)" 136 ></div> 137 <div 138 class="absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-[500px] h-[500px] rounded-full" 139 style="background: radial-gradient(circle, #ede9fe, transparent 70%); opacity: 0.5; filter: blur(80px)" 140 ></div> 141</div> 142 <header class="fixed top-0 left-0 right-0 z-50 bg-white/70 backdrop-blur-xl border-b border-violet-200/50"> 143 <div class="max-w-6xl mx-auto px-4 h-16 flex items-center justify-between"> 144 <!-- Logo --> 145 <a href="/" class="flex items-center gap-2 text-slate-900 font-bold text-lg no-underline"> 146 <svg 147 viewBox="0 0 96 96" 148 fill="none" 149 xmlns="http://www.w3.org/2000/svg" 150 class="w-6 h-6" 151 152 aria-hidden="true" 153> 154 <path 155 d="M81.6699 57C81.9351 57 82.1894 57.1055 82.377 57.293C82.5645 57.4805 82.6699 57.7348 82.6699 58V72.71C82.6699 72.9752 82.7754 73.2295 82.9629 73.417C83.1504 73.6045 83.4047 73.71 83.6699 73.71H92C92.1866 73.7104 92.3691 73.7635 92.5273 73.8623C92.6856 73.9612 92.8133 74.1021 92.8955 74.2696C92.9776 74.437 93.0108 74.6241 92.9922 74.8096C92.9736 74.9953 92.9039 75.1725 92.79 75.3203L77.7998 95C77.7067 95.1241 77.586 95.2246 77.4473 95.294C77.3084 95.3634 77.1552 95.4004 77 95.4004C76.8448 95.4004 76.6916 95.3634 76.5527 95.294C76.414 95.2246 76.2933 95.1241 76.2002 95L61.2002 75.3604C61.0736 75.2127 60.9928 75.0309 60.9678 74.8379C60.9428 74.6448 60.9746 74.4477 61.0596 74.2725C61.1444 74.0976 61.2786 73.9515 61.4453 73.8516C61.6124 73.7516 61.8054 73.7021 62 73.71H70.3096C70.5748 73.71 70.83 73.6046 71.0176 73.417C71.2049 73.2295 71.3096 72.9751 71.3096 72.71L71.3301 58C71.3301 57.7348 71.4355 57.4805 71.623 57.293C71.8106 57.1055 72.0649 57 72.3301 57H81.6699ZM88.25 3.6929e-05C90.32 0.0921918 92.2825 0.947476 93.7598 2.40043C95.1837 3.81383 95.9895 5.734 96 7.74027V45.5H95.999V66.7998C95.9913 67.1766 95.9076 67.548 95.7529 67.8916C95.5983 68.2352 95.3763 68.5443 95.0996 68.7998C94.5114 69.3466 93.7376 69.6503 92.9346 69.6504C92.1314 69.6504 91.3578 69.3466 90.7695 68.7998C90.494 68.5431 90.2717 68.2341 90.1172 67.8907C89.9627 67.5473 89.8785 67.1762 89.8691 66.7998V45.5H66.3799V64C66.374 64.3761 66.2925 64.7472 66.1396 65.0909C65.9867 65.4345 65.7657 65.7439 65.4902 66C64.9441 66.5094 64.2359 66.8099 63.4902 66.8496H36.251V85.1905H48.3496C49.1515 85.1885 49.9242 85.4922 50.5098 86.0401C50.793 86.3022 51.0193 86.62 51.1738 86.9737C51.3283 87.3272 51.4082 87.7089 51.4082 88.0948C51.4082 88.4807 51.3284 88.8632 51.1738 89.2168C51.0193 89.5703 50.7929 89.8884 50.5098 90.1504C49.9243 90.6982 49.1514 91.002 48.3496 91H11.2305C8.28244 91.0124 5.44102 89.8959 3.29004 87.8799C2.2571 86.9155 1.43199 85.7501 0.866211 84.4551C0.300472 83.1602 0.0058257 81.7627 0 80.3496V7.74027C0.00507362 6.71392 0.219952 5.69935 0.630859 4.75883C1.04175 3.81843 1.64013 2.97154 2.38965 2.27054C3.95726 0.805991 6.02463 -0.00631119 8.16992 3.6929e-05H88.25ZM6.12988 80.3496C6.13342 80.9908 6.26737 81.6251 6.52344 82.2129C6.77958 82.8009 7.15289 83.3313 7.62012 83.7705C8.598 84.6872 9.89011 85.1954 11.2305 85.1905H30.1309V66.8496H6.12988V80.3496ZM6.12988 61H30.1309V45.5H6.12988V61ZM36.251 61H60.2598V45.5H36.251V61ZM6.12988 39.7002H30.1309V24.2002H6.12988V39.7002ZM36.251 39.7002H60.2598V24.2002H36.251V39.7002ZM66.3799 39.7002H89.8691V27.1104H89.8701V24.2002H66.3799V39.7002ZM8.12988 5.82035C7.59425 5.81585 7.07794 6.0199 6.69043 6.38969C6.50133 6.56218 6.34941 6.7727 6.24609 7.00687C6.14285 7.24097 6.08977 7.49418 6.08984 7.75004V18.3897H89.8701V7.74027C89.8702 7.48447 89.8171 7.23117 89.7139 6.99711C89.6106 6.76293 89.4586 6.55241 89.2695 6.37992C88.882 6.01006 88.3658 5.8051 87.8301 5.80961L8.12988 5.82035Z" 156 fill="url(#ext-icon-grad)" 157 /> 158 <defs> 159 <linearGradient id="ext-icon-grad" x1="15.5" y1="12" x2="92.4651" y2="65.8409" gradientUnits="userSpaceOnUse"> 160 <stop stop-color="#38BDF8" /> 161 <stop offset="1" stop-color="#A78BFA" /> 162 </linearGradient> 163 </defs> 164</svg> 165
166 <span>Data Scraper</span> 167 </a> 168 169 <!-- Desktop Nav --> 170 <nav class="hidden md:flex items-center gap-6"> 171 <a href="/" class="text-slate-600 hover:text-slate-900 transition-colors text-sm font-medium no-underline" 172 >Home</a 173 > 174 <a 175 href="/changelog/" 176 class="text-slate-600 hover:text-slate-900 transition-colors text-sm font-medium no-underline" 177 >What's New</a 178 > 179 <a href="/roadmap/" class="text-slate-600 hover:text-slate-900 transition-colors text-sm font-medium no-underline" 180 >Roadmap</a 181 > 182 <a href="/pricing/" class="text-slate-600 hover:text-slate-900 transition-colors text-sm font-medium no-underline" 183 >Pricing</a 184 > 185 <a href="/contact/" class="text-slate-600 hover:text-slate-900 transition-colors text-sm font-medium no-underline" 186 >Contact</a 187 > 188 <a 189 href="https://chromewebstore.google.com/detail/nkkdeadncmkfpmoafagdoanfkipoogkl" 190 target="_blank" 191 rel="noopener noreferrer" 192 class="btn-primary-sm" 193 > 194 <i data-lucide="chrome" class="w-4 h-4"></i> 195 Install Extension 196 </a> 197 </nav> 198 199 <!-- Mobile menu button --> 200 <button 201 id="mobile-menu-btn" 202 class="md:hidden text-slate-600 hover:text-slate-900 p-2 bg-transparent border-none cursor-pointer" 203 aria-label="Toggle menu" 204 > 205 <i data-lucide="menu" class="w-6 h-6" id="menu-icon-open"></i> 206 <i data-lucide="x" class="w-6 h-6 hidden" id="menu-icon-close"></i> 207 </button> 208 </div> 209 210 <!-- Mobile Nav --> 211 <div id="mobile-menu" class="hidden md:hidden bg-white/95 backdrop-blur-xl border-t border-violet-200/50 px-4 pb-4"> 212 <a 213 href="/" 214 class="block py-3 text-slate-600 hover:text-slate-900 transition-colors text-sm font-medium border-b border-violet-100/50 no-underline" 215 >Home</a 216 > 217 <a 218 href="/changelog/" 219 class="block py-3 text-slate-600 hover:text-slate-900 transition-colors text-sm font-medium border-b border-violet-100/50 no-underline" 220 >What's New</a 221 > 222 <a 223 href="/roadmap/" 224 class="block py-3 text-slate-600 hover:text-slate-900 transition-colors text-sm font-medium border-b border-violet-100/50 no-underline" 225 >Roadmap</a 226 > 227 <a 228 href="/pricing/" 229 class="block py-3 text-slate-600 hover:text-slate-900 transition-colors text-sm font-medium border-b border-violet-100/50 no-underline" 230 >Pricing</a 231 > 232 <a 233 href="/contact/" 234 class="block py-3 text-slate-600 hover:text-slate-900 transition-colors text-sm font-medium border-b border-violet-100/50 no-underline" 235 >Contact</a 236 > 237 <a 238 href="https://chromewebstore.google.com/detail/nkkdeadncmkfpmoafagdoanfkipoogkl" 239 target="_blank" 240 rel="noopener noreferrer" 241 class="mt-3 flex items-center justify-center gap-2 bg-gradient-to-r from-violet-500 to-fuchsia-500 text-white rounded-full px-5 py-2.5 text-sm font-semibold no-underline" 242 > 243 <i data-lucide="chrome" class="w-4 h-4"></i> 244 Install Extension 245 </a> 246 </div> 247</header> 248
249<script> 250 ;(function () { 251 var btn = document.getElementById("mobile-menu-btn") 252 var menu = document.getElementById("mobile-menu") 253 var iconOpen = document.getElementById("menu-icon-open") 254 var iconClose = document.getElementById("menu-icon-close") 255 btn.addEventListener("click", function () { 256 var isOpen = !menu.classList.contains("hidden") 257 menu.classList.toggle("hidden") 258 iconOpen.classList.toggle("hidden", !isOpen) 259 iconClose.classList.toggle("hidden", isOpen) 260 }) 261 })() 262</script>
262 263 264 <main class="relative z-10 pt-16"><section class="pt-20 pb-16 px-4 text-center relative z-10"> 265 <div class="max-w-4xl mx-auto"> 266 <div class="badge mb-6"> 267 <i data-lucide="clock" class="w-4 h-4"></i> 268 Changelog 269 </div> 270 <h1 class="text-4xl md:text-5xl font-black tracking-tight"> 271 <span class="gradient-text">Stay Up to Date</span> with Data Scraper Updates 272 </h1> 273 </div> 274</section> 275 276<section class="py-8 px-4 relative z-10"> 277 <div class="max-w-2xl mx-auto relative"> 278 <!-- Timeline line --> 279 <div 280 class="absolute left-4 top-0 bottom-0 w-px opacity-30" 281 style="background: linear-gradient(to bottom, #7c3aed, #d946ef, #06b6d4)" 282 ></div> 283 284 <div class="space-y-8"> 285 <div class="relative pl-12"> 286 <div 287 class="absolute left-2.5 top-1.5 w-3 h-3 rounded-full ring-4 ring-white" 288 style="background: linear-gradient(to right, #7c3aed, #d946ef)" 289 ></div> 290 <div class="glass-card-sm p-6 hover:border-violet-300/70 transition-all duration-300"> 291 <h3 class="text-lg font-bold text-slate-900 mb-2">Smarter list detection powered by ML</h3> 292 <p class="text-slate-600 text-sm leading-relaxed"> 293 We've upgraded the underlying model that identifies collectible lists on a page. Instead of relying on fixed 294 rules, it's now trained on hundreds of real-world sites, resulting in fewer missed lists and more consistent 295 detection on complex or unusual page layouts. 296 </p> 297 </div> 298 </div> 299 300 <div class="relative pl-12"> 301 <div 302 class="absolute left-2.5 top-1.5 w-3 h-3 rounded-full ring-4 ring-white" 303 style="background: linear-gradient(to right, #7c3aed, #d946ef)" 304 ></div> 305 <div class="glass-card-sm p-6 hover:border-violet-300/70 transition-all duration-300"> 306 <h3 class="text-lg font-bold text-slate-900 mb-2">Pagination fix</h3> 307 <p class="text-slate-600 text-sm leading-relaxed"> 308 Fixed an issue where links opening in a new tab were incorrectly treated as pagination controls, causing 309 incomplete data collection on some sites. 310 </p> 311 </div> 312 </div> 313 314 <div class="relative pl-12"> 315 <div 316 class="absolute left-2.5 top-1.5 w-3 h-3 rounded-full ring-4 ring-white" 317 style="background: linear-gradient(to right, #7c3aed, #d946ef)" 318 ></div> 319 <div class="glass-card-sm p-6 hover:border-violet-300/70 transition-all duration-300"> 320 <h3 class="text-lg font-bold text-slate-900 mb-2">Results panel fix</h3> 321 <p class="text-slate-600 text-sm leading-relaxed"> 322 Fixed a bug causing column headers to appear duplicated in the results table. 323 </p> 324 </div> 325 </div> 326 </div> 327 </div> 328</section> 329 330<section class="py-20 px-4 text-center relative z-10"> 331 <div class="max-w-3xl mx-auto"> 332 <h2 class="text-3xl md:text-4xl font-black tracking-tight text-center mb-4"> 333 <span class="gradient-text">Ready to Start Scraping?</span> 334 </h2> 335 <p class="text-slate-600 text-lg mb-8 max-w-xl mx-auto"> 336 Install Data Scraper and start collecting web data in seconds. No coding required. 337 </p> 338 <a 339 href="https://chromewebstore.google.com/detail/nkkdeadncmkfpmoafagdoanfkipoogkl" 340 target="_blank" 341 rel="noopener noreferrer" 342 class="btn-primary text-lg" 343 > 344 <i data-lucide="chrome" class="w-5 h-5"></i> 345 Install the Extension 346 </a> 347 </div> 348</section> 349 350</main> 351 <footer class="border-t border-violet-200/50 bg-white/50 backdrop-blur-sm relative z-10"> 352 <div class="max-w-6xl mx-auto px-4 py-12"> 353 <div class="grid grid-cols-2 md:grid-cols-5 gap-8"> 354 <!-- About column --> 355 <div class="col-span-2 md:col-span-1"> 356 <a href="/" class="flex items-center gap-2 text-slate-900 font-bold text-lg mb-3 no-underline"> 357 <svg 358 viewBox="0 0 96 96" 359 fill="none" 360 xmlns="http://www.w3.org/2000/svg" 361 class="w-5 h-5" 362 363 aria-hidden="true" 364> 365 <path 366 d="M81.6699 57C81.9351 57 82.1894 57.1055 82.377 57.293C82.5645 57.4805 82.6699 57.7348 82.6699 58V72.71C82.6699 72.9752 82.7754 73.2295 82.9629 73.417C83.1504 73.6045 83.4047 73.71 83.6699 73.71H92C92.1866 73.7104 92.3691 73.7635 92.5273 73.8623C92.6856 73.9612 92.8133 74.1021 92.8955 74.2696C92.9776 74.437 93.0108 74.6241 92.9922 74.8096C92.9736 74.9953 92.9039 75.1725 92.79 75.3203L77.7998 95C77.7067 95.1241 77.586 95.2246 77.4473 95.294C77.3084 95.3634 77.1552 95.4004 77 95.4004C76.8448 95.4004 76.6916 95.3634 76.5527 95.294C76.414 95.2246 76.2933 95.1241 76.2002 95L61.2002 75.3604C61.0736 75.2127 60.9928 75.0309 60.9678 74.8379C60.9428 74.6448 60.9746 74.4477 61.0596 74.2725C61.1444 74.0976 61.2786 73.9515 61.4453 73.8516C61.6124 73.7516 61.8054 73.7021 62 73.71H70.3096C70.5748 73.71 70.83 73.6046 71.0176 73.417C71.2049 73.2295 71.3096 72.9751 71.3096 72.71L71.3301 58C71.3301 57.7348 71.4355 57.4805 71.623 57.293C71.8106 57.1055 72.0649 57 72.3301 57H81.6699ZM88.25 3.6929e-05C90.32 0.0921918 92.2825 0.947476 93.7598 2.40043C95.1837 3.81383 95.9895 5.734 96 7.74027V45.5H95.999V66.7998C95.9913 67.1766 95.9076 67.548 95.7529 67.8916C95.5983 68.2352 95.3763 68.5443 95.0996 68.7998C94.5114 69.3466 93.7376 69.6503 92.9346 69.6504C92.1314 69.6504 91.3578 69.3466 90.7695 68.7998C90.494 68.5431 90.2717 68.2341 90.1172 67.8907C89.9627 67.5473 89.8785 67.1762 89.8691 66.7998V45.5H66.3799V64C66.374 64.3761 66.2925 64.7472 66.1396 65.0909C65.9867 65.4345 65.7657 65.7439 65.4902 66C64.9441 66.5094 64.2359 66.8099 63.4902 66.8496H36.251V85.1905H48.3496C49.1515 85.1885 49.9242 85.4922 50.5098 86.0401C50.793 86.3022 51.0193 86.62 51.1738 86.9737C51.3283 87.3272 51.4082 87.7089 51.4082 88.0948C51.4082 88.4807 51.3284 88.8632 51.1738 89.2168C51.0193 89.5703 50.7929 89.8884 50.5098 90.1504C49.9243 90.6982 49.1514 91.002 48.3496 91H11.2305C8.28244 91.0124 5.44102 89.8959 3.29004 87.8799C2.2571 86.9155 1.43199 85.7501 0.866211 84.4551C0.300472 83.1602 0.0058257 81.7627 0 80.3496V7.74027C0.00507362 6.71392 0.219952 5.69935 0.630859 4.75883C1.04175 3.81843 1.64013 2.97154 2.38965 2.27054C3.95726 0.805991 6.02463 -0.00631119 8.16992 3.6929e-05H88.25ZM6.12988 80.3496C6.13342 80.9908 6.26737 81.6251 6.52344 82.2129C6.77958 82.8009 7.15289 83.3313 7.62012 83.7705C8.598 84.6872 9.89011 85.1954 11.2305 85.1905H30.1309V66.8496H6.12988V80.3496ZM6.12988 61H30.1309V45.5H6.12988V61ZM36.251 61H60.2598V45.5H36.251V61ZM6.12988 39.7002H30.1309V24.2002H6.12988V39.7002ZM36.251 39.7002H60.2598V24.2002H36.251V39.7002ZM66.3799 39.7002H89.8691V27.1104H89.8701V24.2002H66.3799V39.7002ZM8.12988 5.82035C7.59425 5.81585 7.07794 6.0199 6.69043 6.38969C6.50133 6.56218 6.34941 6.7727 6.24609 7.00687C6.14285 7.24097 6.08977 7.49418 6.08984 7.75004V18.3897H89.8701V7.74027C89.8702 7.48447 89.8171 7.23117 89.7139 6.99711C89.6106 6.76293 89.4586 6.55241 89.2695 6.37992C88.882 6.01006 88.3658 5.8051 87.8301 5.80961L8.12988 5.82035Z" 367 fill="url(#ext-icon-grad)" 368 /> 369 <defs> 370 <linearGradient id="ext-icon-grad" x1="15.5" y1="12" x2="92.4651" y2="65.8409" gradientUnits="userSpaceOnUse"> 371 <stop stop-color="#38BDF8" /> 372 <stop offset="1" stop-color="#A78BFA" /> 373 </linearGradient> 374 </defs> 375</svg> 376 Data Scraper 377 </a> 378 <p class="text-slate-500 text-sm leading-relaxed"> 379 Extract structured data from websites quickly and easily, turning web content into usable datasets without 380 coding. 381 </p> 382 </div> 383 384 <!-- Overview --> 385 <div> 386 <h4 class="text-slate-900 font-semibold text-sm mb-3">Overview</h4> 387 <ul class="space-y-2 list-none p-0 m-0"> 388 <li> 389 <a href="/" class="text-slate-500 hover:text-slate-700 transition-colors text-sm no-underline">Home</a> 390 </li> 391 <li> 392 <a href="/changelog/" class="text-slate-500 hover:text-slate-700 transition-colors text-sm no-underline" 393 >What's New</a 394 > 395 </li> 396 <li> 397 <a href="/roadmap/" class="text-slate-500 hover:text-slate-700 transition-colors text-sm no-underline" 398 >Roadmap</a 399 > 400 </li> 401 <li> 402 <a href="/pricing/" class="text-slate-500 hover:text-slate-700 transition-colors text-sm no-underline" 403 >Pricing</a 404 > 405 </li> 406 </ul> 407 </div> 408 409 <!-- Sources --> 410 <div> 411 <h4 class="text-slate-900 font-semibold text-sm mb-3">Sources</h4> 412 <ul class="space-y-2 list-none p-0 m-0"> 413 <li> 414 <a href="/images/" class="text-slate-500 hover:text-slate-700 transition-colors text-sm no-underline" 415 >Image URLs</a 416 > 417 </li> 418 </ul> 419 </div> 420 421 <!-- Export Formats --> 422 <div> 423 <h4 class="text-slate-900 font-semibold text-sm mb-3">Export Formats</h4> 424 <ul class="space-y-2 list-none p-0 m-0"> 425 <li> 426 <a href="/excel/" class="text-slate-500 hover:text-slate-700 transition-colors text-sm no-underline" 427 >Excel</a 428 > 429 </li> 430 <li> 431 <a href="/gsheets/" class="text-slate-500 hover:text-slate-700 transition-colors text-sm no-underline" 432 >Google Sheets</a 433 > 434 </li> 435 <li> 436 <a href="/csv/" class="text-slate-500 hover:text-slate-700 transition-colors text-sm no-underline">CSV</a> 437 </li> 438 </ul> 439 </div> 440 441 <!-- Utility --> 442 <div> 443 <h4 class="text-slate-900 font-semibold text-sm mb-3">Utility</h4> 444 <ul class="space-y-2 list-none p-0 m-0"> 445 <li> 446 <a 447 href="/privacy-policy/" 448 class="text-slate-500 hover:text-slate-700 transition-colors text-sm no-underline" 449 >Privacy Policy</a 450 > 451 </li> 452 <li> 453 <a 454 href="/terms-of-service/" 455 class="text-slate-500 hover:text-slate-700 transition-colors text-sm no-underline" 456 >Terms of Service</a 457 > 458 </li> 459 <li> 460 <a 461 href="/acceptable-use/" 462 class="text-slate-500 hover:text-slate-700 transition-colors text-sm no-underline" 463 >Acceptable Use</a 464 > 465 </li> 466 <li> 467 <a href="/refund-policy/" class="text-slate-500 hover:text-slate-700 transition-colors text-sm no-underline" 468 >Refund Policy</a 469 > 470 </li> 471 <li> 472 <a 473 href="/payment-partners/" 474 class="text-slate-500 hover:text-slate-700 transition-colors text-sm no-underline" 475 >Payment Partners</a 476 > 477 </li> 478 <li>
479 <a href="/licenses/" class="text-slate-500 hover:text-slate-700 transition-colors text-sm no-underline" 480 >Licenses</a 481 > 482 </li> 483 </ul> 484 </div> 485 </div> 486 487 <div class="mt-10 pt-6 border-t border-violet-200/50 text-center text-slate-400 text-sm space-y-2"> 488 <p> 489 Data Scraper is developed and operated by Functionsoft LLC in cooperation with its Bulgarian commercial partner 490 FRESHCODE LTD, UIC 205729768, VAT No. BG205729768, registered office at 8 Tsar Kaloyan Street, floor 3, office 491 2, Sredets District, Sofia 1000, Bulgaria. Purchases may be sold and processed by Paddle, FastSpring or another 492 authorised Merchant of Record. The Merchant of Record applicable to your purchase will be identified at checkout 493 and in your receipt. Contact: 494 <a href="mailto:[email protected]" class="hover:text-slate-600 transition-colors">[email protected]</a 495 >. 496 </p> 497 <p> 498 © <span id="footer-year"></span> Functionsoft LLC in cooperation with FRESHCODE LTD. 499 <a href="/terms-of-service/" class="hover:text-slate-600 transition-colors">Terms of Service</a> · 500 <a href="/privacy-policy/" class="hover:text-slate-600 transition-colors">Privacy Policy</a> · 501 <a href="/refund-policy/" class="hover:text-slate-600 transition-colors">Refund Policy</a> · 502 <a href="mailto:[email protected]" class="hover:text-slate-600 transition-colors" 503 >[email protected]</a 504 > 505 </p> 506 </div> 507 </div> 508</footer>
509<script> 510 document.getElementById("footer-year").textContent = new Date().getFullYear() 511</script>
511 512 513 514
514<script defer src="https://unpkg.com/[email protected]/dist/umd/lucide.min.js" onload="lucide.createIcons()"></script>
514 515 </body> 516</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.