CINXE.COM

PortalJS

<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:site" content="https://datopian.com/"/><meta name="twitter:creator" content="@datopian"/><meta property="og:image" content="/static/img/seo.png"/><meta property="og:image:alt" content="PortalJS Cloud"/><meta property="og:image:type" content="image/jpg"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="627"/><meta name="author" content="Datopian"/><meta name="publisher" content="Datopian"/><script type="application/ld+json">{"@context":"https://schema.org","@type":"Organization","url":"https://portaljs.com","logo":"https://portaljs.com/icon.png"}</script><title>PortalJS</title><meta name="robots" content="index,follow"/><meta name="description" content="PortalJS Cloud is the easiest way to get started with Open Data. Perfect for governments, non-profits, academics, and companies of all sizes. Get started now!"/><meta property="og:title" content="PortalJS"/><meta property="og:description" content="PortalJS Cloud is the easiest way to get started with Open Data. Perfect for governments, non-profits, academics, and companies of all sizes. Get started now!"/><meta name="next-head-count" content="18"/><link rel="icon" href="/favicon.ico"/><link rel="preload" href="/_next/static/css/34910717b715f980.css" as="style" crossorigin=""/><link rel="stylesheet" href="/_next/static/css/34910717b715f980.css" crossorigin="" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" crossorigin="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script src="/_next/static/chunks/webpack-2d4faffb5c20b3c9.js" defer="" crossorigin=""></script><script src="/_next/static/chunks/framework-e14092e0d084b50d.js" defer="" crossorigin=""></script><script src="/_next/static/chunks/main-59cfbbafa8ed712d.js" defer="" crossorigin=""></script><script src="/_next/static/chunks/pages/_app-f80e5e3e59a6abf3.js" defer="" crossorigin=""></script><script src="/_next/static/chunks/2fbf9dd2-1a703587b5a0efbc.js" defer="" crossorigin=""></script><script src="/_next/static/chunks/18-f8dd1c7844fe4a21.js" defer="" crossorigin=""></script><script src="/_next/static/chunks/989-adf3f0afbb2140e5.js" defer="" crossorigin=""></script><script src="/_next/static/chunks/675-0473debd371673fd.js" defer="" crossorigin=""></script><script src="/_next/static/chunks/603-3371cf7717298353.js" defer="" crossorigin=""></script><script src="/_next/static/chunks/pages/index-1338638cb3193705.js" defer="" crossorigin=""></script><script src="/_next/static/oSCCQKx2OH5vB76p0UoMW/_buildManifest.js" defer="" crossorigin=""></script><script src="/_next/static/oSCCQKx2OH5vB76p0UoMW/_ssgManifest.js" defer="" crossorigin=""></script></head><body><div id="__next"><script>!function(){try{var d=document.documentElement,c=d.classList;c.remove('light','dark');var e=localStorage.getItem('theme');if('system'===e||(!e&&false)){var t='(prefers-color-scheme: dark)',m=window.matchMedia(t);if(m.media!==t||m.matches){d.style.colorScheme = 'dark';c.add('dark')}else{d.style.colorScheme = 'light';c.add('light')}}else if(e){c.add(e|| '')}else{c.add('dark')}if(e==='light'||e==='dark'||!e)d.style.colorScheme=e||'dark'}catch(e){}}()</script><header class=" sticky w-full top-0 z-50 py-5 mx-auto bg-background dark:bg-background-dark "><div class="flex items-center justify-between mx-auto max-w-full px-4 sm:px-8"><div class="mr-2 sm:mr-4 flex lg:hidden"><button type="button" class="relative" aria-label="Open navigation"><svg aria-hidden="true" viewBox="0 0 24 24" fill="none" stroke-width="2" stroke-linecap="round" class="h-6 w-6 stroke-slate-500"><path d="M4 7h16M4 12h16M4 17h16"></path></svg></button><div hidden="" style="position:fixed;top:1px;left:1px;width:1px;height:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;display:none"></div></div><div class="flex flex-none items-center"><a title="Homepage" aria-label="Home page" class="flex items-center font-extrabold text-xl sm:text-2xl" href="/"><span class="text-primary dark:text-white">🌀 PortalJS</span></a><div class="hidden lg:flex ml-8 mr-6 sm:mr-8 md:mr-0"><div class="relative" data-headlessui-state=""><button id="headlessui-menu-button-:R9kn6:" type="button" aria-haspopup="menu" aria-expanded="false" data-headlessui-state=""><a title="Showcase" class="text-slate-400 inline-flex items-center mr-2 px-1 pt-1 text-sm font-medium hover:text-blue-400" href="/showcase">Showcase</a></button></div><div class="relative" data-headlessui-state=""><button id="headlessui-menu-button-:Rakn6:" type="button" aria-haspopup="menu" aria-expanded="false" data-headlessui-state=""><a title="Pricing" class="text-slate-400 inline-flex items-center mr-2 px-1 pt-1 text-sm font-medium hover:text-blue-400" href="/pricing">Pricing</a></button></div><div class="relative" data-headlessui-state=""><button id="headlessui-menu-button-:Rbkn6:" type="button" aria-haspopup="menu" aria-expanded="false" data-headlessui-state=""><a title="Docs" class="text-slate-400 inline-flex items-center mr-2 px-1 pt-1 text-sm font-medium hover:text-blue-400" href="/docs">Docs</a></button></div><div class="relative" data-headlessui-state=""><button id="headlessui-menu-button-:Rckn6:" type="button" aria-haspopup="menu" aria-expanded="false" data-headlessui-state=""><a title="Blog" class="text-slate-400 inline-flex items-center mr-2 px-1 pt-1 text-sm font-medium hover:text-blue-400" href="/blog">Blog</a></button></div><div class="relative" data-headlessui-state=""><button id="headlessui-menu-button-:Rdkn6:" type="button" aria-haspopup="menu" aria-expanded="false" data-headlessui-state=""><a title="FAQ" class="text-slate-400 inline-flex items-center mr-2 px-1 pt-1 text-sm font-medium hover:text-blue-400" href="/faq">FAQ</a></button></div><div class="relative" data-headlessui-state=""><button id="headlessui-menu-button-:Rekn6:" type="button" aria-haspopup="menu" aria-expanded="false" data-headlessui-state=""><a title="Open source 🌐" class="text-blue-600 hover:!text-slate-300 dark:text-blue-400 inline-flex items-center mr-2 px-1 pt-1 text-sm font-medium" href="/opensource">Open source 🌐</a></button></div></div></div><div class="relative flex items-center basis-auto justify-end gap-5 sm:gap-6 xl:gap-8 md:shrink w-full"><a title="PortalJS Cloud Discord Server" class="group" aria-label="Discord" target="_blank" href="https://discord.gg/BWkzNqxQ"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" viewBox="0 0 16 16" class="h-5 w-5 sm:h-8 sm:w-8 dark:fill-slate-400 group-hover:fill-slate-500 dark:group-hover:fill-slate-300"><path d="M13.545 2.907a13.227 13.227 0 0 0-3.257-1.011.05.05 0 0 0-.052.025c-.141.25-.297.577-.406.833a12.19 12.19 0 0 0-3.658 0 8.258 8.258 0 0 0-.412-.833.051.051 0 0 0-.052-.025c-1.125.194-2.22.534-3.257 1.011a.041.041 0 0 0-.021.018C.356 6.024-.213 9.047.066 12.032c.001.014.01.028.021.037a13.276 13.276 0 0 0 3.995 2.02.05.05 0 0 0 .056-.019c.308-.42.582-.863.818-1.329a.05.05 0 0 0-.01-.059.051.051 0 0 0-.018-.011 8.875 8.875 0 0 1-1.248-.595.05.05 0 0 1-.02-.066.051.051 0 0 1 .015-.019c.084-.063.168-.129.248-.195a.05.05 0 0 1 .051-.007c2.619 1.196 5.454 1.196 8.041 0a.052.052 0 0 1 .053.007c.08.066.164.132.248.195a.051.051 0 0 1-.004.085 8.254 8.254 0 0 1-1.249.594.05.05 0 0 0-.03.03.052.052 0 0 0 .003.041c.24.465.515.909.817 1.329a.05.05 0 0 0 .056.019 13.235 13.235 0 0 0 4.001-2.02.049.049 0 0 0 .021-.037c.334-3.451-.559-6.449-2.366-9.106a.034.034 0 0 0-.02-.019Zm-8.198 7.307c-.789 0-1.438-.724-1.438-1.612 0-.889.637-1.613 1.438-1.613.807 0 1.45.73 1.438 1.613 0 .888-.637 1.612-1.438 1.612Zm5.316 0c-.788 0-1.438-.724-1.438-1.612 0-.889.637-1.613 1.438-1.613.807 0 1.451.73 1.438 1.613 0 .888-.631 1.612-1.438 1.612Z"></path></svg></a><div class="mt-1"><span><a href="https://github.com/datopian/portaljs" data-color-scheme="no-preference: light; light: light; dark: dark;" data-size="large" data-show-count="true" aria-label="Star PortalJS on GitHub">Stars</a></span></div></div></div></header><div class=" bg-background dark:bg-background-dark text-primary dark:text-primary-dark"><div class="relative mx-auto flex max-w-8xl justify-center sm:px-2 lg:px-8 xl:px-12 "><div class="min-w-0 max-w-2xl px-4 lg:max-w-none lg:pl-0 lg:pr-0 flex-auto py-0 "><section class="mx-auto max-w-7xl px-4 sm:px-6"><div class="xl:grid xl:grid-cols-12 xl:gap-8 overflow-hidden mt-[-60px]"><div class="sm:text-center md:max-w-2xl md:mx-auto lg:col-span-5 xl:text-left my-16 sm:my-24 lg:my-auto"><div class="mb-6"><a href="https://cloud.portaljs.com/auth/signup" class="inline-flex space-x-6 "><span class="inline-flex items-center space-x-2 px-3 py-1 text-sm leading-6 text-accent rounded-full dark:bg-slate-500/10 ring-1 ring-inset ring-slate-400/50 dark:ring-slate-500/20"><span class="font-bold text-blue-400 ">🔥 PortalJS Cloud (beta) is now available</span><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true" data-slot="icon" class="h-5 w-5 text-gray-500"><path fill-rule="evenodd" d="M2 10a.75.75 0 0 1 .75-.75h12.59l-2.1-1.95a.75.75 0 1 1 1.02-1.1l3.5 3.25a.75.75 0 0 1 0 1.1l-3.5 3.25a.75.75 0 1 1-1.02-1.1l2.1-1.95H2.75A.75.75 0 0 1 2 10Z" clip-rule="evenodd"></path></svg></span></a></div><h1 class="text-[40px] tracking-tight font-semibold !font-normal text-3xl sm:text-4xl xl:text-5xl bg-gradient-to-r from-blue-500 via-blue-400 to-blue-500 bg-clip-text text-transparent pb-3">Managed Data Portal in the Cloud</h1><h2 class="text-lg mt-5 text-base sm:text-lg xl:text-xl opacity-75">PortalJS Cloud is the simplest way of getting started with Open Data for governments, non-profits, academics and companies of all sizes.</h2><div class="mt-5 sm:mt-10 sm:flex sm:justify-center xl:justify-start"><div class="mt-3 sm:mt-0 flex gap-4"><a href="https://cloud.portaljs.com/auth/signup" title="Get started with PortalJS Cloud" class="inline-block items-center justify-center px-4 py-2 border text-base font-medium text-center rounded border-transparent bg-secondary hover:bg-secondary-hover text-black text-sm">Get started</a><a href="https://calendar.app.google/i1H9Wtev4yp8sRV98" title="Book a demo" class="inline-block items-center justify-center px-4 py-2 border text-base font-medium text-center rounded border-secondary hover:bg-secondary-hover hover:text-black text-secondary text-sm">Book a demo</a></div></div></div><div class="mt-12 relative sm:max-w-3xl sm:mx-auto lg:mt-0 lg:col-span-7 xl:flex flex items-start justify-start hidden" id="globe"></div></div></section><div class="text-center max-w-full mx-auto py-16 px-4 sm:pt-16 sm:pb-0 sm:px-6 lg:px-8 w-full min-h-[430px]"><h2 class="text-base font-semibold text-theme-orange uppercase tracking-wide opacity-75">Powering Data Portals Worldwide</h2><div class="max-w-7xl flex justify-center mt-5" tabindex="0"><div class="flex flex-wrap justify-center items-center gap-x-5 gap-y-5 w-full mt-6"><a class="flex items-center justify-center w-full md:w-1/3 xl:w-1/5 bg-slate-100 dark:bg-slate-900 ring-1 ring-slate-200 dark:ring-slate-800 rounded-2xl shadow-sm h-full max-h-24 p-10" title="ODNI" href="https://www.opendatani.gov.uk/"><img alt="ODNI Logo" title="ODNI" loading="lazy" width="150" height="50" decoding="async" data-nimg="1" class="bypass-filter h-auto object-center" style="color:transparent" srcSet="/_next/image?url=%2Fstatic%2Fimg%2Fsocial-proof%2FOpen-Data-Northern-Ireland-grey.png&amp;w=256&amp;q=75 1x, /_next/image?url=%2Fstatic%2Fimg%2Fsocial-proof%2FOpen-Data-Northern-Ireland-grey.png&amp;w=384&amp;q=75 2x" src="/_next/image?url=%2Fstatic%2Fimg%2Fsocial-proof%2FOpen-Data-Northern-Ireland-grey.png&amp;w=384&amp;q=75"/></a><a class="flex items-center justify-center w-full md:w-1/3 xl:w-1/5 bg-slate-100 dark:bg-slate-900 ring-1 ring-slate-200 dark:ring-slate-800 rounded-2xl shadow-sm h-full max-h-24 p-10" title="UAE" href="https://opendata.fcsc.gov.ae/"><img alt="UAE Logo" title="UAE" loading="lazy" width="150" height="50" decoding="async" data-nimg="1" class="bypass-filter h-auto " style="color:transparent" srcSet="/_next/image?url=%2Fstatic%2Fimg%2Fsocial-proof%2Ffcsc-grey-transparent.png&amp;w=256&amp;q=75 1x, /_next/image?url=%2Fstatic%2Fimg%2Fsocial-proof%2Ffcsc-grey-transparent.png&amp;w=384&amp;q=75 2x" src="/_next/image?url=%2Fstatic%2Fimg%2Fsocial-proof%2Ffcsc-grey-transparent.png&amp;w=384&amp;q=75"/></a><a class="flex items-center justify-center w-full md:w-1/3 xl:w-1/5 bg-slate-100 dark:bg-slate-900 ring-1 ring-slate-200 dark:ring-slate-800 rounded-2xl shadow-sm h-full max-h-24 p-10" title="OECD" href="https://www.oecd.org/"><img alt="OECD Logo" title="OECD" loading="lazy" width="150" height="50" decoding="async" data-nimg="1" class="bypass-filter h-auto max-h-14" style="color:transparent" srcSet="/_next/image?url=%2Fstatic%2Fimg%2Fsocial-proof%2FOECD-grey.png&amp;w=256&amp;q=75 1x, /_next/image?url=%2Fstatic%2Fimg%2Fsocial-proof%2FOECD-grey.png&amp;w=384&amp;q=75 2x" src="/_next/image?url=%2Fstatic%2Fimg%2Fsocial-proof%2FOECD-grey.png&amp;w=384&amp;q=75"/></a><a class="flex items-center justify-center w-full md:w-1/3 xl:w-1/5 bg-slate-100 dark:bg-slate-900 ring-1 ring-slate-200 dark:ring-slate-800 rounded-2xl shadow-sm h-full max-h-24 p-10" title="Sigma2" href="https://www.sigma2.no/"><img alt="Sigma2 Logo" title="Sigma2" loading="lazy" width="150" height="50" decoding="async" data-nimg="1" class="bypass-filter h-auto max-h-14" style="color:transparent" srcSet="/_next/image?url=%2Fstatic%2Fimg%2Fsocial-proof%2Fsigma2-light-transparent.png&amp;w=256&amp;q=75 1x, /_next/image?url=%2Fstatic%2Fimg%2Fsocial-proof%2Fsigma2-light-transparent.png&amp;w=384&amp;q=75 2x" src="/_next/image?url=%2Fstatic%2Fimg%2Fsocial-proof%2Fsigma2-light-transparent.png&amp;w=384&amp;q=75"/></a><a class="flex items-center justify-center w-full md:w-1/3 xl:w-1/5 bg-slate-100 dark:bg-slate-900 ring-1 ring-slate-200 dark:ring-slate-800 rounded-2xl shadow-sm h-full max-h-24 p-10" title="Marcus Institute" href="https://data.hsl.harvard.edu/"><img alt="Marcus Institute Logo" title="Marcus Institute" loading="lazy" width="120" height="50" decoding="async" data-nimg="1" class="bypass-filter h-auto max-h-14" style="color:transparent" srcSet="/_next/image?url=%2Fstatic%2Fimg%2Fsocial-proof%2FMarcus_Institute_HMS_vertical-grey-transparent.png&amp;w=128&amp;q=75 1x, /_next/image?url=%2Fstatic%2Fimg%2Fsocial-proof%2FMarcus_Institute_HMS_vertical-grey-transparent.png&amp;w=256&amp;q=75 2x" src="/_next/image?url=%2Fstatic%2Fimg%2Fsocial-proof%2FMarcus_Institute_HMS_vertical-grey-transparent.png&amp;w=256&amp;q=75"/></a><a class="flex items-center justify-center w-full md:w-1/3 xl:w-1/5 bg-slate-100 dark:bg-slate-900 ring-1 ring-slate-200 dark:ring-slate-800 rounded-2xl shadow-sm h-full max-h-24 p-10" title="IDPO (University of Sydney)" href="https://www.idpo.org.au"><img alt="IDPO (University of Sydney) Logo" title="IDPO (University of Sydney)" loading="lazy" width="100" height="50" decoding="async" data-nimg="1" class="bypass-filter h-auto max-h-8" style="color:transparent" srcSet="/_next/image?url=%2Fstatic%2Fimg%2Fsocial-proof%2FUNIOFSY.png&amp;w=128&amp;q=75 1x, /_next/image?url=%2Fstatic%2Fimg%2Fsocial-proof%2FUNIOFSY.png&amp;w=256&amp;q=75 2x" src="/_next/image?url=%2Fstatic%2Fimg%2Fsocial-proof%2FUNIOFSY.png&amp;w=256&amp;q=75"/></a><a class="flex items-center justify-center w-full md:w-1/3 xl:w-1/5 bg-slate-100 dark:bg-slate-900 ring-1 ring-slate-200 dark:ring-slate-800 rounded-2xl shadow-sm h-full max-h-24 p-10" title="Hounslow" href="https://data.hounslow.gov.uk"><img alt="Hounslow Logo" title="Hounslow" loading="lazy" width="150" height="50" decoding="async" data-nimg="1" class="bypass-filter h-auto max-h-8" style="color:transparent" src="/static/img/social-proof/hounslow.svg"/></a><a class="flex items-center justify-center w-full md:w-1/3 xl:w-1/5 bg-slate-100 dark:bg-slate-900 ring-1 ring-slate-200 dark:ring-slate-800 rounded-2xl shadow-sm h-full max-h-24 p-10" title="EITI" href="https://eiti.portaljs.com"><img alt="EITI Logo" title="EITI" loading="lazy" width="150" height="50" decoding="async" data-nimg="1" class="bypass-filter h-auto max-h-8" style="color:transparent" srcSet="/_next/image?url=%2Fstatic%2Fimg%2Fsocial-proof%2FEITI.webp&amp;w=256&amp;q=75 1x, /_next/image?url=%2Fstatic%2Fimg%2Fsocial-proof%2FEITI.webp&amp;w=384&amp;q=75 2x" src="/_next/image?url=%2Fstatic%2Fimg%2Fsocial-proof%2FEITI.webp&amp;w=384&amp;q=75"/></a></div></div></div><div class="py-16"><div class="mx-auto max-w-2xl px-6 lg:max-w-7xl lg:px-8"><div class="flex flex-col items-center"><h1 class="text-[40px] tracking-tight font-semibold mt-2 tracking-4 text-center">Secure, Compliant &amp; Scalable Data Portals</h1><h2 class="text-lg leading-8 opacity-75 text-center">Pre-built for CKAN &amp; Open Data—static-first rendering, serverless scaling, and full WCAG Compliance</h2></div><div class="mt-10 grid grid-cols-1 gap-4 sm:mt-16 lg:grid-cols-6 lg:grid-rows-2"><div class="flex p-px lg:col-span-4"><div class="overflow-hidden rounded-lg dark:bg-slate-900 ring-1 ring-slate-200 dark:ring-slate-800 max-lg:rounded-t-[2rem] lg:rounded-tl-[2rem] w-full"><div class="p-10"><p class="mt-2 text-xl font-medium tracking-tight dark:text-white">5-Minute Deployment</p><p class="mt-2 text-slate-400">Launch your fully functional data portal in minutes—no coding, no hassle.</p></div></div></div><div class="flex p-px lg:col-span-2"><div class="overflow-hidden rounded-lg dark:bg-slate-900 ring-1 ring-slate-200 dark:ring-slate-800 lg:rounded-tr-[2rem]"><div class="p-10"><p class="mt-2 text-xl font-medium tracking-tight dark:text-white">100% Compliance</p><p class="mt-2 max-w-lg text-slate-400">Built for public-sector standards, supporting DCAT, Dublin Core, and open data best practices.</p></div></div></div><div class="flex p-px lg:col-span-2"><div class="overflow-hidden rounded-lg dark:bg-slate-900 ring-1 ring-slate-200 dark:ring-slate-800"><div class="p-10"><p class="mt-2 text-xl font-medium tracking-tight dark:text-white">Unlimited Scalability</p><p class="mt-2 max-w-lg text-slate-400">Handle unlimited datasets and users, with seamless integration into your existing workflows.</p></div></div></div><div class="flex p-px lg:col-span-2"><div class="overflow-hidden rounded-lg dark:bg-slate-900 ring-1 ring-slate-200 dark:ring-slate-800"><div class="p-10"><p class="mt-2 text-xl font-medium tracking-tight dark:text-white">99.99% Uptime</p><p class="mt-2 max-w-lg text-slate-400">Enjoy high-performance, fully managed hosting with uninterrupted access to your data.</p></div></div></div><div class="flex p-px lg:col-span-2"><div class="overflow-hidden rounded-lg dark:bg-slate-900 ring-1 ring-slate-200 dark:ring-slate-800"><div class="p-10"><p class="mt-2 text-xl font-medium tracking-tight dark:text-white">$5,000+ Annual Savings</p><p class="mt-2 max-w-lg text-slate-400">Eliminate infrastructure costs and reduce IT overhead with our fully hosted solution.</p></div></div></div><div class="flex p-px lg:col-span-2"><div class="overflow-hidden rounded-lg dark:bg-slate-900 ring-1 ring-slate-200 dark:ring-slate-800 lg:rounded-bl-[2rem]"><div class="p-10"><p class="mt-2 text-xl font-medium tracking-tight dark:text-white">Trusted by 100+ Institutions</p><p class="mt-2 max-w-lg text-slate-400">Governments, universities, and nonprofits rely on PortalJS Cloud to manage and share data effectively.</p></div></div></div><div class="flex p-px lg:col-span-4"><div class="overflow-hidden rounded-lg dark:bg-slate-900 ring-1 ring-slate-200 dark:ring-slate-800 max-lg:rounded-b-[2rem] lg:rounded-br-[2rem] w-full"><div class="p-10"><p class="mt-2 text-xl font-medium tracking-tight dark:text-white">Accessibility-First Design</p><p class="mt-2 text-slate-400">Fully compliant with <b>WCAG 2.1 AA</b>, ensuring inclusive, barrier-free data access for all users.</p></div></div></div></div></div></div><div class="relative pt-16 pb-20 px-4 sm:px-6 lg:pb-28 lg:px-8"><div class="relative max-w-7xl mx-auto"><div class="text-center"><h2 class="text-4xl font-semibold tracking-tight ">Solutions</h2><h3 class="text-lg opacity-75 mt-3">Use our solution for</h3></div><div class="mt-12 max-w-lg mx-auto grid gap-8 lg:grid-cols-2 lg:max-w-6xl"><div class="ring-1 ring-slate-200 dark:ring-slate-800 bg-slate-100 dark:bg-slate-900 px-6 py-8 space-y-6 flex flex-col rounded-2xl shadow overflow-hidden"><div class="flex-shrink-0"><div class="lf-player-container"><div id="lottie" style="background:transparent;margin:0 auto;outline:none;overflow:hidden;height:70px;width:70px"></div></div></div><div class="flex-1 flex flex-col justify-between"><div class="flex-1"><div class="block mt-2"><p class="text-xl text-center font-semibold">Open Data Portals and Platforms</p><p class="mt-3 text-base text-center opacity-75">A Data Portal is a gateway to data. CKAN and PortalJS has been used to build many of the world’s leading open data portals ranging from national governments like data.gov to regional or city portals like London’s, Boston’s and Montreal’s.</p></div></div></div></div><div class="ring-1 ring-slate-200 dark:ring-slate-800 bg-slate-100 dark:bg-slate-900 px-6 py-8 space-y-6 flex flex-col rounded-2xl shadow overflow-hidden"><div class="flex-shrink-0"><div class="lf-player-container"><div id="lottie" style="background:transparent;margin:0 auto;outline:none;overflow:hidden;height:70px;width:70px"></div></div></div><div class="flex-1 flex flex-col justify-between"><div class="flex-1"><div class="block mt-2"><p class="text-xl text-center font-semibold">Data Catalog &amp; Metadata Management</p><p class="mt-3 text-base text-center opacity-75">PortalJS provides everything you need in a modern, enterprise grade data catalog. Built on CKAN, the mature feature-rich open-source data catalog continuously refined for more than a decade.</p></div></div></div></div><div class="ring-1 ring-slate-200 dark:ring-slate-800 bg-slate-100 dark:bg-slate-900 px-6 py-8 space-y-6 flex flex-col rounded-2xl shadow overflow-hidden"><div class="flex-shrink-0"><div class="lf-player-container"><div id="lottie" style="background:transparent;margin:0 auto;outline:none;overflow:hidden;height:70px;width:70px"></div></div></div><div class="flex-1 flex flex-col justify-between"><div class="flex-1"><div class="block mt-2"><p class="text-xl text-center font-semibold">Data Lake (house)</p><p class="mt-3 text-base text-center opacity-75">Build your data lake on an open, sustainable and agile foundation. Our open architecture and tooling helps you build data lakes that can adapt and scale with your needs, integrating diverse tooling into a coherent whole.</p></div></div></div></div><div class="ring-1 ring-slate-200 dark:ring-slate-800 bg-slate-100 dark:bg-slate-900 px-6 py-8 space-y-6 flex flex-col rounded-2xl shadow overflow-hidden"><div class="flex-shrink-0"><div class="lf-player-container"><div id="lottie" style="background:transparent;margin:0 auto;outline:none;overflow:hidden;height:70px;width:70px"></div></div></div><div class="flex-1 flex flex-col justify-between"><div class="flex-1"><div class="block mt-2"><p class="text-xl text-center font-semibold">Data Management Infrastructure</p><p class="mt-3 text-base text-center opacity-75">Develop a robust and powerful framework for managing data, for organizing data, for data engineering. It provides the basic systems, structures and patterns for organizations to enable and scale the flow of data within their enterprise.</p></div></div></div></div></div></div></div><div class="mx-auto max-w-7xl px-4 sm:px-8 xl:px-12 mb-20 lg:my-20"><section class="flex flex-col lg:flex-row gap-10 items-center lg:items-start "><div class="flex flex-col items-center lg:items-start "><h2 class="text-4xl font-semibold tracking-tight mb-10 text-center lg:text-start font-semibold dark:text-white max-w-sm shrink-0">Frequently Asked Questions</h2><a href="https://portaljs.com/faq" title="Explore more FAQs" class="inline-block items-center justify-center px-4 py-2 border text-base font-medium text-center rounded border-secondary hover:bg-secondary-hover hover:text-black text-secondary text-sm">Explore more FAQs</a></div><div class=" flex flex-col space-y-6"><div class="max-w-2xl" data-headlessui-state=""><button class="flex justify-between w-full px-4 py-2 text-lg font-medium text-left dark:text-white focus:outline-none focus-visible:ring focus-visible:ring-primary-500 focus-visible:ring-opacity-75 text-2xl p-10 group " id="headlessui-disclosure-button-:R8psv6:" type="button" aria-expanded="false" data-headlessui-state=""><span class="group-hover:text-blue-400 transition">What is PortalJS Cloud?</span><svg class=" w-5 h-5 dark:text-white" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true"><path fill-rule="evenodd" d="M10 12a1 1 0 01-.7-.29l-4-4a1 1 0 111.42-1.42L10 10.59l3.29-3.3a1 1 0 111.42 1.42l-4 4a1 1 0 01-.71.29z" clip-rule="evenodd"></path></svg></button><hr class="mt-5 border-t border-gray-200 dark:border-gray-700 "/></div><div class="max-w-2xl" data-headlessui-state=""><button class="flex justify-between w-full px-4 py-2 text-lg font-medium text-left dark:text-white focus:outline-none focus-visible:ring focus-visible:ring-primary-500 focus-visible:ring-opacity-75 text-2xl p-10 group " id="headlessui-disclosure-button-:R99sv6:" type="button" aria-expanded="false" data-headlessui-state=""><span class="group-hover:text-blue-400 transition">Who is PortalJS Cloud for?</span><svg class=" w-5 h-5 dark:text-white" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true"><path fill-rule="evenodd" d="M10 12a1 1 0 01-.7-.29l-4-4a1 1 0 111.42-1.42L10 10.59l3.29-3.3a1 1 0 111.42 1.42l-4 4a1 1 0 01-.71.29z" clip-rule="evenodd"></path></svg></button><hr class="mt-5 border-t border-gray-200 dark:border-gray-700 "/></div><div class="max-w-2xl" data-headlessui-state=""><button class="flex justify-between w-full px-4 py-2 text-lg font-medium text-left dark:text-white focus:outline-none focus-visible:ring focus-visible:ring-primary-500 focus-visible:ring-opacity-75 text-2xl p-10 group " id="headlessui-disclosure-button-:R9psv6:" type="button" aria-expanded="false" data-headlessui-state=""><span class="group-hover:text-blue-400 transition">How long does it take to set up a PortalJS Cloud instance?</span><svg class=" w-5 h-5 dark:text-white" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true"><path fill-rule="evenodd" d="M10 12a1 1 0 01-.7-.29l-4-4a1 1 0 111.42-1.42L10 10.59l3.29-3.3a1 1 0 111.42 1.42l-4 4a1 1 0 01-.71.29z" clip-rule="evenodd"></path></svg></button><hr class="mt-5 border-t border-gray-200 dark:border-gray-700 "/></div><div class="max-w-2xl" data-headlessui-state=""><button class="flex justify-between w-full px-4 py-2 text-lg font-medium text-left dark:text-white focus:outline-none focus-visible:ring focus-visible:ring-primary-500 focus-visible:ring-opacity-75 text-2xl p-10 group " id="headlessui-disclosure-button-:Ra9sv6:" type="button" aria-expanded="false" data-headlessui-state=""><span class="group-hover:text-blue-400 transition">Do I need technical expertise to use PortalJS Cloud?</span><svg class=" w-5 h-5 dark:text-white" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true"><path fill-rule="evenodd" d="M10 12a1 1 0 01-.7-.29l-4-4a1 1 0 111.42-1.42L10 10.59l3.29-3.3a1 1 0 111.42 1.42l-4 4a1 1 0 01-.71.29z" clip-rule="evenodd"></path></svg></button><hr class="mt-5 border-t border-gray-200 dark:border-gray-700 "/></div><div class="max-w-2xl" data-headlessui-state=""><button class="flex justify-between w-full px-4 py-2 text-lg font-medium text-left dark:text-white focus:outline-none focus-visible:ring focus-visible:ring-primary-500 focus-visible:ring-opacity-75 text-2xl p-10 group " id="headlessui-disclosure-button-:Rapsv6:" type="button" aria-expanded="false" data-headlessui-state=""><span class="group-hover:text-blue-400 transition">Can I migrate from another data portal platform like Socrata, DKAN, or OpenDataSoft?</span><svg class=" w-5 h-5 dark:text-white" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true"><path fill-rule="evenodd" d="M10 12a1 1 0 01-.7-.29l-4-4a1 1 0 111.42-1.42L10 10.59l3.29-3.3a1 1 0 111.42 1.42l-4 4a1 1 0 01-.71.29z" clip-rule="evenodd"></path></svg></button><hr class="mt-5 border-t border-gray-200 dark:border-gray-700 "/></div><div class="max-w-2xl" data-headlessui-state=""><button class="flex justify-between w-full px-4 py-2 text-lg font-medium text-left dark:text-white focus:outline-none focus-visible:ring focus-visible:ring-primary-500 focus-visible:ring-opacity-75 text-2xl p-10 group " id="headlessui-disclosure-button-:Rb9sv6:" type="button" aria-expanded="false" data-headlessui-state=""><span class="group-hover:text-blue-400 transition">How does the AI Metadata Generation feature work?</span><svg class=" w-5 h-5 dark:text-white" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true"><path fill-rule="evenodd" d="M10 12a1 1 0 01-.7-.29l-4-4a1 1 0 111.42-1.42L10 10.59l3.29-3.3a1 1 0 111.42 1.42l-4 4a1 1 0 01-.71.29z" clip-rule="evenodd"></path></svg></button><hr class="mt-5 border-t border-gray-200 dark:border-gray-700 "/></div><div class="max-w-2xl" data-headlessui-state=""><button class="flex justify-between w-full px-4 py-2 text-lg font-medium text-left dark:text-white focus:outline-none focus-visible:ring focus-visible:ring-primary-500 focus-visible:ring-opacity-75 text-2xl p-10 group " id="headlessui-disclosure-button-:Rbpsv6:" type="button" aria-expanded="false" data-headlessui-state=""><span class="group-hover:text-blue-400 transition">Can I integrate PortalJS Cloud with other platforms?</span><svg class=" w-5 h-5 dark:text-white" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true"><path fill-rule="evenodd" d="M10 12a1 1 0 01-.7-.29l-4-4a1 1 0 111.42-1.42L10 10.59l3.29-3.3a1 1 0 111.42 1.42l-4 4a1 1 0 01-.71.29z" clip-rule="evenodd"></path></svg></button><hr class="mt-5 border-t border-gray-200 dark:border-gray-700 "/></div><div class="max-w-2xl" data-headlessui-state=""><button class="flex justify-between w-full px-4 py-2 text-lg font-medium text-left dark:text-white focus:outline-none focus-visible:ring focus-visible:ring-primary-500 focus-visible:ring-opacity-75 text-2xl p-10 group " id="headlessui-disclosure-button-:Rc9sv6:" type="button" aria-expanded="false" data-headlessui-state=""><span class="group-hover:text-blue-400 transition">Does PortalJS Cloud support data visualizations?</span><svg class=" w-5 h-5 dark:text-white" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true"><path fill-rule="evenodd" d="M10 12a1 1 0 01-.7-.29l-4-4a1 1 0 111.42-1.42L10 10.59l3.29-3.3a1 1 0 111.42 1.42l-4 4a1 1 0 01-.71.29z" clip-rule="evenodd"></path></svg></button><hr class="mt-5 border-t border-gray-200 dark:border-gray-700 "/></div><div class="max-w-2xl" data-headlessui-state=""><button class="flex justify-between w-full px-4 py-2 text-lg font-medium text-left dark:text-white focus:outline-none focus-visible:ring focus-visible:ring-primary-500 focus-visible:ring-opacity-75 text-2xl p-10 group " id="headlessui-disclosure-button-:Rcpsv6:" type="button" aria-expanded="false" data-headlessui-state=""><span class="group-hover:text-blue-400 transition">What happens if I need a custom feature?</span><svg class=" w-5 h-5 dark:text-white" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true"><path fill-rule="evenodd" d="M10 12a1 1 0 01-.7-.29l-4-4a1 1 0 111.42-1.42L10 10.59l3.29-3.3a1 1 0 111.42 1.42l-4 4a1 1 0 01-.71.29z" clip-rule="evenodd"></path></svg></button><hr class="mt-5 border-t border-gray-200 dark:border-gray-700 "/></div><div class="max-w-2xl" data-headlessui-state=""><button class="flex justify-between w-full px-4 py-2 text-lg font-medium text-left dark:text-white focus:outline-none focus-visible:ring focus-visible:ring-primary-500 focus-visible:ring-opacity-75 text-2xl p-10 group " id="headlessui-disclosure-button-:Rd9sv6:" type="button" aria-expanded="false" data-headlessui-state=""><span class="group-hover:text-blue-400 transition">How do I get started with PortalJS Cloud?</span><svg class=" w-5 h-5 dark:text-white" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true"><path fill-rule="evenodd" d="M10 12a1 1 0 01-.7-.29l-4-4a1 1 0 111.42-1.42L10 10.59l3.29-3.3a1 1 0 111.42 1.42l-4 4a1 1 0 01-.71.29z" clip-rule="evenodd"></path></svg></button></div></div></section></div><div class="relative pt-12 pb-10 px-4 sm:px-6 lg:px-8" id="contact"><div class="relative max-w-7xl mx-auto"><div class="text-center"><h2 class="text-4xl font-semibold tracking-tight ">Contact us</h2><h3 class="text-lg opacity-75 mt-3">Get the answers you need today. Join thousands of happy customers.</h3></div><div class="flex justify-center mt-6 max-w-lg mx-auto"><a href="https://calendar.app.google/6XkK592GCZBxuxy28" title="Schedule a free call" class="inline-block items-center justify-center px-4 py-2 border text-base font-medium text-center rounded border-transparent bg-secondary hover:bg-secondary-hover text-black ">Schedule a free call</a></div></div></div><div class="relative pt-16 pb-16 px-4 sm:px-6 lg:px-8" id="contact"><div class="relative max-w-7xl mx-auto flex flex-col items-center"><div class="text-center"><h2 class="text-4xl font-semibold tracking-tight ">Community</h2><h3 class="text-lg opacity-75 mt-3">We are growing. Get in touch or become a contributor!</h3></div><div class="flex flex-col md:flex-row justify-center mt-12 mx-auto gap-14 md:items-stretch items-center"><div class="h-auto flex flex-col justify-between relative w-full p-6 bg-slate-100 dark:bg-slate-900 shadow-lg rounded-2xl ring-1 ring-slate-200 dark:ring-slate-800 text-center"><div class="flex justify-center -mt-10"><div class="bg-yellow-100 text-yellow-500 p-4 rounded-full shadow-md"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon" width="40"><path fill-rule="evenodd" d="M10.788 3.21c.448-1.077 1.976-1.077 2.424 0l2.082 5.006 5.404.434c1.164.093 1.636 1.545.749 2.305l-4.117 3.527 1.257 5.273c.271 1.136-.964 2.033-1.96 1.425L12 18.354 7.373 21.18c-.996.608-2.231-.29-1.96-1.425l1.257-5.273-4.117-3.527c-.887-.76-.415-2.212.749-2.305l5.404-.434 2.082-5.005Z" clip-rule="evenodd"></path></svg></div></div><p class="opacity-80 text-sm mt-2">This repository is shining bright with:</p><p class="text-5xl font-bold text-yellow-500 mt-4"></p><h2 class="mt-4 text-2xl font-bold">Stars</h2><p class="opacity-70 text-sm mt-4">Thank you for your support! 🌟</p></div><div class="h-auto flex flex-col justify-between relative w-full p-6 bg-slate-100 dark:bg-slate-900 shadow-lg rounded-2xl ring-1 ring-slate-200 dark:ring-slate-800 text-center"><div class="flex justify-center -mt-10"><div class="bg-blue-100 text-blue-500 p-4 rounded-full shadow-md"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon" width="40"><path d="M4.5 6.375a4.125 4.125 0 1 1 8.25 0 4.125 4.125 0 0 1-8.25 0ZM14.25 8.625a3.375 3.375 0 1 1 6.75 0 3.375 3.375 0 0 1-6.75 0ZM1.5 19.125a7.125 7.125 0 0 1 14.25 0v.003l-.001.119a.75.75 0 0 1-.363.63 13.067 13.067 0 0 1-6.761 1.873c-2.472 0-4.786-.684-6.76-1.873a.75.75 0 0 1-.364-.63l-.001-.122ZM17.25 19.128l-.001.144a2.25 2.25 0 0 1-.233.96 10.088 10.088 0 0 0 5.06-1.01.75.75 0 0 0 .42-.643 4.875 4.875 0 0 0-6.957-4.611 8.586 8.586 0 0 1 1.71 5.157v.003Z"></path></svg></div></div><p class="opacity-80 text-sm mt-2">Incredible developers contributing their brilliance:</p><p class="text-5xl font-bold text-blue-500 mt-4"></p><h2 class="mt-4 text-2xl font-bold">Contributors</h2><p class="opacity-70 text-sm mt-4">Join the team and make an impact! 👩‍💻👨‍💻</p></div></div></div></div></div><div class="hidden xl:sticky xl:right-0 xl:top-[4.5rem] xl:block xl:h-[calc(100vh-4.5rem)] xl:flex-none xl:overflow-y-auto xl:py-16 xl:mb-16 "></div></div></div><footer class="bg-background dark:bg-background-dark text-primary dark:text-primary-dark" aria-labelledby="footer-heading"><h2 id="footer-heading" class="sr-only">Footer</h2><div class="mx-auto max-w-7xl px-4 sm:px-8 xl:px-12 mx-auto pb-8 pt-10 sm:pt-16 lg:pt-24"><div class="xl:grid xl:grid-cols-3 xl:gap-24"><div class="space-y-8"><div class="-mx-1"> <a title="Homepage" aria-label="Home page" class="flex items-center font-extrabold text-xl sm:text-2xl" href="/"><span class="text-primary dark:text-white">🌀 PortalJS</span></a></div><p class="text-sm leading-6 opacity-75 max-w-md xl:max-w-none">PortalJS Cloud is the simplest way of getting started with Open Data for governments, non-profits, academics and companies of all sizes.</p><div class="flex space-x-6"><a href="https://www.linkedin.com/company/10340373/" target="_blank" class="opacity-75 hover:opacity-100" aria-label="link to Linkedin"><span class="sr-only">Linkedin</span><svg class="w-6 h-6" focusable="false" aria-hidden="true" viewBox="0 0 24 24" data-testid="LinkedInIcon" fill="currentColor"><path d="M19 3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h14m-.5 15.5v-5.3a3.26 3.26 0 0 0-3.26-3.26c-.85 0-1.84.52-2.32 1.3v-1.11h-2.79v8.37h2.79v-4.93c0-.77.62-1.4 1.39-1.4a1.4 1.4 0 0 1 1.4 1.4v4.93h2.79M6.88 8.56a1.68 1.68 0 0 0 1.68-1.68c0-.93-.75-1.69-1.68-1.69a1.69 1.69 0 0 0-1.69 1.69c0 .93.76 1.68 1.69 1.68m1.39 9.94v-8.37H5.5v8.37h2.77z"></path></svg></a><a href="https://twitter.com/datopian" target="_blank" class="opacity-75 hover:opacity-100" aria-label="link to X"><span class="sr-only">X</span><svg class="w-6 h-6" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" version="1.1" fill="currentColor"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"></path></svg></a><a href="https://github.com/datopian" target="_blank" class="opacity-75 hover:opacity-100" aria-label="link to GitHub"><span class="sr-only">GitHub</span><svg fill="currentColor" viewBox="0 0 24 24" class="h-6 w-6" aria-hidden="true"><path fill-rule="evenodd" d="M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z" clip-rule="evenodd"></path></svg></a><a href="https://www.youtube.com/@datopian1413" target="_blank" class="opacity-75 hover:opacity-100" aria-label="link to YouTube"><span class="sr-only">YouTube</span><svg fill="currentColor" viewBox="0 0 24 24" class="h-6 w-6" aria-hidden="true"><path fill-rule="evenodd" d="M19.812 5.418c.861.23 1.538.907 1.768 1.768C21.998 8.746 22 12 22 12s0 3.255-.418 4.814a2.504 2.504 0 0 1-1.768 1.768c-1.56.419-7.814.419-7.814.419s-6.255 0-7.814-.419a2.505 2.505 0 0 1-1.768-1.768C2 15.255 2 12 2 12s0-3.255.417-4.814a2.507 2.507 0 0 1 1.768-1.768C5.744 5 11.998 5 11.998 5s6.255 0 7.814.418ZM15.194 12 10 15V9l5.194 3Z" clip-rule="evenodd"></path></svg></a></div></div><div class="mt-16 grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 gap-8 xl:col-span-2 xl:mt-0"><div class="mt-10 md:mt-0"><h3 class="text-sm font-semibold leading-6">Support</h3><ul role="list" class="mt-6 space-y-4"><li><a href="/pricing" target="_self" class="text-sm leading-6 opacity-75 hover:opacity-100" aria-label="link to Pricing">Pricing</a></li><li><a href="https://www.datopian.com/contact" target="_self" class="text-sm leading-6 opacity-75 hover:opacity-100" aria-label="link to Contact">Contact</a></li><li><a href="https://www.datopian.com/learn/faq" target="_self" class="text-sm leading-6 opacity-75 hover:opacity-100" aria-label="link to FAQ">FAQ</a></li><li><a href="https://portaljs.org/resources" target="_blank" class="text-sm leading-6 opacity-75 hover:opacity-100" aria-label="link to Documentation">Documentation</a></li></ul></div><div class="mt-10 md:mt-0"><h3 class="text-sm font-semibold leading-6">Company</h3><ul role="list" class="mt-6 space-y-4"><li><a href="https://www.datopian.com/about" target="_self" class="text-sm leading-6 opacity-75 hover:opacity-100">About Us</a></li><li><a href="https://portaljs.org/blog" target="_self" class="text-sm leading-6 opacity-75 hover:opacity-100">Blog</a></li></ul></div><div class="mt-10 md:mt-0"><h3 class="text-sm font-semibold leading-6">Legal</h3><ul role="list" class="mt-6 space-y-4"><li><a href="https://www.datopian.com/privacy" target="_self" class="text-sm leading-6 opacity-75 hover:opacity-100">Privacy Policy</a></li><li><a href="https://www.datopian.com/terms" target="_self" class="text-sm leading-6 opacity-75 hover:opacity-100">Terms of Use</a></li></ul></div></div></div><div class="mt-16 border-t border-white/10 pt-8 sm:mt-20 lg:mt-24"><a class="flex items-center justify-center" href="https://datopian.com/" title="Datopian Website" target="_blank" rel="noopener noreferrer">Built by<!-- --> <img src="/static/img/datopian-logo-white.svg" alt="Datopian Logo" title="Datopian" class="h-20 ml-2 hidden dark:block"/><img src="/static/img/datopian-logo.png" alt="Datopian Logo" title="Datopian" class="h-8 ml-4 dark:hidden"/></a></div></div></footer></div><script id="__NEXT_DATA__" type="application/json" crossorigin="">{"props":{"pageProps":{}},"page":"/","query":{},"buildId":"oSCCQKx2OH5vB76p0UoMW","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>

Pages: 1 2 3 4 5 6 7 8 9 10