Connect Snowflake account usage and billing data to Costory using key-pair authentication and a reusable Snowflake integration.
Snowflake billing ingestion uses a Snowflake integration you create once on the Integrations page, then attach to a billing datasource. Authentication is key-pair (RSA): Costory shows a public key for your Snowflake user; the private key is stored securely and is never returned after you save.
When Costory displays setup SQL and a generated public RSA key, copy them.
In the Snowflake console (or worksheet), run the setup SQL as a user who can alter the login for the Snowflake user Costory will use. This registers the public key for key-pair authentication.
Set the warehouse to AUTO_SUSPEND = 30 and AUTO_RESUME = TRUE so it suspends shortly after Costory queries.
Enter the Snowflake connection details Costory asks for (for example account identifier, user, role, and warehouse as shown in the stepper).
Complete validation. Costory checks access through the Snowflake SQL API before any sync is enabled.
Go to Billing > Import new billing datasource > Snowflake.
Select the Snowflake integration you created above.
Finish the stepper. Costory provisions the billing sync and starts ingesting data.
First sync timing is similar to other SaaS billing sources (on the order of minutes). See Data refresh for ongoing cadence.
What Costory includes
Usage-based cost data from Snowflake account usage (including views such as USAGE_IN_CURRENCY_DAILY), with warehouse and query history where the connector exposes them for allocation and analysis. Query tags are included when Snowflake provides them, so query-level costs appear with tag dimensions you can use to filter and group in Explorer.
What Costory does not include
Terraform automation for this datasource (use the UI only until Terraform support ships).
To remove access, delete or rotate credentials from the Costory UI and adjust Snowflake users and keys on your side. You cannot archive a Snowflake integration while an active billing datasource still references it.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Costory Documentation","colors":{"primary":"#1D3C93","light":"#305DD9","dark":"#1D3C93"},"logo":{"light":"https://mintcdn.com/costory/jdghijjvsrOsYiTC/logo/light.png?fit=max\u0026auto=format\u0026n=jdghijjvsrOsYiTC\u0026q=85\u0026s=dee63acdba91bf952855557cc5c5ec16","dark":"https://mintcdn.com/costory/jdghijjvsrOsYiTC/logo/light.png?fit=max\u0026auto=format\u0026n=jdghijjvsrOsYiTC\u0026q=85\u0026s=dee63acdba91bf952855557cc5c5ec16","href":"https://costory.io"},"favicon":"https://mintcdn.com/costory/stODLWETeKeyz7ed/favicon-new.svg?fit=max\u0026auto=format\u0026n=stODLWETeKeyz7ed\u0026q=85\u0026s=334ff5307103e4ffc0473bb6e1b9b56c","appearance":{"default":"light","strict":true},"navbar":{"links":[{"href":"https://costory.io","label":"Website"}],"primary":{"type":"button","label":"Start a free trial","href":"https://app.costory.io/welcome-demo?utm_source=get-started"}},"integrations":{"posthog":{"apiKey":"phc_jgU0iQbU4Arfu5ouKpn9YhzkTWv3P5VfW2n7sJsKR0P","apiHost":"https://user.costory.io","sessionRecording":true}},"contextual":{"options":["copy","view","chatgpt","claude","aistudio"],"display":"header"},"metadata":{"timestamp":true},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"costory","hasAudioNarration":false,"actualSubdomain":"costory","customDomains":["docs.costory.io"],"gitSource":{"type":"github","owner":"costory-io","repo":"mintlify-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true},"entitlements":{},"buildId":"6af2033088844f4e905da51d","clientVersion":"0.0.4102","searchFilterCounts":[{"language":"default","tag":"API Reference","count":124},{"language":"default","tag":"Documentation","count":70},{"language":"default","tag":"Setup","count":44},{"language":"default","tag":"Alerts V2","count":26},{"language":"default","tag":"Dashboards","count":23},{"language":"default","tag":"Billing Data","count":22},{"language":"default","tag":"Use Cases","count":17},{"language":"default","tag":"Reports","count":16},{"language":"default","tag":"Metrics Correlation","count":13},{"language":"default","tag":"Events","count":11}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"setup/billing/snowflake","slug":"/setup/billing/snowflake","pageMetadata":{"title":"Snowflake Billing Setup","description":"Connect Snowflake account usage and billing data to Costory using key-pair authentication and a reusable Snowflake integration.","href":"/setup/billing/snowflake"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Connect Snowflake account usage and billing data to Costory using key-pair authentication and a reusable Snowflake integration.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Info,Tab,Tabs}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Snowflake billing ingestion uses a `,_jsx(_components.strong,{children:`Snowflake integration`}),` you create once on the `,_jsx(_components.strong,{children:`Integrations`}),` page, then attach to a billing datasource. Authentication is `,_jsx(_components.strong,{children:`key-pair`}),` (RSA): Costory shows a `,_jsx(_components.strong,{children:`public`}),` key for your Snowflake user; the `,_jsx(_components.strong,{children:`private`}),` key is stored securely and is never returned after you save.`]}),`\n`,_jsxs(Tabs,{children:[_jsx(Tab,{title:`Terraform`,id:`terraform`,children:_jsx(_components.p,{children:`Not supported yet.`})}),_jsxs(Tab,{title:`Manual setup`,id:`manual-setup`,\"data-child-heading-ids\":`[\"1-create-the-snowflake-integration\",\"2-enable-snowflake-billing\"]`,children:[_jsx(Heading,{level:`3`,id:`1-create-the-snowflake-integration`,children:`1. Create the Snowflake integration`}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Open Costory and go to `,_jsx(_components.strong,{children:`Integrations`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Start the flow to add a `,_jsx(_components.strong,{children:`Snowflake`}),` integration.`]}),`\n`,_jsxs(_components.li,{children:[`When Costory displays `,_jsx(_components.strong,{children:`setup SQL`}),` and a generated `,_jsx(_components.strong,{children:`public RSA key`}),`, copy them.`]}),`\n`,_jsx(_components.li,{children:`In the Snowflake console (or worksheet), run the setup SQL as a user who can alter the login for the Snowflake user Costory will use. This registers the public key for key-pair authentication.`}),`\n`]}),_jsxs(_components.p,{children:[`Set the warehouse to `,_jsx(_components.code,{children:`AUTO_SUSPEND = 30`}),` and `,_jsx(_components.code,{children:`AUTO_RESUME = TRUE`}),` so it suspends shortly after Costory queries.`]}),_jsxs(_components.ol,{start:`5`,children:[`\n`,_jsx(_components.li,{children:`Enter the Snowflake connection details Costory asks for (for example account identifier, user, role, and warehouse as shown in the stepper).`}),`\n`,_jsxs(_components.li,{children:[`Complete validation. Costory checks access through the `,_jsx(_components.strong,{children:`Snowflake SQL API`}),` before any sync is enabled.`]}),`\n`]}),_jsx(Heading,{level:`3`,id:`2-enable-snowflake-billing`,children:`2. Enable Snowflake billing`}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Go to `,_jsx(_components.strong,{children:`Billing`}),` > `,_jsx(_components.strong,{children:`Import new billing datasource`}),` > `,_jsx(_components.strong,{children:`Snowflake`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Select the `,_jsx(_components.strong,{children:`Snowflake integration`}),` you created above.`]}),`\n`,_jsx(_components.li,{children:`Finish the stepper. Costory provisions the billing sync and starts ingesting data.`}),`\n`]}),_jsxs(_components.p,{children:[`First sync timing is similar to other SaaS billing sources (on the order of `,_jsx(_components.strong,{children:`minutes`}),`). See `,_jsx(_components.a,{href:`/docs/data-refresh`,children:`Data refresh`}),` for ongoing cadence.`]})]})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`What Costory includes`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Usage-based cost data`}),` from Snowflake account usage (including views such as `,_jsx(_components.strong,{children:`USAGE_IN_CURRENCY_DAILY`}),`), with `,_jsx(_components.strong,{children:`warehouse`}),` and `,_jsx(_components.strong,{children:`query`}),` history where the connector exposes them for allocation and analysis. `,_jsx(_components.strong,{children:`Query tags`}),` are included when Snowflake provides them, so query-level costs appear with tag dimensions you can use to filter and group in `,_jsx(_components.a,{href:`/features/cost-explorer`,children:`Explorer`}),`.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`What Costory does not include`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Terraform`}),` automation for this datasource (use the UI only until Terraform support ships).`]}),`\n`]}),`\n`,_jsx(Info,{children:_jsx(_components.p,{children:`To remove access, delete or rotate credentials from the Costory UI and adjust Snowflake users and keys on your side. You cannot archive a Snowflake integration while an active billing datasource still references it.`})}),`\n`,_jsx(Heading,{level:`2`,id:`related`,children:`Related`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/setup/billing`,children:`Billing Data`}),`: overview of all billing sources`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/setup/usage-metrics/snowflake`,children:`Snowflake Metrics`}),`: query tables from another database on the same integration`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/docs/standard-columns`,children:`Standard Columns`}),`: normalized cost fields across providers`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/features/cost-explorer`,children:`Explorer`}),`: explore ingested costs after sync`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Snowflake Billing Setup","description":"Connect Snowflake account usage and billing data to Costory using key-pair authentication and a reusable Snowflake integration.","href":"/setup/billing/snowflake"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"1. Create the Snowflake integration","slug":"1-create-the-snowflake-integration","depth":3,"children":[],"tabId":"manual-setup"},{"title":"2. Enable Snowflake billing","slug":"2-enable-snowflake-billing","depth":3,"children":[],"tabId":"manual-setup"},{"title":"Related","slug":"related","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"costory","siteName":"Costory Documentation","title":"Snowflake Billing Setup - Costory Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-27T12:47:13.566Z","gitLastModified":"2026-09-27T12:46:58.000Z","originalFileLocation":"setup/billing/snowflake.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=\"light\";if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Connect Snowflake account usage and billing data to Costory using key-pair authentication and a reusable Snowflake integration.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Costory Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/svg+xml\" sizes=\"180x180\" href=\"https://mintcdn.com/costory/stODLWETeKeyz7ed/favicon-new.svg?fit=max\u0026amp;auto=format\u0026amp;n=stODLWETeKeyz7ed\u0026amp;q=85\u0026amp;s=334ff5307103e4ffc0473bb6e1b9b56c\">\u003clink data-mint-head rel=\"icon\" type=\"image/svg+xml\" sizes=\"32x32\" href=\"https://mintcdn.com/costory/stODLWETeKeyz7ed/favicon-new.svg?fit=max\u0026amp;auto=format\u0026amp;n=stODLWETeKeyz7ed\u0026amp;q=85\u0026amp;s=334ff5307103e4ffc0473bb6e1b9b56c\">\u003clink data-mint-head rel=\"icon\" type=\"image/svg+xml\" sizes=\"16x16\" href=\"https://mintcdn.com/costory/stODLWETeKeyz7ed/favicon-new.svg?fit=max\u0026amp;auto=format\u0026amp;n=stODLWETeKeyz7ed\u0026amp;q=85\u0026amp;s=334ff5307103e4ffc0473bb6e1b9b56c\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/svg+xml\" href=\"https://mintcdn.com/costory/stODLWETeKeyz7ed/favicon-new.svg?fit=max\u0026amp;auto=format\u0026amp;n=stODLWETeKeyz7ed\u0026amp;q=85\u0026amp;s=334ff5307103e4ffc0473bb6e1b9b56c\">\u003cmeta data-mint-head property=\"og:title\" content=\"Snowflake Billing Setup - Costory Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Connect Snowflake account usage and billing data to Costory using key-pair authentication and a reusable Snowflake integration.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Costory Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.costory.io/setup/billing/snowflake\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://costory.mintlify.site/_mintlify/api/og/v2?division=Billing+Data\u0026amp;title=Snowflake+Billing+Setup\u0026amp;description=Connect+Snowflake+account+usage+and+billing+data+to+Costory+using+key-pair+authentication+and+a+reusable+Snowflake+integration.\u0026amp;theme=1281d3dcbd6f73a9ab3b217e\u0026amp;signature=4432b2c150e8249c3f7f600b699e8b55ecfd244da557038447ee8ebb6b41e6fd\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Snowflake Billing Setup - Costory Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Connect Snowflake account usage and billing data to Costory using key-pair authentication and a reusable Snowflake integration.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://costory.mintlify.site/_mintlify/api/og/v2?division=Billing+Data\u0026amp;title=Snowflake+Billing+Setup\u0026amp;description=Connect+Snowflake+account+usage+and+billing+data+to+Costory+using+key-pair+authentication+and+a+reusable+Snowflake+integration.\u0026amp;theme=1281d3dcbd6f73a9ab3b217e\u0026amp;signature=4432b2c150e8249c3f7f600b699e8b55ecfd244da557038447ee8ebb6b41e6fd\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"https://mintlify.s3.us-west-1.amazonaws.com/costory/_generated/favicon/browserconfig.xml?v=3\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Costory Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#1D3C93\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.costory.io/setup/billing/snowflake\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/setup/billing/snowflake.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.costory.io/#organization\",\"name\":\"Costory Documentation\",\"url\":\"https://docs.costory.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/costory/jdghijjvsrOsYiTC/logo/light.png?fit=max\u0026auto=format\u0026n=jdghijjvsrOsYiTC\u0026q=85\u0026s=dee63acdba91bf952855557cc5c5ec16\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.costory.io#website\",\"name\":\"Costory Documentation\",\"url\":\"https://docs.costory.io\",\"publisher\":{\"@id\":\"https://docs.costory.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.costory.io/setup/billing/snowflake#webpage\",\"url\":\"https://docs.costory.io/setup/billing/snowflake\",\"name\":\"Snowflake Billing Setup\",\"description\":\"Connect Snowflake account usage and billing data to Costory using key-pair authentication and a reusable Snowflake integration.\",\"dateModified\":\"2026-09-27T12:46:58.000Z\",\"isPartOf\":{\"@id\":\"https://docs.costory.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.costory.io/setup/billing/snowflake#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.costory.io/setup/billing/snowflake#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Setup\",\"item\":\"https://docs.costory.io/setup/billing/aiven\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Billing Data\",\"item\":\"https://docs.costory.io/setup/billing\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Snowflake Billing Setup\",\"item\":\"https://docs.costory.io/setup/billing/snowflake\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.costory.io/setup/billing/snowflake#article\",\"headline\":\"Snowflake Billing Setup\",\"name\":\"Snowflake Billing Setup\",\"description\":\"Connect Snowflake account usage and billing data to Costory using key-pair authentication and a reusable Snowflake integration.\",\"url\":\"https://docs.costory.io/setup/billing/snowflake\",\"mainEntityOfPage\":{\"@id\":\"https://docs.costory.io/setup/billing/snowflake#webpage\"},\"dateModified\":\"2026-09-27T12:46:58.000Z\",\"publisher\":{\"@id\":\"https://docs.costory.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.costory.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Costory Documentation\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Costory Documentation\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/setup/billing/snowflake.md","siteName":"Costory Documentation","nav":{"global":null,"tabs":[{"tab":"Documentation","icon":"book","groups":[{"group":"Get Started","pages":[{"title":"Welcome to Costory","href":"/get-started/welcome"},{"title":"Quickstart: How to set up automated cloud cost reporting in 30 minutes","sidebarTitle":"Quickstart: Automate your cloud cost reporting","href":"/get-started/quickstart"},{"title":"Plans and fair use","icon":"tags","href":"/get-started/plans"}]},{"group":"Setup","pages":[{"group":"Billing Data","root":{"title":"Billing Data","href":"/setup/billing"},"pages":[{"title":"Aiven Billing Setup","href":"/setup/billing/aiven"},{"title":"Anthropic Billing Setup","href":"/setup/billing/anthropic"},{"title":"AWS Billing Setup","href":"/setup/billing/aws"},{"title":"Azure Billing Setup","href":"/setup/billing/azure"},{"title":"BytePlus Billing Setup","sidebarTitle":"BytePlus","href":"/setup/billing/byteplus"},{"title":"ClickHouse Billing Setup","href":"/setup/billing/clickhouse"},{"title":"Cloudflare Billing Setup","href":"/setup/billing/cloudflare"},{"title":"Confluent Billing Setup","href":"/setup/billing/confluent"},{"title":"Cursor Billing Setup","href":"/setup/billing/cursor"},{"title":"Databricks Billing Setup","sidebarTitle":"Databricks","href":"/setup/billing/databricks"},{"title":"Custom Billing Format (FOCUS) in BigQuery","href":"/setup/billing/focus"},{"title":"Datadog Billing Setup","href":"/setup/billing/datadog"},{"title":"Elastic Cloud Billing Setup","href":"/setup/billing/elastic-cloud"},{"title":"ElevenLabs Billing Setup","sidebarTitle":"ElevenLabs","href":"/setup/billing/elevenlabs"},{"title":"GCP Billing Setup","href":"/setup/billing/gcp"},{"title":"GCP CUD Metadata","href":"/setup/billing/gcp-cud-metadata"},{"title":"Kling AI Billing Setup","sidebarTitle":"Kling AI","href":"/setup/billing/kling-ai"},{"title":"OpenAI Billing Setup","href":"/setup/billing/openai"},{"title":"OpenRouter Billing Setup","sidebarTitle":"OpenRouter","href":"/setup/billing/openrouter"},{"title":"Oracle Cloud Infrastructure Billing Setup","sidebarTitle":"Oracle Cloud","href":"/setup/billing/oci"},{"title":"Scaleway Billing Setup","description":"Connect Scaleway cloud billing to Costory with an IAM secret key and Organization ID. Import consumption by category, product, and project.","href":"/setup/billing/scaleway"},{"title":"Snowflake Billing Setup","href":"/setup/billing/snowflake"}]},{"group":"Metrics Correlation","root":{"title":"Correlate your costs with technical or business metrics","description":"Connect external metrics in Costory Integrations, then query usage metrics next to cloud cost in Advanced Explorer.","sidebarTitle":"Metrics Correlation","href":"/setup/usage-metrics"},"pages":[{"title":"Amplitude","href":"/setup/usage-metrics/amplitude"},{"title":"AWS CloudWatch","href":"/setup/usage-metrics/aws-cloudwatch"},{"title":"BigQuery","href":"/setup/usage-metrics/bigquery"},{"title":"BigQuery jobs","sidebarTitle":"BigQuery jobs (beta)","href":"/setup/usage-metrics/bigquery-jobs"},{"title":"GCP Cloud Monitoring","sidebarTitle":"Cloud Monitoring","href":"/setup/usage-metrics/gcp-cloud-monitoring"},{"title":"Custom Metrics Push","sidebarTitle":"Custom metrics","href":"/setup/usage-metrics/custom-metrics-push"},{"title":"Datadog","href":"/setup/usage-metrics/datadog"},{"title":"Datadog CI Visibility","href":"/setup/usage-metrics/datadog-ci"},{"title":"GCS Inventory (Parquet)","href":"/setup/usage-metrics/gcs-inventory"},{"title":"Google Sheets","href":"/setup/usage-metrics/google-sheet"},{"title":"S3 metrics","href":"/setup/usage-metrics/s3-parquet"},{"title":"Snowflake Metrics","href":"/setup/usage-metrics/snowflake"},{"title":"Tsuga","href":"/setup/usage-metrics/tsuga"}]},{"group":"Data Exports","pages":[{"title":"BigQuery Data Exports","sidebarTitle":"BigQuery exports","href":"/setup/destinations/bigquery"}]},{"group":"Events","root":{"title":"Connect Engineering Events to Costory (GitHub, CI/CD, Custom API)","sidebarTitle":"Events","href":"/setup/events"},"pages":[{"title":"Connect GitHub Events","href":"/setup/events/github"},{"title":"Send Events from CI/CD Pipelines","href":"/setup/events/ci-cd"},{"title":"Send Custom Events via API","href":"/setup/events/custom-api"},{"title":"Provider Events","href":"/setup/events/provider"}]},{"group":"Collaboration","pages":[{"title":"Slack","href":"/setup/collaboration/slack"},{"title":"Microsoft Teams","href":"/setup/collaboration/teams"},{"title":"Email","href":"/setup/collaboration/email"}]},{"title":"FinOps MCP: Cloud Cost Automation for AI Assistants and Slack","href":"/features/mcp"}]},{"group":"Understand","pages":[{"title":"Explorer","sidebarTitle":"Explorer","href":"/features/cost-explorer"},{"group":"Dashboards","root":{"title":"Cloud Cost Dashboards","sidebarTitle":"Dashboards","href":"/features/dashboards"},"pages":[{"title":"Create and Organize Dashboards","sidebarTitle":"Create dashboards","href":"/features/dashboards/create-dashboard"},{"title":"Dashboard Templates","sidebarTitle":"Templates","href":"/features/dashboards/templates"},{"title":"Dashboard Widgets and Chart Types","sidebarTitle":"Widgets and charts","href":"/features/dashboards/widgets"}]},{"title":"Events","sidebarTitle":"Events","href":"/features/events"},{"title":"Unit Economics","sidebarTitle":"Unit Economics","href":"/features/unit-economics"}]},{"group":"Tag \u0026 Allocate","expanded":true,"pages":[{"title":"Tag \u0026 Allocate Cloud Costs","sidebarTitle":"Overview","href":"/features/tagging"},{"title":"Dimensions","sidebarTitle":"Dimensions","href":"/features/tagging/dimensions"},{"title":"Split Shared Infrastructure Costs Across Teams","sidebarTitle":"Shared Cost Allocation","href":"/features/tagging/shared-cost-allocation"},{"title":"Enrichments","sidebarTitle":"Enrichments","href":"/features/tagging/enrichments"}]},{"group":"Share","pages":[{"title":"Share cost views","sidebarTitle":"Sharing","href":"/features/sharing"},{"title":"Cost Reports","sidebarTitle":"Cost Reports","href":"/v2/Automate/reports"},{"title":"Cost Digest: automate your FinOps reporting","sidebarTitle":"Digest","href":"/features/digest"},{"title":"Alerts","sidebarTitle":"Alerts","href":"/features/alerts"}]},{"group":"Teams","pages":[{"title":"Teams","sidebarTitle":"Teams","href":"/features/teams"},{"title":"Cloud Cost Budgets and Budget Alerts","sidebarTitle":"Budgets","href":"/features/budgets"}]},{"group":"Technical Documentation","pages":[{"group":"Cost Metrics","root":{"title":"Cost Metrics","href":"/docs/cost-metrics"},"pages":[{"title":"Contracted Cost vs Billed Cost: Savings Plan discount sharing issues","sidebarTitle":"Savings Plan discount sharing issues","href":"/docs/savings-plan-cost-fluctuation"},{"title":"Cloud Cost Currency Conversion","href":"/docs/currency-conversion"}]},{"title":"Standard Columns","href":"/docs/standard-columns"},{"title":"Billing Data Refresh Schedule and Cloud Cost Data Freshness","href":"/docs/data-refresh"},{"title":"Settings","sidebarTitle":"Settings","href":"/get-started/settings"},{"group":"Security","root":{"title":"Security","href":"/docs/security"},"pages":[{"title":"Identity and Access","href":"/docs/sso-access-control"},{"title":"Subprocessors","href":"/docs/subprocessors"}]}]},{"group":"Glossary","pages":[{"title":"Glossary","href":"/docs/glossary"}]}]},{"tab":"Use Cases","icon":"lightbulb","pages":[{"title":"Use Cases","href":"/use-cases/overview"}]},{"tab":"API Reference","icon":"code","pages":[{"title":"API Reference","href":"/api-reference/overview"}]},{"tab":"Changelog","icon":"clock-rotate-left","pages":[{"title":"Changelog","href":"/changelog"}]},{"tab":"FinOps Memes","icon":"face-laugh-squint","pages":[{"title":"FinOps Memes","href":"/docs/finops-memes"}]}]},"basePath":"","title":"Snowflake Billing Setup - Costory Documentation","buildId":"dpl_596ePT575z4qnAFksq1biRW97aLY","deploymentId":"dpl_596ePT575z4qnAFksq1biRW97aLY","dynamics":[],"chunks":[]}