{"docsConfig":{"theme":"maple","$schema":"https://mintlify.com/docs.json","name":"Mage AI","colors":{"primary":"#6A35FF","light":"#00FB82","dark":"#148EFF"},"logo":{"light":"https://mintcdn.com/mage/Rq76a-vYmKWfFOND/logo/m-mage-light.svg?fit=max\u0026auto=format\u0026n=Rq76a-vYmKWfFOND\u0026q=85\u0026s=090f9ad5ae13615190d3522f6cb49ee2","dark":"https://mintcdn.com/mage/Rq76a-vYmKWfFOND/logo/m-mage.svg?fit=max\u0026auto=format\u0026n=Rq76a-vYmKWfFOND\u0026q=85\u0026s=f9f81bdba38ed26df9c59cf5c06b1b91"},"favicon":"https://mintcdn.com/mage/Rq76a-vYmKWfFOND/favicons/m1.svg?fit=max\u0026auto=format\u0026n=Rq76a-vYmKWfFOND\u0026q=85\u0026s=02b66df48d663d0e5a667850de44fe45","api":{"playground":{"display":"none"}},"appearance":{"default":"dark","strict":false},"background":{"image":"https://mintcdn.com/mage/KCVtYQD46PIylqWZ/background.png?fit=max\u0026auto=format\u0026n=KCVtYQD46PIylqWZ\u0026q=85\u0026s=8ce1090758f30e407a66ae048dd5d19c","decoration":"gradient","color":{"light":"#FFFFFF","dark":"#000000"}},"navbar":{"links":[{"href":"https://github.com/mage-ai/mage-ai","label":"GitHub"},{"href":"https://www.mage.ai/chat","label":"Community"},{"href":"https://cloud.mage.ai/sign-up?source=documentation-header","label":"Mage Pro"}],"primary":{"type":"button","label":"Get a demo","href":"https://mage.ai/getdemo"}},"footer":{"socials":{"github":"https://www.github.com/mage-ai","slack":"https://www.mage.ai/chat","linkedin":"https://www.linkedin.com/company/magetech","twitter":"https://twitter.com/mage_ai"},"links":[{"header":"OSS","items":[{"label":"Code","href":"https://www.mage.ai.oss"},{"label":"Demo playground","href":"https://www.mage.ai/demo"}]},{"header":"Mage Pro","items":[{"label":"Get started for free","href":"https://cloud.mage.ai/sign-up"}]},{"header":"Community","items":[{"label":"Chat","href":"https://www.mage.ai/chat"},{"label":"Facebook","href":"https://www.facebook.com/mageai"},{"label":"Youtube","href":"https://www.youtube.com/@mage_ai"},{"label":"Instagram","href":"https://www.instagram.com/mage_ai"},{"label":"Medium","href":"https://m.mage.ai"}]}]},"search":{"prompt":"Omniscience... ✨"},"seo":{"metatags":{"og:image":"https://github.com/mage-ai/mage-ai/blob/master/docs/og.png?raw=True","og:description":"The leading framework for transforming and integrating data.","og:site_name":"Mage AI Documentation","twitter:site":"@mage_ai"},"indexing":"all"},"fonts":{"heading":{"family":"Alkatra"},"body":{"family":"Inter"}},"styling":{"codeblocks":"system","latex":false},"integrations":{"koala":{"publicApiKey":"pk_a3151d9755887a36858dcd602fbaeb5ee2f7"},"ga4":{"measurementId":"G-GR172GGB5V"}},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"mage","hasAudioNarration":false,"actualSubdomain":"mage","customDomains":["docs.mage.ai"],"gitSource":{"type":"github","owner":"mage-ai","repo":"mage-ai","deployBranch":"master","contentDirectory":"docs","mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6adbbe4cac0861efde9fc869","collectionId":"835d3af8-08bd-4664-89cb-4e8d6b4b690c","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adbbe4cac0861efde9fc869"},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6adbbe4cac0861efde9fc869","clientVersion":"0.0.3990","searchFilterCounts":[{"language":"default","tag":"Documentation","count":145},{"language":"default","tag":"Concepts","count":102},{"language":"default","tag":"Data integrations","count":89},{"language":"default","tag":"Development","count":83},{"language":"default","tag":"Mage Pro","count":76},{"language":"default","tag":"Sources","count":71},{"language":"default","tag":"Pipelines","count":50},{"language":"default","tag":"Production","count":48},{"language":"default","tag":"Destinations","count":47},{"language":"default","tag":"Streaming","count":42}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","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":"editor-v7-file-tree","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":"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":"pause-universal-search-reconcile","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":"per-site-search-delta","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":"editor-private-page-search","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":"editor-nav-generations","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":"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":"byok-sep-25","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":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","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":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":true},"customCss":[{"filePath":"style.css","content":"a.block{display:block}p.normal,span.normal{font-weight:400!important}"}],"page":{"pagePath":"data-integrations/sources/bigquery","slug":"/data-integrations/sources/bigquery","pageMetadata":{"title":"BigQuery","description":null,"href":"/data-integrations/sources/bigquery"},"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`,p:`p`,pre:`pre`,span:`span`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`configuration`,children:`Configuration`}),`\n`,_jsx(_components.p,{children:`To set up the BigQuery source, provide the following configuration parameters:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Key`}),_jsx(_components.th,{children:`Description`}),_jsx(_components.th,{children:`Sample Value`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`path_to_credentials_json_file`})}),_jsxs(_components.td,{children:[`Path to your Google service account credentials JSON file. If Mage is running on GCP, you can leave this `,_jsx(_components.code,{children:`null`}),` to use the instance’s service account.`]}),_jsx(_components.td,{children:_jsx(_components.code,{children:`/path/to/service_account_credentials.json`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`dataset`})}),_jsx(_components.td,{children:`BigQuery dataset you want to read data from.`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`example_dataset`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`credentials_info`})}),_jsx(_components.td,{children:`An alternative way to specify Google service account credentials directly as a dictionary.`}),_jsx(_components.td,{children:`Structure shown below`})]})]})]}),`\n`,_jsx(`br`,{}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`credentials_info`}),` structure:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`10`,language:`yaml`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`yaml`,children:_jsxs(_components.code,{language:`yaml`,numberOfLines:`10`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`auth_provider_x509_cert_url`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`str`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`auth_uri`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`str`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`client_email`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`str`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`client_id`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`str`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`client_x509_cert_url`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`str`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`private_key`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`str`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`private_key_id`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`str`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`project_id`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`str`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`token_uri`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`str`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`type`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`str`})]}),`\n`]})})}),`\n`,_jsx(`br`,{}),`\n`,_jsx(Heading,{level:`3`,id:`optional-configs`,children:`Optional Configs`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Key`}),_jsx(_components.th,{children:`Description`}),_jsx(_components.th,{children:`Sample value`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`skip_schema_creation`})}),_jsxs(_components.td,{children:[`If `,_jsx(_components.code,{children:`true`}),`, Mage won’t run CREATE SCHEMA command. For more information, see this `,_jsx(_components.a,{href:`https://github.com/mage-ai/mage-ai/issues/3416`,children:`issue`})]}),_jsx(_components.td,{children:_jsx(_components.code,{children:`true`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`lower_case`})}),_jsxs(_components.td,{children:[`If `,_jsx(_components.code,{children:`true`}),`, Mage will set all columns name as lower case. Default is `,_jsx(_components.code,{children:`true`})]}),_jsx(_components.td,{children:_jsx(_components.code,{children:`true`})})]})]})]}),`\n`,_jsx(`br`,{}),`\n`,_jsx(Heading,{level:`3`,id:`required-permissions`,children:`Required permissions`}),`\n`,_jsx(_components.p,{children:`Your BigQuery account should at least have the below permissiont to use the BigQuery destination`}),`\n`,_jsx(CodeBlock,{numberOfLines:`5`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`5`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`bigquery.datasets.create`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`bigquery.jobs.create`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`bigquery.readsessions.create`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`bigquery.readsessions.getData`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(_components.p,{children:`Your account should also have “BigQuery Data Editor” role for the BigQuery dataset you specified in the config.`})]})}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":{"codeStyling":"system","config":{},"pageMetadata":{"title":"BigQuery","description":null,"href":"/data-integrations/sources/bigquery"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Configuration","slug":"configuration","depth":2,"children":[{"title":"Optional Configs","slug":"optional-configs","depth":3,"children":[]},{"title":"Required permissions","slug":"required-permissions","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":[],"subdomain":"mage","siteName":"Mage AI","title":"BigQuery - Mage AI","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-23T20:06:53.148Z","originalFileLocation":"data-integrations/sources/bigquery.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;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=\"dark\"}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=\"application-name\" content=\"Mage AI\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/mage/7GSCLO7OarQPQehu/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/mage/7GSCLO7OarQPQehu/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/mage/7GSCLO7OarQPQehu/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/mage/7GSCLO7OarQPQehu/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/mage/7GSCLO7OarQPQehu/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/mage/7GSCLO7OarQPQehu/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/mage/7GSCLO7OarQPQehu/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/mage/7GSCLO7OarQPQehu/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/mage/7GSCLO7OarQPQehu/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"BigQuery - Mage AI\">\u003cmeta data-mint-head property=\"og:description\" content=\"The leading framework for transforming and integrating data.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Mage AI Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.mage.ai/data-integrations/sources/bigquery\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://github.com/mage-ai/mage-ai/blob/master/docs/og.png?raw=True\">\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=\"BigQuery - Mage AI\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"The leading framework for transforming and integrating data.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://github.com/mage-ai/mage-ai/blob/master/docs/og.png?raw=True\">\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=\"/mintlify-assets/_mintlify/favicons/mage/7GSCLO7OarQPQehu/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Mage AI\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#6A35FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.mage.ai/data-integrations/sources/bigquery\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/data-integrations/sources/bigquery.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.mage.ai/#organization\",\"name\":\"Mage AI\",\"url\":\"https://docs.mage.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/mage/Rq76a-vYmKWfFOND/logo/m-mage-light.svg?fit=max\u0026auto=format\u0026n=Rq76a-vYmKWfFOND\u0026q=85\u0026s=090f9ad5ae13615190d3522f6cb49ee2\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.mage.ai#website\",\"name\":\"Mage AI\",\"url\":\"https://docs.mage.ai\",\"publisher\":{\"@id\":\"https://docs.mage.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.mage.ai/data-integrations/sources/bigquery#webpage\",\"url\":\"https://docs.mage.ai/data-integrations/sources/bigquery\",\"name\":\"BigQuery\",\"dateModified\":\"2026-10-23T20:06:53.148Z\",\"isPartOf\":{\"@id\":\"https://docs.mage.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.mage.ai/data-integrations/sources/bigquery#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.mage.ai/data-integrations/sources/bigquery#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Concepts\",\"item\":\"https://docs.mage.ai/design/data-pipeline-management\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Data integrations\",\"item\":\"https://docs.mage.ai/data-integrations/overview\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Sources\",\"item\":\"https://docs.mage.ai/data-integrations/sources/overview\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"BigQuery\",\"item\":\"https://docs.mage.ai/data-integrations/sources/bigquery\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.mage.ai/data-integrations/sources/bigquery#article\",\"headline\":\"BigQuery\",\"name\":\"BigQuery\",\"url\":\"https://docs.mage.ai/data-integrations/sources/bigquery\",\"mainEntityOfPage\":{\"@id\":\"https://docs.mage.ai/data-integrations/sources/bigquery#webpage\"},\"image\":\"https://github.com/mage-ai/mage-ai/blob/master/docs/og.png?raw=True\",\"dateModified\":\"2026-10-23T20:06:53.148Z\",\"publisher\":{\"@id\":\"https://docs.mage.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.mage.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Mage AI\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Mage AI","nav":{"global":null,"tabs":[{"tab":"Mage Pro","pages":[{"title":"Mage Pro","href":"/production/mage/pro"}]},{"tab":"Documentation","groups":[{"group":"Adventure starts here","pages":[{"title":"It’s magic.","sidebarTitle":"Overview","icon":"hat-wizard","href":"/introduction/overview"},{"title":"Quickstart","sidebarTitle":"Quickstart","icon":"space-station-moon-construction","href":"/getting-started/setup"},{"title":"Core Design Principles","sidebarTitle":"Design","icon":"pen-nib","href":"/design/core-design-principles"},{"group":"Abstractions","icon":"object-subtract","pages":[{"title":"Abstractions","sidebarTitle":"Core abstractions","href":"/design/core-abstractions"},{"title":"Project Structure","href":"/design/abstractions/project-structure"}]}]},{"group":"Concepts","pages":[{"title":"Pipeline Management","sidebarTitle":"Pipelines","icon":"pipe-section","href":"/design/data-pipeline-management"},{"group":"Blocks","icon":"block-brick","pages":[{"title":"Overview","href":"/design/blocks"},{"group":"Types","pages":[{"title":"Callback blocks","sidebarTitle":"Callback","href":"/design/blocks/callbacks"},{"title":"Conditional blocks","sidebarTitle":"Conditional","href":"/design/blocks/conditionals"},{"title":"Data exporter","href":"/design/blocks/data-exporter"},{"title":"Data loader","href":"/design/blocks/data-loader"},{"title":"Scratchpad","href":"/design/blocks/scratchpad"},{"title":"Sensor","href":"/design/blocks/sensor"},{"title":"Transformer","href":"/design/blocks/transformer"}]},{"title":"Dynamic blocks","icon":"list-tree","href":"/design/blocks/dynamic-blocks"},{"title":"Remote blocks","sidebarTitle":"Remote blocks","icon":"block-brick","href":"/design/blocks/remote-blocks"},{"group":"Resources","pages":[{"group":"Data loader","pages":[{"title":"Data loader utilities","sidebarTitle":"Utilities","href":"/design/data-loading"},{"title":"Data loader templates","sidebarTitle":"Templates","href":"/development/blocks/data_loaders/templates"}]},{"group":"Transformer","pages":[{"title":"Transformer templates","sidebarTitle":"Templates","href":"/development/blocks/transformers/templates"}]},{"group":"Data exporter","pages":[{"title":"Data exporter templates","sidebarTitle":"Templates","href":"/development/blocks/data_exporters/templates"}]},{"group":"Sensors","pages":[{"title":"Sensor templates","sidebarTitle":"Templates","href":"/development/blocks/sensors/templates"}]},{"group":"Callbacks","pages":[{"title":"Callback templates","sidebarTitle":"Templates","href":"/development/blocks/callbacks/templates"}]},{"group":"Conditionals","pages":[{"title":"Conditional templates","sidebarTitle":"Templates","href":"/development/blocks/conditionals/templates"}]}]}]},{"group":"Data integrations","icon":"rotate","pages":[{"title":"Overview","href":"/data-integrations/overview"},{"title":"Configure data integration pipelines","sidebarTitle":"Configuration","href":"/data-integrations/configuration"},{"group":"Sources","pages":[{"title":"Sources technical documentation","sidebarTitle":"Overview","href":"/data-integrations/sources/overview"},{"title":"Airtable","href":"/data-integrations/sources/airtable"},{"title":"Amazon S3","href":"/data-integrations/sources/amazon_s3"},{"title":"Amplitude","href":"/data-integrations/sources/amplitude"},{"title":"API Source Configuration","sidebarTitle":"API","href":"/data-integrations/sources/api"},{"title":"Azure Blob Storage","description":null,"href":"/data-integrations/sources/azure_blob_storage"},{"title":"BigQuery","href":"/data-integrations/sources/bigquery"},{"title":"Chargebee","description":null,"href":"/data-integrations/sources/chargebee"},{"title":"Commercetools","href":"/data-integrations/sources/commercetools"},{"title":"Couchbase","href":"/data-integrations/sources/couchbase"},{"title":"Datadog","href":"/data-integrations/sources/datadog"},{"title":"Doris","href":"/data-integrations/sources/doris"},{"title":"Dremio","href":"/data-integrations/sources/dremio"},{"title":"Amazon DynamoDB","href":"/data-integrations/sources/dynamodb"},{"title":"Facebook Ads","href":"/data-integrations/sources/facebook_ads"},{"title":"Freshdesk","href":"/data-integrations/sources/freshdesk"},{"title":"Front","href":"/data-integrations/sources/front"},{"title":"GitHub","href":"/data-integrations/sources/github"},{"title":"Google Ads","href":"/data-integrations/sources/google_ads"},{"title":"Google Analytics","href":"/data-integrations/sources/google_analytics"},{"title":"Google Cloud Storage","href":"/data-integrations/sources/google_cloud_storage"},{"title":"Google Search Console","href":"/data-integrations/sources/google_search_console"},{"title":"Google Sheets","href":"/data-integrations/sources/google_sheets"},{"title":"HubSpot","href":"/data-integrations/sources/hubspot"},{"title":"Intercom","href":"/data-integrations/sources/intercom"},{"title":"Knowi","href":"/data-integrations/sources/knowi"},{"title":"LinkedIn Ads","href":"/data-integrations/sources/linkedin_ads"},{"title":"Mode","href":"/data-integrations/sources/mode"},{"title":"Monday","href":"/data-integrations/sources/monday"},{"title":"MongoDB","href":"/data-integrations/sources/mongodb"},{"title":"MSSQL (Microsoft SQL Server)","href":"/data-integrations/sources/mssql"},{"title":"MySQL","href":"/data-integrations/sources/mysql"},{"title":"Outreach","href":"/data-integrations/sources/outreach"},{"title":"Paystack","href":"/data-integrations/sources/paystack"},{"title":"Pipedrive","href":"/data-integrations/sources/pipedrive"},{"title":"PostgreSQL","href":"/data-integrations/sources/postgresql"},{"title":"Postmark","href":"/data-integrations/sources/postmark"},{"title":"Power BI","href":"/data-integrations/sources/powerbi"},{"title":"Amazon Redshift","href":"/data-integrations/sources/redshift"},{"title":"Salesforce","href":"/data-integrations/sources/salesforce"},{"title":"SFTP","href":"/data-integrations/sources/sftp"},{"title":"Snowflake","href":"/data-integrations/sources/snowflake"},{"title":"Stripe","href":"/data-integrations/sources/stripe"},{"title":"Tableau","href":"/data-integrations/sources/tableau"},{"title":"Teradata","href":"/data-integrations/sources/teradata"},{"title":"Twitter Ads","href":"/data-integrations/sources/twitter_ads"},{"title":"Zendesk","href":"/data-integrations/sources/zendesk"}]},{"group":"Destinations","pages":[{"title":"Destinations technical documentation","sidebarTitle":"Overview","href":"/data-integrations/destinations/overview"},{"title":"Airtable","href":"/data-integrations/destinations/airtable"},{"title":"Amazon S3","href":"/data-integrations/destinations/amazon_s3"},{"title":"BigQuery","href":"/data-integrations/destinations/bigquery"},{"title":"ClickHouse","href":"/data-integrations/destinations/clickhouse"},{"title":"Delta Lake (Azure)","href":"/data-integrations/destinations/delta_lake_azure"},{"title":"Delta Lake (S3)","href":"/data-integrations/destinations/delta_lake_s3"},{"title":"Doris","href":"/data-integrations/destinations/doris"},{"title":"Elasticsearch","href":"/data-integrations/destinations/elasticsearch"},{"title":"Google Cloud Storage","href":"/data-integrations/destinations/google_cloud_storage"},{"title":"Kafka","href":"/data-integrations/destinations/kafka"},{"title":"MongoDB","href":"/data-integrations/destinations/mongodb"},{"title":"MSSQL (Microsoft SQL Server)","href":"/data-integrations/destinations/mssql"},{"title":"MySQL","href":"/data-integrations/destinations/mysql"},{"title":"OpenSearch","href":"/data-integrations/destinations/opensearch"},{"title":"OracleDB","href":"/data-integrations/destinations/oracledb"},{"title":"PostgreSQL","href":"/data-integrations/destinations/postgresql"},{"title":"Redshift","href":"/data-integrations/destinations/redshift"},{"title":"Salesforce","href":"/data-integrations/destinations/salesforce"},{"title":"Snowflake","href":"/data-integrations/destinations/snowflake"},{"title":"Teradata","href":"/data-integrations/destinations/teradata"},{"title":"Trino","href":"/data-integrations/destinations/trino"}]},{"title":"Using data integrations in batch pipelines (in Beta)","sidebarTitle":"Batch pipelines","href":"/data-integrations/batch-pipelines"}]},{"group":"Triggers","icon":"bolt","pages":[{"title":"Pipeline Trigger Overview","sidebarTitle":"Overview","href":"/orchestration/triggers/triggering-pipelines"},{"title":"Configure triggers in code","href":"/orchestration/triggers/configure-triggers-in-code"},{"title":"Trigger pipeline from a block","sidebarTitle":"Trigger from block","href":"/orchestration/triggers/trigger-pipeline"},{"title":"Triggering pipeline via API request","sidebarTitle":"Webhooks","href":"/orchestration/triggers/trigger-pipeline-api"},{"title":"Schedules","sidebarTitle":"Schedules","href":"/orchestration/triggers/schedule-pipelines"},{"title":"Query trigger metadata from database","sidebarTitle":"Database query","href":"/orchestration/triggers/database-query"}]},{"group":"Pipeline runs","icon":"person-running-fast","pages":[{"title":"Pipeline Run","sidebarTitle":"Overview","href":"/orchestration/pipeline-runs/overview"},{"title":"Retrying block runs from a pipeline run","sidebarTitle":"Retrying block runs","href":"/orchestration/pipeline-runs/retrying-block-runs"},{"title":"Saving block output as CSV file","sidebarTitle":"Saving block output as CSV","href":"/orchestration/pipeline-runs/saving-block-output-as-csv"},{"title":"Query pipeline run metadata from database","sidebarTitle":"Database query","href":"/orchestration/pipeline-runs/database-query"}]},{"group":"Backfills","icon":"clock-rotate-left","pages":[{"title":"Backfilling pipelines","sidebarTitle":"Overview","href":"/orchestration/backfills/overview"},{"title":"Backfill guide","sidebarTitle":"Guide","href":"/orchestration/backfills/guides"}]}]},{"group":"Project","icon":"flask","pages":[{"title":"Project setup","sidebarTitle":"Setup","icon":"person-to-portal","href":"/development/project/setup"},{"title":"Get started with Git","sidebarTitle":"Version control","icon":"code-branch","href":"/development/git/setting-up-git"},{"group":"Docker","icon":"docker","pages":[{"title":"Connect a local db in Docker","sidebarTitle":"Connect local database","icon":"database","href":"/development/docker/connecting-a-database"},{"title":"Run docker image as non-root user","sidebarTitle":"Run as non-root user","icon":"user","href":"/development/docker/non-root-user"}]},{"group":"Variables","icon":"square-root-variable","pages":[{"title":"Mage variables","sidebarTitle":"Overview","href":"/development/variables/overview"},{"title":"Accessing variables in Mage","sidebarTitle":"Accessing variables","href":"/development/variables/referencing-variables"},{"group":"Variable Types","pages":[{"title":"Mage environment variables","sidebarTitle":"Environment variables","href":"/development/variables/environment-variables"},{"title":"Pipeline variables and keyword arguments","sidebarTitle":"Runtime variables","href":"/getting-started/runtime-variable"},{"title":"Mage block variables","sidebarTitle":"Block variables","href":"/development/variables/block-variables"},{"title":"Secrets","href":"/development/variables/secrets"}]}]},{"group":"Custom libraries","icon":"family","pages":[{"title":"Install Python packages using `requirements.txt`","sidebarTitle":"Python packages","href":"/development/dependencies/requirements"},{"title":"Import your own Python code","sidebarTitle":"Custom modules","href":"/development/dependencies/custom-files"},{"title":"Dependency Management","sidebarTitle":"Dependency Management","href":"/development/dependencies/dependency-management"}]},{"title":"Database","icon":"database","href":"/development/databases/default"},{"title":"IO Config","sidebarTitle":"Connection Credentials","icon":"key","href":"/development/io_config"},{"title":"IO Config Setup","sidebarTitle":"IO Config Setup","icon":"key","href":"/development/io_config_setup"},{"title":"Python kernels","sidebarTitle":"Code execution","icon":"microchip","href":"/getting-started/kernels"},{"title":"Local timezone","sidebarTitle":"Timezones","icon":"clock","href":"/development/project/local-timezone"},{"title":"Start page","sidebarTitle":"Landing page","icon":"house","href":"/development/project/landing-page"},{"title":"Configuring Mage settings backend","sidebarTitle":"Settings","icon":"gear","href":"/development/settings-backend"},{"title":"Updating Mage","icon":"circle-up","sidebarTitle":"Version upgrades","href":"/development/updating-mage"},{"title":"CLI Commands Reference","sidebarTitle":"CLI Commands","icon":"terminal","href":"/development/cli-commands"},{"title":"Project metadata.yaml","sidebarTitle":"Project metadata.yaml","icon":"briefcase","href":"/development/project/metadata"}]},{"group":"Contributing","pages":[{"title":"Contributing","sidebarTitle":"Overview","icon":"handshake-simple","href":"/contributing/overview"},{"title":"Configure your development environment","sidebarTitle":"Dev environment","icon":"alien","href":"/contributing/development-environment"},{"group":"Backend","icon":"server","pages":[{"title":"Contributing to the backend server","sidebarTitle":"Overview","href":"/contributing/backend/overview"},{"group":"IO classes","pages":[{"title":"Adding an IO class","sidebarTitle":"Add a Class","href":"/contributing/backend/io/adding-a-class"}]},{"group":"Streaming","pages":[{"title":"Contributing","href":"/contributing/backend/streaming/sources-and-destinations"}]},{"group":"Testing","pages":[{"title":"Testing","sidebarTitle":"Testing","icon":"swords","href":"/contributing/backend/testing/overview"}]}]},{"group":"Frontend","icon":"browser","pages":[{"title":"Contributing to the front-end client","sidebarTitle":"Overview","href":"/contributing/frontend/overview"},{"title":"How to add a chart","sidebarTitle":"Charts","href":"/contributing/charts/how-to-add"},{"title":"Frontend testing","sidebarTitle":"Testing","icon":"swords","href":"/contributing/frontend/testing"}]},{"group":"Documentation","icon":"book","pages":[{"title":"Documentation","sidebarTitle":"Overview","href":"/contributing/documentation/overview"}]}]},{"group":"About","icon":"info","pages":[{"title":"Code of Conduct","sidebarTitle":"Code of conduct","icon":"staff","href":"/about/code-of-conduct"},{"title":"Help improve the tool","sidebarTitle":"Usage statistics","icon":"calculator","href":"/about/statistics"},{"title":"Frequently Asked Questions","sidebarTitle":"FAQ","icon":"question","href":"/about/frequently-asked-questions"},{"title":"Releases","sidebarTitle":"Changelog","icon":"megaphone","href":"/about/releases"}]}]},{"tab":"Development","pages":[{"title":"Development","href":"/guides/overview"}]},{"tab":"Production","pages":[{"title":"Production","href":"/production/ci-cd/overview"}]},{"tab":"AI","pages":[{"title":"AI","href":"/ai/sidekick"}]},{"tab":"Observability","pages":[{"title":"Observability","href":"/observability/monitoring"}]},{"tab":"Integrations","pages":[{"title":"Integrations","href":"/integrations/compute/spark-pyspark"}]},{"tab":"Extensibility","pages":[{"title":"Extensibility","href":"/extensibility/env-config/project"}]}]},"title":"BigQuery - Mage AI","buildId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","deploymentId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","dynamics":[],"chunks":[]}