CINXE.COM
Tigris | Globally Distributed S3-Compatible Object Storage
<!DOCTYPE html><!-- Last Published: Fri Nov 22 2024 05:01:18 GMT+0000 (Coordinated Universal Time) --><html data-wf-domain="site.tigrisdata.com" data-wf-page="657988158c7fb30f4d9ef36e" data-wf-site="657988158c7fb30f4d9ef37b" lang="en"><head><meta charset="utf-8"/><title>Tigris | Globally Distributed S3-Compatible Object Storage</title><meta content="Tigris is a globally distributed S3-compatible object storage service that provides low latency anywhere in the world, enabling developers to store and access any amount of data for a wide range of use cases." name="description"/><meta content="Tigris | Globally Distributed S3-Compatible Object Storage" property="og:title"/><meta content="Tigris is a globally distributed S3-compatible object storage service that provides low latency anywhere in the world, enabling developers to store and access any amount of data for a wide range of use cases." property="og:description"/><meta content="https://cdn.prod.website-files.com/657988158c7fb30f4d9ef37b/657b24420e7ec0b495b6f4c0_shared-image.jpg" property="og:image"/><meta content="Tigris | Globally Distributed S3-Compatible Object Storage" property="twitter:title"/><meta content="Tigris is a globally distributed S3-compatible object storage service that provides low latency anywhere in the world, enabling developers to store and access any amount of data for a wide range of use cases." property="twitter:description"/><meta content="https://cdn.prod.website-files.com/657988158c7fb30f4d9ef37b/657b24420e7ec0b495b6f4c0_shared-image.jpg" property="twitter:image"/><meta property="og:type" content="website"/><meta content="summary_large_image" name="twitter:card"/><meta content="width=device-width, initial-scale=1" name="viewport"/><meta content="noindex" name="robots"/><link href="https://cdn.prod.website-files.com/657988158c7fb30f4d9ef37b/css/tigris-website.webflow.8ed59c018.css" rel="stylesheet" type="text/css"/><script type="text/javascript">!function(o,c){var n=c.documentElement,t=" w-mod-";n.className+=t+"js",("ontouchstart"in o||o.DocumentTouch&&c instanceof DocumentTouch)&&(n.className+=t+"touch")}(window,document);</script><link href="https://cdn.prod.website-files.com/657988158c7fb30f4d9ef37b/657b2682769a09df632dc99e_favicon.jpg" rel="shortcut icon" type="image/x-icon"/><link href="https://cdn.prod.website-files.com/657988158c7fb30f4d9ef37b/657b2687fb1a7d8154bb40ae_webclip.jpg" rel="apple-touch-icon"/><!-- NAVIGATION --> <style> .w-nav-overlay{ overflow:visible; } .c_navigation_1--menu::-webkit-scrollbar { display: none; } .c_navigation_1--menu { -ms-overflow-style: none; scrollbar-width: none; } .c_navigation_1{ border-bottom: 1px solid transparent; } .is--nav_scrolled{ background-color: var(--token--surface-1); border-bottom: 1px solid var(--token--border-1); } </style> <script> window.addEventListener('scroll', function() { const navigation = document.querySelector('.c_navigation_1'); if (window.scrollY > 0) { navigation.classList.add('is--nav_scrolled'); } else { navigation.classList.remove('is--nav_scrolled'); } }); </script><!-- Prism.js - code snippets--> <script defer src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.27.0/prism.min.js"></script> <!-- plugin Autoloader - code snippets- --> <script defer src=" https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js"></script> <!-- plugin Line Numbers - code snippets- --> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.27.0/plugins/line-numbers/prism-line-numbers.min.css" /> <script defer src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.27.0/plugins/line-numbers/prism-line-numbers.min.js"></script> <!-- Posthog - code snippets- --> <script> !function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.async=!0,p.src=s.api_host+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="capture identify alias people.set people.set_once set_config register register_once unregister opt_out_capturing has_opted_out_capturing opt_in_capturing reset isFeatureEnabled onFeatureFlags getFeatureFlag getFeatureFlagPayload reloadFeatureFlags group updateEarlyAccessFeatureEnrollment getEarlyAccessFeatures getActiveMatchingSurveys getSurveys getNextSurveyStep".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]); posthog.init('phc_6a2zd9w9hGzIqYl527bL4dXk3Wz8J9pEHyXTwP1hHq4',{api_host:'https://us.i.posthog.com', person_profiles: 'identified_only'}) </script> <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=AW-10936031125"> </script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'AW-10936031125'); </script></head><body><div class="sl_page_wrap"><div class="sl_wrap_embed"><div class="sl_embed_variables w-embed"><style> :root{ /*RADIUS*/ --radius-pill-s: 5rem; --radius-pill-m: 5rem; --radius-tab: 6.25rem; --radius-input: 0.75rem; --radius-icon: 0.5rem; --radius-card-s: 1rem; --radius-card-m: 1.5rem; --radius-card-l: 2rem; --radius-cta-m: 0.75rem; --radius-cta-s: 0.5rem; /*TEXTS*/ --title-xl: 3.5rem; --title-l: 2.5rem; --title-m: 2rem; --title-s: 1.25rem; --body-l: 1.5rem; --body-m: 1.25rem; --body-s: 1rem; --body-xs: 0.875rem; --label-s: 1rem; --label-m: 1.25rem; --link-m: 1rem; --link-s: 0.875rem; /*PADDING*/ --padding-icon: 0.5rem 0.5rem; --padding-pill: 0.375rem 0.75rem; --padding-pill-m:0.75rem 1rem; --padding-tab: 0.75rem 1rem; --padding-card-s: 1rem 1rem; --padding-input: 0.9375rem 1.25rem; --padding-card-m: 2rem 2rem; --padding-card-l: 4rem 4rem; --padding-cta-m: 1rem 1.25rem; --padding-cta-s: 0.75rem 1rem; /*SPACER*/ --spacer-section-hero:10rem; --spacer-section-l:7.5rem; --spacer-section-m:5rem; --spacer-section-s:3rem; --spacer-element-l:4rem; --spacer-element-m:5rem; --spacer-element-s:2rem; --spacer-element-xs:1rem; --spacer-text-l:1.5rem; --spacer-text-m:1.25rem; --spacer-text-s:1rem; --spacer-text-xs:0.5rem; --spacer-cta-m:2rem; --spacer-cta-s:1.5rem; } @media screen and (max-width: 667px) { :root{ /*RADIUS*/ --radius-pill-s: 5rem; --radius-pill-m: 5rem; --radius-tab: 6.25rem; --radius-input: 0.75rem; --radius-icon: 0.5rem; --radius-card-s: 0.75rem; --radius-card-m: 1rem; --radius-card-l: 1.5rem; --radius-cta-m: 0.75rem; --radius-cta-s: 0.5rem; /*TEXTS*/ --title-xl: 2.5rem; --title-l: 2rem; --title-m: 1.75rem; --title-s: 1.25rem; --body-l: 1.25rem; --body-m: 1rem; --body-s: 0.875rem; --body-xs: 0.75rem; --label-s: 0.75rem; --label-m: 1rem; --link-m: 1rem; --link-s: 0.875rem; /*PADDING*/ --padding-icon: 0.5rem 0.5rem; --padding-pill-s: 0.375rem 0.75rem; --padding-pill-m:0.75rem 1rem; --padding-tab: 0.75rem 1rem; --padding-card-s: 1rem 1rem; --padding-input: 0.9375rem 1.25rem; --padding-card-m: 2rem 1.5rem; --padding-card-l: 4rem 1.5rem; --padding-cta-m: 1rem 1.25rem; --padding-cta-s: 0.75rem 1rem; /*SPACER*/ --spacer-section-hero:7.5rem; --spacer-section-l:5rem; --spacer-section-m:2.5rem; --spacer-section-s:2.5rem; --spacer-element-l:2rem; --spacer-element-m:2.5rem; --spacer-element-s:1rem; --spacer-element-xs:1rem; --spacer-text-l:1.5rem; --spacer-text-m:1.25rem; --spacer-text-s:1rem; --spacer-text-xs:0.5rem; --spacer-cta-m:1.5rem; --spacer-cta-s:1rem; } } </style></div><div class="sl_embed_global w-embed"><style> /* GLOBAL */ body { font-smoothing: antialiased; -webkit-font-smoothing: antialiased; } body { overscroll-behavior: none; } h1, h2, h3, h4, h5, h6, p { margin-top: 0; margin-bottom: 0;} .sl_page_wrap{overflow: clip;} svg { transform: unset !important;} h1 {text-wrap:balance;} .w-richtext > *:first-child { margin-top: 0; } .w-richtext > *:last-child { margin-bottom: 0; } .w-embed {position: relative;} html.wf-design-mode .sl_wrap_code_snippet .w-embed{ max-height:34rem; overflow:hidden; background:var(--token--surface-3); color:var(--token--text-1); } /* ANIMATION */ .sl_cta_primary:hover .sl_cta_icn, .sl_cta_secondary:hover .sl_cta_icn,.sl_cta_tertiary:hover .sl_cta_icn{transform: rotate(45deg);} /* ICON */ [class*="icn"] svg{width:100%!important;height:100%!important;} [class*="icn"] *{fill:currentColor!important;} [class*="sl_icn_l"]{width:3.5rem; height:3.5rem} [class*="sl_icn_m"]{width:2rem; height:2rem} [class*="sl_icn_s"]{width:1.5rem; height:1.5rem} [class*="sl_icn_xs"]{width:1rem; height:1rem} /* TITLES*/ h1,h2,h3,h4,h5,h6,[class*="title"]{ line-height:1.2; font-family:var(--font-family--ff1); font-weight:600; font-variation-settings: 'wght' 600; } h1, [class*="title_xl"]{font-size:var(--title-xl); font-weight:500; font-variation-settings: 'wght' 600;} h2, [class*="title_l"]{font-size:var(--title-l);} h3, [class*="title_m"]{font-size:var(--title-m);} h4, [class*="title_s"]{font-size:var(--title-s);} /* BODY*/ p,[class*="body"]{ line-height:1.4; font-family:var(--font-family--ff2); } [class*="body_l_1"],[class*="body_m_1"],[class*="body_s_1"],[class*="body_xs_1"]{font-weight:400;font-variation-settings: 'wght' 400;} [class*="body_l_2"],[class*="body_m_2"],[class*="body_s_2"],[class*="body_xs_2"]{font-weight:700;font-variation-settings: 'wght' 700;} [class*="body_l"]{font-size:var(--body-l);} p,[class*="body_m"]{font-size:var(--body-m);} [class*="body_s"]{font-size:var(--body-s);} [class*="body_xs"]{font-size:var(--body-xs);} /* LABEL */ [class*="label"]{text-transform: uppercase;font-weight:600;font-variation-settings: 'wght' 600;} [class*="label_m"]{font-size:var(--label-m);} [class*="label_s"]{font-size:var(--label-s);} /* LINKS & BUTTONS */ a,[class*="link"],[class*="cta"]{font-weight:600;font-variation-settings: 'wght' 600;} [class*="cta"],[class*="link_m"]{font-size:var(--link-m);} [class*="link_s"]{font-size:var(--link-s);} </style></div><div class="sl_embed_atoms w-embed"><style> ul,ol{grid-row-gap: var(--spacer-text-m);} .sl_list_item [class*="sl_icn"]{margin-top:1%;} [class*="sl_pill_s"]{ border-radius:var(--radius-pill-s); padding:var(--padding-pill-s); } [class*="sl_pill_m"]{ border-radius:var(--radius-pill-m); padding:var(--padding-pill-m); } [class*="sl_tab_link"]{ border-radius:var(--radius-tab); padding:var(--padding-tab); } [class*="sl_input"]{ border-radius:var(--radius-input); padding:var(--padding-input); } [class*="sl_wrap_icon"]{ border-radius:var(--radius-icon); padding:var(--padding-icon); } .sl_cta_primary, .sl_cta_secondary{ border-radius:var(--radius-cta-m); padding:var(--padding-cta-m); } [class*="cta_small"]{ border-radius:var(--radius-cta-s); padding:var(--padding-cta-s); } [class*="cta_icon"]{ border-radius:var(--radius-cta-s); } [class*="card_s"]{ border-radius:var(--radius-card-s); padding:var(--padding-card-s); } [class*="card_m"]{ border-radius:var(--radius-card-m); padding:var(--padding-card-m); } [class*="card_l"]{ border-radius:var(--radius-card-l); padding:var(--padding-card-l); } </style></div><div class="sl_embed_modifiers w-embed"><style> /*MODIFIER RADiUS*/ [class*="r-card-m"]{border-radius:var(--radius-card-m)} /*MODIFIER FONT WEIGHT*/ [class*="fw-1"]{font-weight:400;font-variation-settings: 'wght' 400;} [class*="fw-2"]{font-weight:700;font-variation-settings: 'wght' 700;} /*MODIFIER COLORS*/ [class*="c-txt1"]{color:var(--token--text-1);} [class*="c-txt2"]{color:var(--token--text-2);} [class*="c-txt3"]{color:var(--token--text-3);} [class*="c-ac1"]{color:var(--token--accent-1);} [class*="c-ac2"]{color:var(--token--accent-2);} /*MODIFIER SPACER*/ .is--s-sct-hero{padding-bottom:var(--spacer-section-hero);} .is--s-sct-l{padding-bottom:var(--spacer-section-l);} .is--s-sct-m{padding-bottom:var(--spacer-section-m);} .is--s-sct-s{padding-bottom:var(--spacer-section-s);} .is--s-el-l{padding-bottom:var(--spacer-element-l);} .is--s-el-m{padding-bottom:var(--spacer-element-m);} .is--s-el-s{padding-bottom:var(--spacer-element-s);} .is--s-el-xs{padding-bottom:var(--spacer-element-xs);} .is--s-txt-l{padding-bottom:var(--spacer-text-l);} .is--s-txt-m{padding-bottom:var(--spacer-text-m);} .is--s-txt-s{padding-bottom:var(--spacer-text-s);} .is--s-txt-xs{padding-bottom:var(--spacer-text-xs);} .is--s-cta-m{padding-bottom:var(--spacer-cta-m);} .is--s-cta-s{padding-bottom:var(--spacer-cta-s);} /*MODIFIER GAP*/ [class*="gap-el-l"]{grid-row-gap:var(--spacer-element-l);} .is--gap-t-s-el-l{grid-row-gap:var(--spacer-element-l);} .is--gap-t-s-el-m{grid-row-gap:var(--spacer-element-m);} .is--gap-t-s-el-s{grid-row-gap:var(--spacer-element-s);} .is--gap-t-s-el-xs{grid-row-gap:var(--spacer-element-xs);} .is--gap-t-s-txt-l{grid-row-gap:var(--spacer-text-l);} .is--gap-t-s-txt-m{grid-row-gap:var(--spacer-text-m);} .is--gap-t-s-txt-s{grid-row-gap:var(--spacer-text-s);} .is--gap-t-s-txt-xs{grid-row-gap:var(--spacer-text-xs);} .is--gap-t-s-cta-m{grid-row-gap:var(--spacer-cta-m);} .is--gap-t-s-cta-s{grid-row-gap:var(--spacer-cta-s);} </style></div><div class="sl_embed_component w-embed"><style> /* TABS MENU */ [class*="tabs_menu"]::-webkit-scrollbar {display: none;} [class*="tabs_menu"] {-ms-overflow-style: none; scrollbar-width: none; } [class*="tabs_container_vertical"]::after { content: ''; position: absolute; z-index:1; right: 0; top: 0; height: 3.5rem; width: 2rem; background: linear-gradient(to right, transparent, var(--token--surface-1)); pointer-events: none; } </style></div></div><nav mode="1" class="c_navigation_1"><div data-animation="default" data-collapse="medium" data-duration="400" data-easing="ease" data-easing2="ease" role="banner" class="c_navigation_1--navbar w-nav"><div class="sl_section_padding"><div class="w-layout-blockcontainer sl_container w-container"><div class="c_navigation_1--wrap_content"><a href="/" aria-current="page" class="c_navigation_1--wrap_logo w-nav-brand w--current"><img src="https://cdn.prod.website-files.com/657988158c7fb30f4d9ef37b/657990b61fd3a5d674cf2298_tigris-logo.svg" loading="lazy" alt="" class="c_navigation_1--logo"/></a><nav role="navigation" class="c_navigation_1--wrap_menu w-nav-menu"><div class="c_navigation_1--menu"><div class="c_navigation_1--menu_wrap_links"><a href="/docs/about/" class="sl_link_s">About</a><a href="/docs/" class="sl_link_s">Docs</a><a href="/blog/" class="sl_link_s">Blog</a><a href="/docs/pricing/" class="sl_link_s">Pricing</a></div><div class="c_navigation_1--menu-wrap_buttons"><a id="w-node-_3ec25b4e-e877-26c9-8be3-81b0ecc1c7c4-ecc1c7c4" href="https://console.tigris.dev/" class="sl_cta_primary is--cta_small w-inline-block"><div>Dashboard</div></a></div></div></nav><div class="is--nav_wrap_btn_mobile"><a id="w-node-_3ec25b4e-e877-26c9-8be3-81b0ecc1c7c4-ecc1c7c4" href="/docs/get-started/" class="sl_cta_primary is--cta_small w-inline-block"><div>Get started</div></a><div class="c_navigation_1--menu_button w-nav-button"><div class="c_navigation_1--menu_button--wrap_line"><div class="c_navigation_1--menu_button--line is--line_1"></div><div class="c_navigation_1--menu_button--line is--line_2"></div><div class="c_navigation_1--menu_button--line is--line_3"></div></div></div></div></div></div></div></div></nav><main class="sl_page_main"><header mode="1" class="sl_section"><div class="sl_spacer is--s-sct-hero"></div><div class="sl_section_padding"><div class="w-layout-blockcontainer sl_container w-container"><div class="sl_layout_12cols----gap-el-l"><div id="w-node-e227ffba-45e5-9635-eb53-2a5bece5732d-4d9ef36e" class="sl_layout_row is--hidden-tablet"></div><div id="w-node-e227ffba-45e5-9635-eb53-2a5bece5732e-4d9ef36e" class="sl_layout_row"><div class="sl_flex_dvct"><div class="sl_spacer is--s-txt-l"><h1 class="sl_title_xl">Globally Distributed <br/>S3-Compatible <span class="is--color_gradient_1">Object Storage</span></h1></div><div class="sl_spacer is--s-cta-m"><p class="sl_body_m_1">Tigris is a globally distributed S3-compatible object storage service that provides low latency anywhere in the world, enabling developers to store and access any amount of data for a wide range of use cases.</p></div><div class="sl_wrap_cta"><a id="w-node-a8927444-41de-1fb7-ae5a-9ab0670594e0-670594e0" href="/docs/get-started/" class="sl_cta_primary w-inline-block"><div>Get started</div></a></div><div class="sl_spacer is--s-el-l"></div><div class="sl_wrap_image"><div class="c_hero_animation"><div class="c_hero_animation--lottie" data-w-id="9f281feb-4639-b752-0a39-119f2625178c" data-animation-type="lottie" data-src="https://cdn.prod.website-files.com/657988158c7fb30f4d9ef37b/659bdcea1ae9f6bdde8bead8_Tigris%20Hero.lottie" data-loop="1" data-direction="1" data-autoplay="1" data-is-ix2-target="0" data-renderer="canvas" data-default-duration="5" data-duration="0"></div><img src="https://cdn.prod.website-files.com/657988158c7fb30f4d9ef37b/6582a4f8d777a7f9c79bee68_Globally%20Distributed%20S3-compatible.webp" loading="eager" alt="globally distributed S3-compatible object storage" class="c_hero_animation--image"/><div class="c_hero_animation--overlay"></div></div></div><div class="sl_spacer is--s-el-xs"></div><div class="c_social_proof-2"><p class="sl_body_l_2--c-txt1">Trusted by</p><img loading="lazy" src="https://cdn.prod.website-files.com/657988158c7fb30f4d9ef37b/6668ec8150a3f7758eff8932_fly.io.svg" alt="Fly.io logo" class="c_social_proof--logo-2"/><img sizes="(max-width: 479px) 72.2421875px, (max-width: 767px) 15vw, 86.6875px" srcset="https://cdn.prod.website-files.com/657988158c7fb30f4d9ef37b/6668ed1733070da9cf0f107e_logo-playground-p-500.png 500w, https://cdn.prod.website-files.com/657988158c7fb30f4d9ef37b/6668ed1733070da9cf0f107e_logo-playground.png 563w" alt="Playground logo" src="https://cdn.prod.website-files.com/657988158c7fb30f4d9ef37b/6668ed1733070da9cf0f107e_logo-playground.png" loading="lazy" class="c_social_proof--logo-2"/><img loading="lazy" src="https://cdn.prod.website-files.com/657988158c7fb30f4d9ef37b/66f1ba75d79e2a22d971c268_logo-fal-v2.svg" alt="Fal logo" class="c_social_proof--logo-2"/><img loading="lazy" src="https://cdn.prod.website-files.com/657988158c7fb30f4d9ef37b/66994b54a9422c379d7ef285_logo-amplified.svg" alt="Amplified logo" class="c_social_proof--logo-2"/><img loading="lazy" src="https://cdn.prod.website-files.com/657988158c7fb30f4d9ef37b/66994b559bcc6d74e1615bd1_logo-beam.svg" alt="Beam logo" class="c_social_proof--logo-2"/><img sizes="(max-width: 479px) 72.2421875px, (max-width: 767px) 15vw, 86.6875px" srcset="https://cdn.prod.website-files.com/657988158c7fb30f4d9ef37b/6668ed39affdc2a33fb0d111_logo-qw-p-500.png 500w, https://cdn.prod.website-files.com/657988158c7fb30f4d9ef37b/6668ed39affdc2a33fb0d111_logo-qw.png 565w" alt="Quickwit logo" src="https://cdn.prod.website-files.com/657988158c7fb30f4d9ef37b/6668ed39affdc2a33fb0d111_logo-qw.png" loading="lazy" class="c_social_proof--logo-2"/><img loading="lazy" src="https://cdn.prod.website-files.com/657988158c7fb30f4d9ef37b/6668ec8150a3f7758eff892e_logo-arcjet.svg" alt="Arcjet logo" class="c_social_proof--logo-2"/><img loading="lazy" src="https://cdn.prod.website-files.com/657988158c7fb30f4d9ef37b/67400ffe3a57eb9082856532_logo-krea.svg" alt="Krea logo" class="c_social_proof--logo-2"/></div></div></div></div></div></div><div class="sl_spacer is--s-sct-m"></div><div class="c_hero--gradient"></div></header><section id="features" mode="1" class="sl_section"><div class="sl_spacer is--s-sct-m"></div><div class="sl_section_padding"><div class="w-layout-blockcontainer sl_container w-container"><div class="sl_layout_12cols----gap-el-l"><div id="w-node-_9b9dc8ff-06fa-84f8-aafa-9500420d9443-4d9ef36e" class="sl_layout_row is--hidden-tablet"></div><div id="w-node-_9b9dc8ff-06fa-84f8-aafa-9500420d9444-4d9ef36e" class="sl_layout_row"><div class="sl_flex_dvct_mvlt"><div class="sl_spacer"><h2 class="sl_title_l">Run multi-cloud AI workloads globally without worrying about <span class="is--color_gradient_1">Storage Placement or Performance.</span></h2></div></div></div></div><div class="sl_spacer is--s-el-m"></div><div class="sl_layout_12cols----gap-el-l"><div id="w-node-_9b9dc8ff-06fa-84f8-aafa-9500420d9453-4d9ef36e" class="sl_layout_row"><div class="sl_flex_dvlc"><div class="sl_spacer is--s-el-xs"><img src="https://cdn.prod.website-files.com/657988158c7fb30f4d9ef37b/657993eb88a1dafb64d27644_Single%20Global%20Endpoint.svg" loading="lazy" alt="Single Global Endpoint" class="sl_icn_l"/></div><div class="sl_spacer is--s-txt-xs"><p class="sl_title_s">Store Data Near Users</p></div><div class="sl_spacer"><p class="sl_body_s_1">Data stored close to the users automatically ensuring low latency everywhere.</p></div></div></div><div id="w-node-_71a20924-dcff-d36f-0e69-d8586fbc3e58-4d9ef36e" class="sl_layout_row"><div class="sl_flex_dvlc"><div class="sl_spacer is--s-el-xs"><img src="https://cdn.prod.website-files.com/657988158c7fb30f4d9ef37b/657993eb49a03cb306ec7ecd_S3%20Compatible%20API.svg" loading="lazy" alt="S3 Compatible API" class="sl_icn_l"/></div><div class="sl_spacer is--s-txt-xs"><p class="sl_title_s">S3 Compatible API</p></div><div class="sl_spacer"><p class="sl_body_s_1">Global and fast object storage with familiar AWS S3 tools, libraries, and extensions.</p></div></div></div><div id="w-node-_6fc1e1a8-790d-0b1a-6854-031c7b39842f-4d9ef36e" class="sl_layout_row"><div class="sl_flex_dvlc"><div class="sl_spacer is--s-el-xs"><img src="https://cdn.prod.website-files.com/657988158c7fb30f4d9ef37b/657993eb87a7f9e5b11a73a7_Fast%20Small%20Object%20Retrieval.svg" loading="lazy" alt="Fast Small Object Retrieval" class="sl_icn_l"/></div><div class="sl_spacer is--s-txt-xs"><p class="sl_title_s">Fast Small Object Retrieval</p></div><div class="sl_spacer"><p class="sl_body_s_1">Access small objects at close to Redis speed, ensuring swift, efficient retrieval.</p></div></div></div><div id="w-node-_0f681b25-5a3d-bb5c-9ce8-c767de90cf94-4d9ef36e" class="sl_layout_row"><div class="sl_flex_dvlc"><div class="sl_spacer is--s-el-xs"><img src="https://cdn.prod.website-files.com/657988158c7fb30f4d9ef37b/657993ebb7012ce767bb1ae9_Store%20Data%20Near%20Users.svg" loading="lazy" alt="Store Data Near Users" class="sl_icn_l"/></div><div class="sl_spacer is--s-txt-xs"><p class="sl_title_s">Zero Egress Fees</p></div><div class="sl_spacer"><p class="sl_body_s_1">Free data egress ensures seamless and unrestricted access to your data whenever you need it.</p></div></div></div></div></div></div><div class="sl_spacer is--s-sct-m"></div></section><section mode="1" class="sl_section"><div class="sl_spacer is--s-sct-m"></div><div class="sl_section_padding"><div class="w-layout-blockcontainer sl_container w-container"><div class="sl_layout_12cols----gap-el-l"><div id="w-node-a6734418-e558-0d43-d0d8-fd5d9834c557-4d9ef36e" class="sl_layout_row"><div class="sl_flex_dvlc"><div data-current="Tab 1" data-easing="ease" data-duration-in="0" data-duration-out="0" class="c_code_1--tabs_container_vertical w-tabs"><div class="c_code_1--tabs_menu w-tab-menu"><a data-w-tab="Tab 1" class="sl_tab_link w-inline-block w-tab-link w--current"><div class="sl_link_m">Node.js</div></a><a data-w-tab="Tab 2" class="sl_tab_link w-inline-block w-tab-link"><div class="sl_link_m">Ruby</div></a><a data-w-tab="Tab 3" class="sl_tab_link w-inline-block w-tab-link"><div class="sl_link_m">Python</div></a><a data-w-tab="Tab 4" class="sl_tab_link w-inline-block w-tab-link"><div class="sl_link_m">Go</div></a></div><div class="c_code_1--tabs_content w-tab-content"><div data-w-tab="Tab 1" class="c_code_1--tab_pane w-tab-pane w--tab-active"><div class="sl_spacer is--s-el-xs"></div><div class="sl_wrap_code_snippet"><div class="w-embed"><pre class="line-numbers"><code class="language-javascript">import { S3Client } from "@aws-sdk/client-s3"; import { Upload } from "@aws-sdk/lib-storage"; import fs from "fs"; const client = new S3Client({ region: "auto", endpoint: "https://fly.storage.tigris.dev", }); const fileStream = fs.createReadStream("Docker.dmg"); (async () => { const upload = new Upload({ params: { Bucket: "foo-bucket", Key: "Docker-100.dmg", Body: fileStream, }, client: client, }); await upload.done(); })();</code></pre></div></div></div><div data-w-tab="Tab 2" class="c_code_1--tab_pane w-tab-pane"><div class="sl_spacer is--s-el-xs"></div><div class="sl_wrap_code_snippet"><div class="w-embed"><pre class="line-numbers"><code class="language-ruby">require "aws-sdk" bucket_name = "foo-bucket" s3 = Aws::S3::Client.new( region: "auto", endpoint: "https://fly.storage.tigris.dev", ) # List the first ten objects in the bucket resp = s3.list_objects(bucket: 'foo-bucket', max_keys: 10) resp.contents.each do |object| puts "#{object.key} => #{object.etag}" end # Put an object into the bucket file_name = "bar-file-#{Time.now.to_i}" begin s3.put_object( bucket: bucket_name, key: file_name, body: File.read("bar.txt") ) puts "Uploaded #{file_name} to #{bucket_name}." rescue Exception => e puts "Failed to upload #{file_name} with error: #{e.message}" exit "Please fix error with file upload before continuing." end</code></pre></div></div></div><div data-w-tab="Tab 3" class="c_code_1--tab_pane w-tab-pane"><div class="sl_spacer is--s-el-xs"></div><div class="sl_wrap_code_snippet"><div class="w-embed"><pre class="line-numbers"><code class="language-python">import boto3 # Create S3 service client svc = boto3.client('s3', endpoint_url='https://fly.storage.tigris.dev') # List buckets response = svc.list_buckets() for bucket in response['Buckets']: print(f' {bucket["Name"]}') # List objects response = svc.list_objects_v2(Bucket='foo-bucket') for obj in response['Contents']: print(f' {obj["Key"]}') # Upload file response = svc.upload_file('bar.txt', 'foo-bucket', 'bar.txt') # Download file response = svc.download_file('foo-bucket', 'bar.txt', 'bar-downloaded.txt')</code></pre></div></div></div><div data-w-tab="Tab 4" class="c_code_1--tab_pane w-tab-pane"><div class="sl_spacer is--s-el-xs"></div><div class="sl_wrap_code_snippet"><div class="w-embed"><pre class="line-numbers"><code class="language-go">package main import ( "context" "log" "os" "github.com/aws/aws-sdk-go-v2/aws" "github.com/aws/aws-sdk-go-v2/config" "github.com/aws/aws-sdk-go-v2/service/s3" ) func main() { sdkConfig, err := config.LoadDefaultConfig(context.TODO()) if err != nil { log.Printf("Couldn't load default configuration. Here's why: %v\n", err) return } // Create S3 service client svc := s3.NewFromConfig(sdkConfig, func(o *s3.Options) { o.BaseEndpoint = aws.String("https://fly.storage.tigris.dev") }) file, err := os.Open("bar.txt") if err != nil { log.Printf("Couldn't open file to upload. Here's why: %v\n", err) return } else { defer file.Close() _, err = svc.PutObject(context.TODO(), &s3.PutObjectInput{ Bucket: aws.String("foo-bucket"), Key: aws.String("bar.txt"), Body: file, }) if err != nil { log.Printf("Couldn't upload file. Here's why: %v\n", err) } } }</code></pre></div></div></div></div></div></div></div><div id="w-node-a6734418-e558-0d43-d0d8-fd5d9834c55b-4d9ef36e" class="sl_layout_row is--hidden-tablet"></div><div id="w-node-a6734418-e558-0d43-d0d8-fd5d9834c55c-4d9ef36e" class="sl_layout_row"><div class="sl_flex_dvlc"><div class="sl_spacer is--s-txt-m"><h2 class="sl_title_m">Global Reach, Familiar S3聽API</h2></div><div class="sl_spacer is--s-txt-l"><p class="sl_body_m_1">Leverage our S3-compatible API for a seamless transition and enhanced object storage experience.</p></div><div class="sl_spacer"><ul role="list" class="sl_list w-list-unstyled"><li class="sl_list_item"><div class="sl_icn_s--c-ac1 w-embed"><svg width="24" height="25" viewBox="0 0 24 25" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M20.7071 5.79289C21.0976 6.18342 21.0976 6.81658 20.7071 7.20711L9.70711 18.2071C9.31658 18.5976 8.68342 18.5976 8.29289 18.2071L3.29289 13.2071C2.90237 12.8166 2.90237 12.1834 3.29289 11.7929C3.68342 11.4024 4.31658 11.4024 4.70711 11.7929L9 16.0858L19.2929 5.79289C19.6834 5.40237 20.3166 5.40237 20.7071 5.79289Z" fill="#FDA886"/> </svg></div><p class="sl_body_m_2--c-txt1">Ensures your data is available everywhere you need it, without geographical limitations.</p></li><li class="sl_list_item"><div class="sl_icn_s--c-ac1 w-embed"><svg width="24" height="25" viewBox="0 0 24 25" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M20.7071 5.79289C21.0976 6.18342 21.0976 6.81658 20.7071 7.20711L9.70711 18.2071C9.31658 18.5976 8.68342 18.5976 8.29289 18.2071L3.29289 13.2071C2.90237 12.8166 2.90237 12.1834 3.29289 11.7929C3.68342 11.4024 4.31658 11.4024 4.70711 11.7929L9 16.0858L19.2929 5.79289C19.6834 5.40237 20.3166 5.40237 20.7071 5.79289Z" fill="#FDA886"/> </svg></div><p class="sl_body_m_2--c-txt1">Seamlessly integrates with existing applications via standard AWS S3 SDKs and libraries.</p></li><li class="sl_list_item"><div class="sl_icn_s--c-ac1 w-embed"><svg width="24" height="25" viewBox="0 0 24 25" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M20.7071 5.79289C21.0976 6.18342 21.0976 6.81658 20.7071 7.20711L9.70711 18.2071C9.31658 18.5976 8.68342 18.5976 8.29289 18.2071L3.29289 13.2071C2.90237 12.8166 2.90237 12.1834 3.29289 11.7929C3.68342 11.4024 4.31658 11.4024 4.70711 11.7929L9 16.0858L19.2929 5.79289C19.6834 5.40237 20.3166 5.40237 20.7071 5.79289Z" fill="#FDA886"/> </svg></div><p class="sl_body_m_2--c-txt1">Provides free data egress ensuring seamless access to your data when and where you need it.</p></li></ul></div></div></div></div></div></div><div class="sl_spacer is--s-sct-m"></div></section><section mode="1" class="sl_section"><div class="sl_spacer is--s-sct-m"></div><div class="sl_section_padding"><div class="w-layout-blockcontainer sl_container w-container"><div class="sl_layout_12cols----gap-el-l"><div id="w-node-_6c370a92-403c-c7cf-5673-a40b5f271364-4d9ef36e" class="sl_layout_row"><div class="sl_flex_dvlc"><div class="sl_spacer is--s-txt-m"><h2 class="sl_title_m">Quickly and easily migrate data from other cloud providers</h2></div><div class="sl_spacer"><p class="sl_body_m_1">Transparently migrate the data from an existing S3-compatible storage to Tigris without any downtime. Start serving frequently accessed objects from Tigris without waiting for full migration.</p><div class="sl_spacer is--s-cta-m"></div></div><a id="w-node-_84fe5753-4e44-a266-06eb-e7e1035a3ff9-035a3ff9" href="/docs/migration/" class="sl_cta_secondary w-inline-block"><div>Migration Documentation</div></a></div></div><div id="w-node-_6c370a92-403c-c7cf-5673-a40b5f271388-4d9ef36e" class="sl_layout_row is--hidden-tablet"></div><div id="w-node-_6c370a92-403c-c7cf-5673-a40b5f271389-4d9ef36e" class="sl_layout_row"><div class="sl_flex_dvlc"><div class="sl_wrap_image"><div class="sl_image--r-card-m is--ratio_1_1" data-w-id="e57706db-462c-9b4c-bdaa-f7ce7f1cf633" data-animation-type="lottie" data-src="https://cdn.prod.website-files.com/657988158c7fb30f4d9ef37b/66996abc05f9a202f9974f2b_migration.json" data-loop="1" data-direction="1" data-autoplay="1" data-is-ix2-target="0" data-renderer="canvas" data-default-duration="3.336669867431323" data-duration="0"></div></div></div></div></div></div></div><div class="sl_spacer is--s-sct-m"></div></section><section mode="1" class="sl_section"><div class="sl_spacer is--s-sct-m"></div><div class="sl_section_padding"><div class="w-layout-blockcontainer sl_container w-container"><div class="sl_layout_12cols----gap-el-l"><div id="w-node-_61f0363f-d9c7-5691-a5d8-9c8dfda0eaa3-4d9ef36e" class="sl_layout_row"><div class="sl_flex_dvlc"><div class="sl_spacer"><h2 class="sl_title_l">It's Easy to <span class="is--color_gradient_1">Get聽Going</span></h2></div></div></div></div><div class="sl_spacer is--s-el-m"></div><div id="w-node-_9e81516c-cd05-e410-42f1-d7cf5c404b78-4d9ef36e" class="c_timeline_1--wrapper"><div class="c_timeline_1--line"></div><div id="w-node-_9e81516c-cd05-e410-42f1-d7cf5c404b7a-4d9ef36e" class="c_timeline_1--wrap_content"><div class="sl_wrap_icon"><img loading="lazy" src="https://cdn.prod.website-files.com/657988158c7fb30f4d9ef37b/6668f2be15c42ec43c9f31fb_user-check-01.svg" alt="user icon" class="sl_icn_s--c-ac1"/></div><div id="w-node-_9e81516c-cd05-e410-42f1-d7cf5c404b7d-4d9ef36e" class="sl_layout_12cols----gap-el-l"><div id="w-node-_9e81516c-cd05-e410-42f1-d7cf5c404b7e-4d9ef36e" class="sl_layout_row"><div class="sl_flex_dvlt"><div class="sl_spacer is--s-txt-m"><h2 class="sl_title_m">Signup for an account</h2></div><div class="sl_spacer is--s-cta-m"><p class="sl_body_m_1">To use Tigris, you need a <a href="https://fly.io/app/sign-up" target="_blank">Fly.io</a> account. If you don鈥檛 already have one, you can get yourself one <a href="https://fly.io/app/sign-up" target="_blank">here</a>.</p></div><div class="sl_wrap_cta"><a id="w-node-_84fe5753-4e44-a266-06eb-e7e1035a3ff9-035a3ff9" href="https://fly.io/app/sign-up/tigris" class="sl_cta_secondary w-inline-block"><div>Signup</div></a></div></div></div><div id="w-node-_9e81516c-cd05-e410-42f1-d7cf5c404b9d-4d9ef36e" class="sl_layout_row is--hidden-tablet"></div><div id="w-node-_9e81516c-cd05-e410-42f1-d7cf5c404b9e-4d9ef36e" class="sl_layout_row"><div class="sl_flex_dvlc"><div class="sl_wrap_image"><img src="https://cdn.prod.website-files.com/657988158c7fb30f4d9ef37b/657995eb7afa43671e56b08f_Log%20in.webp" loading="lazy" alt="Log in to your Tigris account" class="sl_image--r-card-m"/></div></div></div></div></div><div class="sl_spacer is--s-el-m"></div><div class="c_timeline_1--wrap_content"><div class="sl_wrap_icon"><div class="sl_icn_s--c-ac1 w-embed"><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M8.70711 4.29289C9.09763 4.68342 9.09763 5.31658 8.70711 5.70711L3.41421 11L8.70711 16.2929C9.09763 16.6834 9.09763 17.3166 8.70711 17.7071C8.31658 18.0976 7.68342 18.0976 7.29289 17.7071L1.29289 11.7071C0.902369 11.3166 0.902369 10.6834 1.29289 10.2929L7.29289 4.29289C7.68342 3.90237 8.31658 3.90237 8.70711 4.29289ZM15.2929 4.29289C15.6834 3.90237 16.3166 3.90237 16.7071 4.29289L22.7071 10.2929C23.0976 10.6834 23.0976 11.3166 22.7071 11.7071L16.7071 17.7071C16.3166 18.0976 15.6834 18.0976 15.2929 17.7071C14.9024 17.3166 14.9024 16.6834 15.2929 16.2929L20.5858 11L15.2929 5.70711C14.9024 5.31658 14.9024 4.68342 15.2929 4.29289Z" fill="#62FEB5"/> </svg></div></div><div id="w-node-_24f3842c-ede4-6937-37b5-511f8900a4ea-4d9ef36e" class="sl_layout_12cols----gap-el-l"><div id="w-node-_24f3842c-ede4-6937-37b5-511f8900a4eb-4d9ef36e" class="sl_layout_row"><div class="sl_flex_dvlt"><div class="sl_spacer is--s-txt-m"><h2 class="sl_title_m">Create a bucket</h2></div><div class="sl_spacer is--s-cta-m"><p class="sl_body_m_1">Every object in Tigris is stored in a bucket. Before you can store data in Tigris, you have to <a href="/docs/get-started/#2-create-a-bucket">create a bucket</a>. Buckets are global, and we automatically store the data close to your users. If your users move to a different region, the data moves with them.</p></div><div class="sl_wrap_cta"><a id="w-node-_84fe5753-4e44-a266-06eb-e7e1035a3ff9-035a3ff9" href="https://console.tigris.dev/createbucket" class="sl_cta_secondary w-inline-block"><div>Create Bucket</div></a></div></div></div><div id="w-node-_24f3842c-ede4-6937-37b5-511f8900a4fc-4d9ef36e" class="sl_layout_row is--hidden-tablet"></div><div id="w-node-_24f3842c-ede4-6937-37b5-511f8900a4fd-4d9ef36e" class="sl_layout_row"><div class="sl_flex_dvlc"><div class="sl_wrap_image"><img src="https://cdn.prod.website-files.com/657988158c7fb30f4d9ef37b/657995eb9101e0ddb450072d_Create%20a%20bucket.webp" loading="lazy" alt="Create a bucket" class="sl_image--r-card-m"/></div></div></div></div></div><div class="sl_spacer is--s-el-m"></div><div class="c_timeline_1--wrap_content"><div class="sl_wrap_icon"><img loading="lazy" src="https://cdn.prod.website-files.com/657988158c7fb30f4d9ef37b/6668f28e887819966861af84_cursor-click-01.svg" alt="click icon" class="sl_icn_s--c-ac1"/></div><div id="w-node-_2c3dce43-dd81-7bd9-6176-f125f5de5938-4d9ef36e" class="sl_layout_12cols----gap-el-l"><div id="w-node-_2c3dce43-dd81-7bd9-6176-f125f5de5939-4d9ef36e" class="sl_layout_row"><div class="sl_flex_dvlt"><div class="sl_spacer is--s-txt-m"><h2 class="sl_title_m">Start building</h2></div><div class="sl_spacer is--s-cta-m"><p class="sl_body_m_1">Now that you have created a bucket, you are ready to store objects in it. An object can be any kind of file: a text file, a photo, a video and so on. Choose from a wide range of S3 tools, libraries, and extensions.</p></div><a id="w-node-_84fe5753-4e44-a266-06eb-e7e1035a3ff9-035a3ff9" href="/docs/sdks/s3/" class="sl_cta_secondary w-inline-block"><div>SDK Docs</div></a></div></div><div id="w-node-_2c3dce43-dd81-7bd9-6176-f125f5de594a-4d9ef36e" class="sl_layout_row is--hidden-tablet"></div><div id="w-node-_2c3dce43-dd81-7bd9-6176-f125f5de594b-4d9ef36e" class="sl_layout_row"><div class="sl_flex_dvlc"><div class="sl_wrap_image"><img src="https://cdn.prod.website-files.com/657988158c7fb30f4d9ef37b/657995eb49a03cb306edbee6_Start%20building.webp" loading="lazy" alt="Start building" class="sl_image--r-card-m"/></div></div></div></div></div></div></div></div><div class="sl_spacer is--s-sct-m"></div></section><section id="Usage" mode="1" class="sl_section"><div class="sl_spacer is--s-sct-m"></div><div class="sl_section_padding"><div class="w-layout-blockcontainer sl_container w-container"><div class="sl_layout_12cols----gap-el-l"><div id="w-node-dab6cf3f-08c9-1350-7fe4-64f814d99f30-4d9ef36e" class="sl_layout_row is--hidden-tablet"></div><div id="w-node-dab6cf3f-08c9-1350-7fe4-64f814d99f31-4d9ef36e" class="sl_layout_row"><div class="sl_flex_dvct_mvlt"><div class="sl_spacer"><h2 class="sl_title_l">Usage in <span class="is--color_gradient_1">Numbers.</span></h2></div></div></div></div><div class="sl_spacer is--s-cta-s"></div><div id="w-node-dab6cf3f-08c9-1350-7fe4-64f814d99f39-4d9ef36e" class="w-layout-layout sl_stats wf-layout-layout"><div id="w-node-dab6cf3f-08c9-1350-7fe4-64f814d99f3a-4d9ef36e" class="w-layout-cell"><div id="w-node-dab6cf3f-08c9-1350-7fe4-64f814d99f3b-4d9ef36e" class="is--color_gradient_back"><div id="w-node-dab6cf3f-08c9-1350-7fe4-64f814d99f3c-4d9ef36e" class="sl_card_m-2 card_static"><div class="sl_wrap_icon-2 sl_wrap_icon_tightly"><img loading="lazy" src="https://cdn.prod.website-files.com/657988158c7fb30f4d9ef37b/6668f860da9f43f3eaa29d33_icon-storage.svg" alt=""/></div><div class="w-layout-hflex stat-row"><div id="w-node-dab6cf3f-08c9-1350-7fe4-64f814d99f40-4d9ef36e" class="sl_title_m fix-1px">1PB+</div><div class="sl_body_m_1">of storage</div></div></div></div></div><div id="w-node-dab6cf3f-08c9-1350-7fe4-64f814d99f44-4d9ef36e" class="w-layout-cell"><div id="w-node-dab6cf3f-08c9-1350-7fe4-64f814d99f45-4d9ef36e" class="is--color_gradient_back"><div id="w-node-dab6cf3f-08c9-1350-7fe4-64f814d99f46-4d9ef36e" class="sl_card_m-2 card_static"><div class="sl_wrap_icon-2 sl_wrap_icon_tightly"><img loading="lazy" src="https://cdn.prod.website-files.com/657988158c7fb30f4d9ef37b/6668f860da9f43f3eaa29d23_icon-obj.svg" alt=""/></div><div class="w-layout-hflex stat-row"><div id="w-node-dab6cf3f-08c9-1350-7fe4-64f814d99f4a-4d9ef36e" class="sl_title_m fix-1px">1B+</div><div class="sl_body_m_1">objects</div></div></div></div></div><div id="w-node-dab6cf3f-08c9-1350-7fe4-64f814d99f4e-4d9ef36e" class="w-layout-cell"><div id="w-node-dab6cf3f-08c9-1350-7fe4-64f814d99f4f-4d9ef36e" class="is--color_gradient_back"><div id="w-node-dab6cf3f-08c9-1350-7fe4-64f814d99f50-4d9ef36e" class="sl_card_m-2 card_static"><div class="sl_wrap_icon-2 sl_wrap_icon_tightly"><img loading="lazy" src="https://cdn.prod.website-files.com/657988158c7fb30f4d9ef37b/6668f85fda9f43f3eaa29cfb_icon-requests.svg" alt=""/></div><div class="w-layout-hflex stat-row"><div id="w-node-dab6cf3f-08c9-1350-7fe4-64f814d99f54-4d9ef36e" class="sl_title_m fix-1px">250M+</div><div class="sl_body_m_1">requests per day</div></div></div></div></div><div id="w-node-dab6cf3f-08c9-1350-7fe4-64f814d99f58-4d9ef36e" class="w-layout-cell"><div id="w-node-dab6cf3f-08c9-1350-7fe4-64f814d99f59-4d9ef36e" class="is--color_gradient_back"><div id="w-node-dab6cf3f-08c9-1350-7fe4-64f814d99f5a-4d9ef36e" class="sl_card_m-2 card_static"><div class="sl_wrap_icon-2 sl_wrap_icon_tightly"><img loading="lazy" src="https://cdn.prod.website-files.com/657988158c7fb30f4d9ef37b/6668f85fda9f43f3eaa29d0b_icon-bucket.svg" alt=""/></div><div class="w-layout-hflex stat-row"><div id="w-node-dab6cf3f-08c9-1350-7fe4-64f814d99f5e-4d9ef36e" class="sl_title_m fix-1px">1K+</div><div class="sl_body_m_1">buckets</div></div></div></div></div></div></div></div><div class="sl_spacer is--s-sct-m"></div></section><section id="FAQ" mode="1" class="sl_section"><div class="sl_spacer is--s-sct-m"></div><div class="sl_section_padding"><div class="w-layout-blockcontainer sl_container w-container"><div class="sl_layout_12cols----gap-el-l"><div id="w-node-_0dbc4d5c-c561-9c84-5a9b-b72935e2fe27-4d9ef36e" class="sl_layout_row"><div class="sl_flex_dvlt"><div class="sl_spacer"><h2 class="sl_title_l"><strong>Knowledge Hub</strong></h2></div></div></div><div id="w-node-_0dbc4d5c-c561-9c84-5a9b-b72935e2fe3d-4d9ef36e" class="sl_layout_row is--hidden-tablet"></div><div id="w-node-_0dbc4d5c-c561-9c84-5a9b-b72935e2fe3e-4d9ef36e" class="sl_layout_row"><div class="sl_flex_dvlt"><div class="sl_faq_item"><div class="sl_faq_item--wrap_question"><div class="sl_spacer is--s-txt-m"></div><div class="sl_faq_item--question"><p class="sl_title_s">How does Tigris ensure data accessibility around the world?</p><div class="sl_faq_item--icn w-embed"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M4.41009 6.91076C4.73553 6.58533 5.26317 6.58533 5.5886 6.91076L9.99935 11.3215L14.4101 6.91076C14.7355 6.58533 15.2632 6.58533 15.5886 6.91076C15.914 7.2362 15.914 7.76384 15.5886 8.08928L10.5886 13.0893C10.2632 13.4147 9.73553 13.4147 9.41009 13.0893L4.41009 8.08928C4.08466 7.76384 4.08466 7.2362 4.41009 6.91076Z" fill="#1F1F1F"/> </svg></div></div><div class="sl_spacer is--s-txt-m"></div></div><div class="sl_faq_item--wrap_answer"><div class="sl_faq_item--answer"><p class="sl_body_m_1">In Tigris, buckets are inherently global entities. This means that the objects within your bucket are stored in the region where the initial requests are made. To optimize performance and reduce latency, these objects are intelligently distributed to other regions based on the access patterns observed over time.</p></div></div></div><div class="sl_spacer is--s-el-xs"></div><div class="sl_faq_item"><div class="sl_faq_item--wrap_question"><div class="sl_spacer is--s-txt-m"></div><div class="sl_faq_item--question"><p class="sl_title_s">Tell me more about the S3-compatible API. How does it work?</p><div class="sl_faq_item--icn w-embed"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M4.41009 6.91076C4.73553 6.58533 5.26317 6.58533 5.5886 6.91076L9.99935 11.3215L14.4101 6.91076C14.7355 6.58533 15.2632 6.58533 15.5886 6.91076C15.914 7.2362 15.914 7.76384 15.5886 8.08928L10.5886 13.0893C10.2632 13.4147 9.73553 13.4147 9.41009 13.0893L4.41009 8.08928C4.08466 7.76384 4.08466 7.2362 4.41009 6.91076Z" fill="#1F1F1F"/> </svg></div></div><div class="sl_spacer is--s-txt-m"></div></div><div class="sl_faq_item--wrap_answer"><div class="sl_faq_item--answer"><p class="sl_body_m_1">Tigris is compatible with the AWS S3 API. This means that you can use the standard AWS S3 SDKs, tool and libraries with Tigris. See the <a href="/docs/api/s3/">S3 API Compatibility</a> section in our docs for more details. We also have <a href="/docs/sdks/s3/">language specific guides</a> on how to use the AWS S3 SDKs with Tigris.</p></div></div></div><div class="sl_spacer is--s-el-xs"></div><div class="sl_faq_item"><div class="sl_faq_item--wrap_question"><div class="sl_spacer is--s-txt-m"></div><div class="sl_faq_item--question"><p class="sl_title_s">How do I signup and get access to Tigris?</p><div class="sl_faq_item--icn w-embed"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M4.41009 6.91076C4.73553 6.58533 5.26317 6.58533 5.5886 6.91076L9.99935 11.3215L14.4101 6.91076C14.7355 6.58533 15.2632 6.58533 15.5886 6.91076C15.914 7.2362 15.914 7.76384 15.5886 8.08928L10.5886 13.0893C10.2632 13.4147 9.73553 13.4147 9.41009 13.0893L4.41009 8.08928C4.08466 7.76384 4.08466 7.2362 4.41009 6.91076Z" fill="#1F1F1F"/> </svg></div></div><div class="sl_spacer is--s-txt-m"></div></div><div class="sl_faq_item--wrap_answer"><div class="sl_faq_item--answer"><p class="sl_body_m_1">Simply sign up through the <a href="https://fly.io/app/sign-up/tigris">web console</a> or CLI. See the <a href="/docs/get-started/">Getting Started</a> section in our docs for more details.</p></div></div></div><div class="sl_spacer is--s-el-xs"></div><div class="sl_faq_item"><div class="sl_faq_item--wrap_question"><div class="sl_spacer is--s-txt-m"></div><div class="sl_faq_item--question"><p class="sl_title_s">What is Tigris pricing like?</p><div class="sl_faq_item--icn w-embed"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M4.41009 6.91076C4.73553 6.58533 5.26317 6.58533 5.5886 6.91076L9.99935 11.3215L14.4101 6.91076C14.7355 6.58533 15.2632 6.58533 15.5886 6.91076C15.914 7.2362 15.914 7.76384 15.5886 8.08928L10.5886 13.0893C10.2632 13.4147 9.73553 13.4147 9.41009 13.0893L4.41009 8.08928C4.08466 7.76384 4.08466 7.2362 4.41009 6.91076Z" fill="#1F1F1F"/> </svg></div></div><div class="sl_spacer is--s-txt-m"></div></div><div class="sl_faq_item--wrap_answer"><div class="sl_faq_item--answer"><p class="sl_body_m_1">Tigris pricing is designed so that you only pay for what you use. The pricing is based on the amount of data stored, and the number of requests made. We don't charge for regional data transfer, region-to-region data transfer, or data transfer out to the internet (egress). You can read more about our pricing and free allowance in the <a href="/docs/pricing/">Pricing guide</a>.</p></div></div></div></div></div></div></div></div><div class="sl_spacer is--s-sct-m"></div></section><section mode="1" class="sl_section"><div class="sl_spacer is--s-sct-m"></div><div class="sl_section_padding"><div class="w-layout-blockcontainer sl_container w-container"><div class="sl_card_l"><div class="sl_layout_12cols----gap-el-l"><div id="w-node-_7058d67a-b06d-ed16-ed83-78d16953174b-69531745" class="sl_layout_row is--hidden-tablet"></div><div id="w-node-_7058d67a-b06d-ed16-ed83-78d16953174c-69531745" class="sl_layout_row"><div class="sl_flex_dvct"><div class="sl_spacer is--s-cta-m"><h2 class="sl_title_l">Ready to embark on <span class="is--color_gradient_1">your聽journey with Tigris?</span></h2></div><a id="w-node-a8927444-41de-1fb7-ae5a-9ab0670594e0-670594e0" href="/get-started/" class="sl_cta_primary w-inline-block"><div>Get started</div></a></div></div></div></div></div></div><div class="sl_spacer is--s-sct-m"></div></section></main><footer mode="1" class="sl_section"><div class="sl_spacer is--s-sct-m"></div><div class="sl_section_padding"><div class="w-layout-blockcontainer sl_container w-container"><div class="sl_layout_12cols----gap-el-l"><div id="w-node-_68857e13-58e5-64c2-5281-7a4711c063ad-11c063a8" class="sl_layout_row"><div class="sl_flex_dvlt_tvct"><div class="sl_spacer is--s-txt-s"><img src="https://cdn.prod.website-files.com/657988158c7fb30f4d9ef37b/657990b61fd3a5d674cf2298_tigris-logo.svg" loading="lazy" alt="" class="c_footer_1--logo"/></div><div class="sl_spacer is--s-cta-s"><p class="sl_body_s_1">Connect with us</p></div><div class="c_footer_1--wrap_links_social"><a href="https://twitter.com/TigrisData" target="_blank" class="sl_cta_icon_secondary w-inline-block"><div class="sl_icn_s w-embed"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> <g clip-path="url(#clip0_1005_8608)"> <path d="M11.8846 8.46864L19.1232 0H17.4079L11.1226 7.3532L6.10254 0H0.3125L7.90381 11.1193L0.3125 20H2.02792L8.66536 12.2348L13.9669 20H19.7569L11.8842 8.46864H11.8846ZM9.53508 11.2173L8.76592 10.1101L2.64601 1.29968H5.2808L10.2196 8.40994L10.9888 9.51718L17.4087 18.7594H14.7739L9.53508 11.2177V11.2173Z" fill="white"/> </g> <defs> <clipPath id="clip0_1005_8608"> <rect width="20" height="20" fill="white"/> </clipPath> </defs> </svg></div></a><a href="https://www.linkedin.com/company/tigrisdata/" target="_blank" class="sl_cta_icon_secondary w-inline-block"><div class="sl_icn_s w-embed"><svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> <g clip-path="url(#clip0_1005_8613)"> <path d="M17.0415 17.0414H14.078V12.4005C14.078 11.2938 14.0583 9.86913 12.5368 9.86913C10.9932 9.86913 10.7571 11.0749 10.7571 12.3198V17.041H7.79365V7.4974H10.6385V8.80161H10.6784C11.2577 7.81122 12.3387 7.21748 13.4854 7.26006C16.489 7.26006 17.0428 9.23567 17.0428 11.8059L17.0415 17.0414ZM4.44986 6.19282H4.4495C3.50606 6.19282 2.72974 5.41659 2.72974 4.47315C2.72974 3.52972 3.50606 2.7534 4.4495 2.7534C5.39284 2.7534 6.16907 3.52954 6.16925 4.4728V4.47315C6.16925 5.41641 5.39311 6.19273 4.44986 6.19282ZM5.93156 17.0414H2.96502V7.4974H5.93156V17.0414ZM18.5189 0.00137979H1.4758C0.675772 -0.00765554 0.00975101 0.642887 0 1.44292V18.5567C0.00939317 19.3572 0.675325 20.0085 1.4758 19.9999H18.5189C19.3213 20.01 19.9896 19.3588 20.0003 18.5567V1.44175C19.9896 0.640024 19.3204 -0.0104294 18.5189 0.000126694V0.00137979Z" fill="#BAC1BE"/> </g> <defs> <clipPath id="clip0_1005_8613"> <rect width="20" height="20" fill="white"/> </clipPath> </defs> </svg></div></a></div></div></div><div id="w-node-_68857e13-58e5-64c2-5281-7a4711c063ba-11c063a8" class="sl_layout_row"><div class="sl_flex_dvlt_tvct"><div class="sl_spacer is--s-txt-l"><p class="sl_label_s--c-txt1">Resources</p></div><div class="sl_spacer is--s-txt-s"><a href="/docs/" class="sl_link_s">Docs</a></div><div class="sl_spacer is--s-txt-s"><a href="/blog/" class="sl_link_s">Blog</a></div><div class="sl_spacer is--s-txt-s"><a href="https://status.tigris.dev/" target="_blank" class="sl_link_s">Status</a></div></div></div><div id="w-node-ffc44237-35d6-1b6d-52e0-81a63354f8e7-11c063a8" class="sl_layout_row"><div class="sl_flex_dvlt_tvct"><div class="sl_spacer is--s-txt-l"><p class="sl_label_s--c-txt1">Legal</p></div><div class="sl_spacer is--s-txt-s"><a href="/docs/legal/privacy-policy/" class="sl_link_s">Privacy Policy</a></div><div class="sl_spacer is--s-txt-s"><a href="/docs/legal/service-terms/" class="sl_link_s">Terms of Service</a></div></div></div><div id="w-node-_68857e13-58e5-64c2-5281-7a4711c063b9-11c063a8" class="sl_layout_row is--hidden-tablet"><img src="https://cdn.prod.website-files.com/657988158c7fb30f4d9ef37b/66994c61aa21aaf2e3b5e9e8_img-soc-2.png" alt="Soc 2 Type 1 Compliant " sizes="(max-width: 479px) 4vw, (max-width: 767px) 6vw, (max-width: 991px) 4vw, 5vw" srcset="https://cdn.prod.website-files.com/657988158c7fb30f4d9ef37b/66994c61aa21aaf2e3b5e9e8_img-soc-2-p-500.png 500w, https://cdn.prod.website-files.com/657988158c7fb30f4d9ef37b/66994c61aa21aaf2e3b5e9e8_img-soc-2.png 800w" class="image"/></div></div><div class="sl_spacer is--s-sct-m"></div><div class="sl_layout_12cols----gap-el-l"><div id="w-node-_68857e13-58e5-64c2-5281-7a4711c063c7-11c063a8" class="sl_layout_row"><div class="sl_flex_dvlt_tvct"><p class="sl_body_s_1">Copyright @2024</p></div></div></div></div></div><div class="sl_spacer is--s-sct-s"></div></footer></div><div class="w-embed w-script"><script> !function(t){if(window.ko)return;window.ko=[],["identify","track","removeListeners","on","off","qualify","ready"].forEach(function(t){ko[t]=function(){var n=[].slice.call(arguments);return n.unshift(t),ko.push(n),ko}});var n=document.createElement("script");n.async=!0,n.setAttribute("src","https://cdn.getkoala.com/v1/pk_c720968714ac419652fe41f0ff1189016530/sdk.js"),(document.body || document.head).appendChild(n)}(); </script></div><script src="https://d3e54v103j8qbb.cloudfront.net/js/jquery-3.5.1.min.dc5e7f18c8.js?site=657988158c7fb30f4d9ef37b" type="text/javascript" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script><script src="https://cdn.prod.website-files.com/657988158c7fb30f4d9ef37b/js/webflow.52e1f2c16.js" type="module"></script><!-- Code snippets- --> <style> .sl_code_snippet--copy_container { position: absolute; z-index: 2; width: var(--size-container-icon); height: var(--size-container-icon); top: var(--position-icon); right: var(--position-icon); display: flex; justify-content: center; align-items: center; border-radius: var(--padding-icon); background: var(--token--cta-2-bg); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); color: var(--token--cta-2-text); cursor: pointer; border: 1px solid var(--token--cta-2-border); transition: background 0.3s ease; } .sl_code_snippet--copy_container:hover { background: var(--token--cta-2-bg-hover); } .sl_code_snippet--copy_icn { width: var(--size-icon); height: var(--size-icon); } pre[class*="language-"] { background: var(--token--surface-2); color: var(--token--text-1); padding: var(--padding-card-embed); margin: 0; position: relative; max-height: var(--max-height-code); } .w-embed.sl_code_snippet--embed { border-radius: var(--radius-card-m); overflow: clip; border: 1px solid var(--token--border-1); } .w-embed.sl_code_snippet--embed::after { content: ""; position: absolute; z-index: 1; top: 0; right: 0; bottom: 0; width: var(--position-icon); height: 100%; pointer-events: none; background: linear-gradient(to right, transparent, var(--token--surface-2)); } .w-embed.sl_code_snippet--embed::before { content: ""; position: absolute; z-index: 1; right: 0; bottom: 0; width: 100%; height: var(--position-icon); pointer-events: none; background: linear-gradient(to bottom, transparent, var(--token--surface-2)); } code[class*="language-"], pre[class*="language-"] { font-family: monospace; font-size: var(--text-m); line-height: 1.4; direction: ltr; text-align: left; white-space: pre; word-spacing: normal; word-break: normal; -moz-tab-size: 4; -o-tab-size: 4; tab-size: 4; -webkit-hyphens: none; -moz-hyphens: none; -ms-hyphens: none; hyphens: none; } pre[class*="language-"]::-webkit-scrollbar { display: none; } pre[class*="language-"] { -ms-overflow-style: none; scrollbar-width: none; } pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { text-shadow: none; background: rgba(var(--code-color-1), 0.1); } pre[class*="language-"]::selection, pre[class*="language-"] ::selection, code[class*="language-"]::selection, code[class*="language-"] ::selection { text-shadow: none; background: rgba(var(--code-color-1), 0.1); } :not(pre) > code[class*="language-"] { padding: 0.1em; border-radius: 0.3em; } .token.comment, .token.prolog, .token.doctype, .token.cdata, .token.punctuation { color: var(--token--text-3); } .token.namespace { opacity: 0.7; } .token.tag, .token.operator, .token.number { color: rgba(var(--code-color-2), 1); } .token.property, .token.function { color: rgba(var(--code-color-1), 0.75); } .token.tag-id, .token.selector, .token.atrule-id { color: rgba(var(--code-color-3), 0.3); } .token.attr-name { color: rgba(var(--code-color-3), 0.6); } code.language-css, code.language-scss, .token.boolean, .token.string, .token.entity, .token.url, .language-css .token.string, .language-scss .token.string, .style .token.string, .token.attr-value, .token.control, .token.directive, .token.unit, .token.statement, .token.regex, .token.atrule, .token.placeholder, .token.variable { color: rgba(var(--code-color-1), 1); } .token.keyword { color: rgba(var(--code-color-3), 1); } .token.deleted { text-decoration: line-through; } .token.inserted { border-bottom: 1px dotted rgba(var(--code-color-2), 0.3); text-decoration: none; } .token.italic { font-style: italic; } .token.important, .token.bold { font-weight: bold; } .token.important { color: rgba(var(--code-color-1), 1); } .token.entity { cursor: help; } pre > code.highlight { outline: 0.4em solid rgba(var(--code-color-2), 1); outline-offset: 0.4em; } .line-numbers.line-numbers .line-numbers-rows { border-right: 0px; left: -3rem; } .line-numbers .line-numbers-rows > span:before { color: var(--token--text-3); } </style> <!-- Code snippets- --> <script> const copyIconSVG = `<svg width="100%" height="100%" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M14.2885 2.5433C13.7744 2.5013 13.1142 2.50065 12.167 2.50065H6.25033C5.79009 2.50065 5.41699 2.12756 5.41699 1.66732C5.41699 1.20708 5.79009 0.833985 6.25033 0.833985L12.2027 0.833985C13.1058 0.833976 13.8343 0.83397 14.4242 0.882166C15.0316 0.931791 15.565 1.03663 16.0586 1.28812C16.8426 1.6876 17.4801 2.32502 17.8795 3.10902C18.131 3.6026 18.2359 4.13609 18.2855 4.74346C18.3337 5.33336 18.3337 6.06181 18.3337 6.96496V12.9173C18.3337 13.3776 17.9606 13.7507 17.5003 13.7507C17.0401 13.7507 16.667 13.3776 16.667 12.9173V7.00065C16.667 6.05348 16.6663 5.39322 16.6243 4.87918C16.5831 4.37488 16.5063 4.08514 16.3945 3.86567C16.1548 3.39527 15.7724 3.01282 15.302 2.77314C15.0825 2.66131 14.7928 2.5845 14.2885 2.5433ZM5.13487 3.75065H11.9491C12.3884 3.75064 12.7674 3.75062 13.0795 3.77613C13.409 3.80304 13.7367 3.86247 14.052 4.02314C14.5224 4.26282 14.9048 4.64527 15.1445 5.11567C15.3052 5.43099 15.3646 5.75867 15.3915 6.08813C15.417 6.40028 15.417 6.77925 15.417 7.21855V14.0328C15.417 14.4721 15.417 14.851 15.3915 15.1632C15.3646 15.4926 15.3052 15.8203 15.1445 16.1356C14.9048 16.606 14.5224 16.9885 14.052 17.2282C13.7367 17.3888 13.409 17.4483 13.0795 17.4752C12.7674 17.5007 12.3884 17.5007 11.9491 17.5007H5.13486C4.69557 17.5007 4.31661 17.5007 4.00447 17.4752C3.67502 17.4483 3.34733 17.3888 3.03202 17.2282C2.56161 16.9885 2.17916 16.606 1.93948 16.1356C1.77882 15.8203 1.71939 15.4926 1.69247 15.1632C1.66697 14.851 1.66698 14.4721 1.66699 14.0328V7.21853C1.66698 6.77924 1.66697 6.40027 1.69247 6.08813C1.71939 5.75867 1.77882 5.43099 1.93948 5.11567C2.17916 4.64527 2.56161 4.26282 3.03202 4.02314C3.34733 3.86247 3.67502 3.80304 4.00447 3.77613C4.31661 3.75062 4.69558 3.75064 5.13487 3.75065ZM4.14019 5.43726C3.9138 5.45575 3.82987 5.48715 3.78867 5.50815C3.63187 5.58804 3.50438 5.71552 3.42449 5.87233C3.40349 5.91353 3.3721 5.99746 3.3536 6.22385C3.33431 6.45996 3.33366 6.77019 3.33366 7.25065V14.0007C3.33366 14.4811 3.33431 14.7913 3.3536 15.0275C3.3721 15.2538 3.40349 15.3378 3.42449 15.379C3.50438 15.5358 3.63187 15.6633 3.78867 15.7432C3.82987 15.7641 3.9138 15.7955 4.14019 15.814C4.37631 15.8333 4.68653 15.834 5.16699 15.834H11.917C12.3975 15.834 12.7077 15.8333 12.9438 15.814C13.1702 15.7955 13.2541 15.7641 13.2953 15.7432C13.4521 15.6633 13.5796 15.5358 13.6595 15.379C13.6805 15.3378 13.7119 15.2538 13.7304 15.0275C13.7497 14.7913 13.7503 14.4811 13.7503 14.0007V7.25065C13.7503 6.77019 13.7497 6.45996 13.7304 6.22385C13.7119 5.99746 13.6805 5.91353 13.6595 5.87233C13.5796 5.71552 13.4521 5.58804 13.2953 5.50815C13.2541 5.48715 13.1702 5.45575 12.9438 5.43726C12.7077 5.41797 12.3975 5.41732 11.917 5.41732H5.16699C4.68653 5.41732 4.37631 5.41797 4.14019 5.43726Z" fill="white"/> </svg>`; const doneIconSVG = `<svg width="100%" height="100%" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M20.7071 4.29289C21.0976 4.68342 21.0976 5.31658 20.7071 5.70711L9.70711 16.7071C9.31658 17.0976 8.68342 17.0976 8.29289 16.7071L3.29289 11.7071C2.90237 11.3166 2.90237 10.6834 3.29289 10.2929C3.68342 9.90237 4.31658 9.90237 4.70711 10.2929L9 14.5858L19.2929 4.29289C19.6834 3.90237 20.3166 3.90237 20.7071 4.29289Z" fill="white"/> </svg>`; document.querySelectorAll(".w-embed").forEach((embed) => { const codeBlock = embed.querySelector("pre code"); if (codeBlock) { const container = document.createElement("div"); container.className = "sl_code_snippet--copy_container"; embed.classList.add("sl_code_snippet--embed"); const img = document.createElement("div"); img.className = "sl_code_snippet--copy_icn"; img.innerHTML = copyIconSVG; container.appendChild(img); embed.appendChild(container); container.addEventListener("click", async () => { await navigator.clipboard.writeText(codeBlock.textContent); img.innerHTML = doneIconSVG; setTimeout(() => (img.innerHTML = copyIconSVG), 1000); }); } }); </script> <style> :root { --code-color-1: 98, 254, 181; --code-color-2: 135, 226, 255; --code-color-3: 185, 172, 255; --padding-card-embed:1.25rem; --position-icon:1rem; --size-container-icon:1.625rem; --size-icon:0.875rem; --max-height-code:29.5rem; } </style></body></html>