Open-source example showing how to build a Google Sheets App using the DeepL API.
This sample explains in detail how an App for Google Sheets can be built to integrate DeepL translations into Google Sheets. This also works quite similarly for Google Docs!
GitHub - DeepL/google-sheets-example: Example using DeepL API in Google Sheets scripts
Google Sheet Example on Github
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"DeepL Documentation","description":"Developer documentation for the DeepL API: translate text and documents, transcribe and translate speech in real time, improve text, and customize output with glossaries, style rules, and translation memories.","colors":{"primary":"#0f2b46","light":"#ffffff","dark":"#0f2b46"},"logo":{"light":"https://mintcdn.com/deepl-c950b784/QiF37QSCmRj62dXZ/_assets/logo/light_with_text.svg?fit=max\u0026auto=format\u0026n=QiF37QSCmRj62dXZ\u0026q=85\u0026s=2dfc0d736effb479c0ac145abe2ab2c3","dark":"https://mintcdn.com/deepl-c950b784/QiF37QSCmRj62dXZ/_assets/logo/dark_with_text.svg?fit=max\u0026auto=format\u0026n=QiF37QSCmRj62dXZ\u0026q=85\u0026s=1c796b7a29370a15d010c5f6cda342f3"},"favicon":"https://mintcdn.com/deepl-c950b784/QiF37QSCmRj62dXZ/_assets/favicon.svg?fit=max\u0026auto=format\u0026n=QiF37QSCmRj62dXZ\u0026q=85\u0026s=b46ca099e325b1b5f0ce2f0fc351e394","api":{"openapi":"api-reference/openapi.yaml","asyncapi":"api-reference/voice/voice.asyncapi.yaml","playground":{"proxy":false},"examples":{"defaults":"required","languages":["curl"]}},"appearance":{"default":"light","strict":false},"background":{"color":{"light":"#ffffff"}},"navbar":{"links":[{"href":"https://www.deepl.com/en/pro#api","label":"Pricing"}],"primary":{"type":"button","label":"Free API Key","href":"https://www.deepl.com/en/checkout?is_api=true"}},"footer":{"socials":{"facebook":"https://www.facebook.com/DeepLcom","linkedin":"https://www.linkedin.com/company/deepl","github":"https://github.com/DeepL","instagram":"https://www.instagram.com/deeplhq"},"links":[{"items":[{"label":"API Status","href":"https://status.deepl.com/?tab=api"},{"label":"DeepL Status","href":"https://status.deepl.com"},{"label":"Contact","href":"/docs/resources/contact"}]}]},"seo":{"metatags":{"google-site-verification":"0VDGg3gJk53xL5burIUykHtV_eBhXTp5AMdzaeffbbU"},"organization":{"id":"https://www.deepl.com/","name":"DeepL","legalName":"DeepL SE","url":"https://www.deepl.com","logo":"https://static.deepl.com/img/logo/deepl-logo-blue.svg","sameAs":["https://github.com/DeepL","https://www.linkedin.com/company/deepl","https://x.com/DeepLcom","https://www.instagram.com/deeplhq/","https://www.youtube.com/@DeepLcom"]},"indexing":"navigable"},"fonts":{"heading":{"family":"Roboto"},"body":{"family":"Roboto"}},"integrations":{"cookies":{"key":"deepl_cookie_consent","value":"accepted"}},"banner":{"content":"Help shape the DeepL API roadmap. [Take the survey](https://deepl.qualtrics.com/jfe/form/SV_8fbjoZx1wQUkAC2)","dismissible":true},"errors":{"404":{"redirect":false,"title":"Page not found","description":"This page does not exist. Humans: check out the [Quickstart](/docs/getting-started/quickstart) or the [API reference](/api-reference/translate/request-translation). Machines: try [/llms.txt](/llms.txt), [the docs MCP server](https://developers.deepl.com/mcp), or OpenAPI specs for [Text](/api-reference/openapi.yaml) and [Voice](/api-reference/voice/voice.asyncapi.yaml)."}},"contextual":{"options":["copy","download-spec","chatgpt","claude","cursor","vscode"],"display":"header"},"markdown":{"instructions":["Use the DeepL API when a task needs machine translation or text improvement, including translating text strings, whole documents with formatting preservation, or transcribing and translating live speech. Preferred terminology and phrasing may be enforced using customizations (glossaries, style rules, and translation memories). Retrieve supported languages for each product from the `/v3/languages` endpoints.","Read the machine-readable API surface instead of inferring request shapes from prose: the REST spec is at https://developers.deepl.com/api-reference/openapi.yaml (also served as openapi.json) and the Voice WebSocket protocol is at https://developers.deepl.com/api-reference/voice/voice.asyncapi.yaml. These docs also expose an MCP server at https://developers.deepl.com/mcp (Streamable HTTP, no authentication).","Use https://api.deepl.com for Pro plans and https://api-free.deepl.com for the Free plan. Authenticate every request with the header `Authorization: DeepL-Auth-Key \u003capi-key>`. Never fabricate an API key: ask the user for one, or point them at https://developers.deepl.com/docs/getting-started/quickstart.","Errors use standard HTTP status codes with a JSON body containing a `message` field, plus a `code` field where available, and an `X-Trace-ID` response header that identifies the request in DeepL's logs. Log `X-Trace-ID` by default. Retry 429 and 5xx with exponential backoff. Do not retry 456, which means the account quota is exhausted, or 400, which means the request itself is invalid."]},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"deepl-c950b784","hasAudioNarration":false,"actualSubdomain":"deepl-c950b784","customDomains":["developers.deepl.com"],"gitSource":{"type":"github","owner":"deepl","repo":"api-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae4a585c2f3f73890239acc","collectionId":"84d4cc97-9e99-4c64-8a32-5efc19b56091","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae4a585c2f3f73890239acc"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"DISABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae4a585c2f3f73890239acc","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"API Reference","count":66},{"language":"default","tag":"Customize","count":55},{"language":"default","tag":"Home","count":35},{"language":"default","tag":"Translate","count":23},{"language":"default","tag":"Glossaries","count":17},{"language":"default","tag":"Admin","count":14},{"language":"default","tag":"Style Rules","count":12},{"language":"default","tag":"Spoken Terms","count":10},{"language":"default","tag":"Text Translation","count":10},{"language":"default","tag":"Voice","count":9}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"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":"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":"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":"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":"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":"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":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[{"filePath":"cookie-banner.css","content":"#cookie-banner{position:fixed;bottom:0;left:0;width:100%;background:#0f2b46;color:#fff;padding:20px;display:flex;justify-content:space-between;align-items:center;gap:20px;z-index:10000;box-shadow:0 -2px 10px rgba(0,0,0,.2);font-family:Roboto,sans-serif}#cookie-banner-content{flex:1}#cookie-banner-text{margin:0;font-size:14px;line-height:1.5}#cookie-banner-text a{color:#4fc3f7;text-decoration:underline}#cookie-banner-buttons{display:flex;gap:12px;flex-shrink:0}#cookie-accept,#cookie-reject{padding:10px 20px;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s;font-family:Roboto,sans-serif}#cookie-reject{background:0 0;color:#fff;border:1px solid #fff}#cookie-reject:hover{background:rgba(255,255,255,.1)}#cookie-accept{background:#fff;color:#0f2b46;border:0}#cookie-accept:hover{background:#e6e6e6}@media (max-width:768px){#cookie-banner{flex-direction:column;align-items:stretch;gap:16px;padding:16px}#cookie-banner-buttons{width:100%;justify-content:stretch}#cookie-accept,#cookie-reject{flex:1}}"},{"filePath":"user-study-popup.css","content":"#user-study-popup{position:fixed;right:24px;bottom:24px;z-index:9999;pointer-events:none;font-family:Roboto,sans-serif}#user-study-card{position:relative;width:360px;max-width:calc(100vw - 48px);padding:24px;background:#fff;border:1px solid rgba(15,43,70,.12);border-radius:16px;box-shadow:0 20px 45px rgba(15,43,70,.16),0 6px 16px rgba(15,43,70,.1);pointer-events:auto;transform:translateX(calc(100% + 48px));transition:transform .35s ease}#user-study-card.slide-in{transform:translateX(0)}#user-study-card.slide-out{transform:translateX(calc(100% + 48px));transition:transform .25s ease-in}#user-study-close{position:absolute;top:12px;right:12px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:0;border-radius:999px;background:0 0;color:#6b7280;font-size:24px;line-height:1;cursor:pointer}#user-study-close:hover{background:rgba(15,43,70,.06);color:#0f2b46}#user-study-eyebrow{margin:0 0 8px;color:#0f2b46;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}#user-study-content h3{margin:0 28px 12px 0;color:#111827;font-size:22px;font-weight:700;line-height:1.2}#user-study-content p{margin:0 0 18px;color:#4b5563;font-size:14px;line-height:1.5}#user-study-cta{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:44px;border-radius:999px;background:#0f2b46;color:#fff;font-size:14px;font-weight:600;text-decoration:none}#user-study-cta:hover{background:#133858}@media (max-width:480px){#user-study-popup{right:16px;bottom:16px;left:16px}#user-study-card{width:auto;max-width:none;padding:20px}#user-study-content h3{font-size:20px}}"},{"filePath":"navbar-cta.css","content":"html.dark #topbar-cta-button a>span:first-child{background-color:#fff!important}html.dark #topbar-cta-button a,html.dark #topbar-cta-button a span,html.dark #topbar-cta-button a svg{color:#292929!important}"}],"page":{"pagePath":"docs/learning-how-tos/cookbook/google-sheets","slug":"/docs/learning-how-tos/cookbook/google-sheets","pageMetadata":{"title":"Project: Google Sheets","description":"Open-source example showing how to build a Google Sheets App using the DeepL API.","public":true,"href":"/docs/learning-how-tos/cookbook/google-sheets"},"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: \"Open-source example showing how to build a Google Sheets App using the DeepL API.\"\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={p:`p`,..._provideComponents(),...props.components},{Card}=_components;if(!Card)_missingMdxReference(`Card`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`This sample explains in detail how an App for Google Sheets can be built to integrate DeepL translations into Google Sheets. This also works quite similarly for Google Docs!`}),`\n`,_jsx(Card,{title:`GitHub - DeepL/google-sheets-example: Example using DeepL API in Google Sheets scripts`,icon:`github`,horizontal:true,href:`https://github.com/DeepL/google-sheets-example`,children:_jsx(_components.p,{children:`Google Sheet Example on Github`})})]})}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":"Project: Google Sheets","description":"Open-source example showing how to build a Google Sheets App using the DeepL API.","public":true,"href":"/docs/learning-how-tos/cookbook/google-sheets"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/deepl-c950b784/79954643574228d7/analytics.js","/_mintlify/custom/deepl-c950b784/7c795428034ccd8b/cookie-banner.js","/_mintlify/custom/deepl-c950b784/e09568492714dd0f/user-study-popup.js","/_mintlify/custom/deepl-c950b784/06c83788a8296584/user-data.js"],"subdomain":"deepl-c950b784","siteName":"DeepL Documentation","title":"Project: Google Sheets - DeepL Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-07-13T20:18:08.459Z","originalFileLocation":"docs/learning-how-tos/cookbook/google-sheets.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=\"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=\"Open-source example showing how to build a Google Sheets App using the DeepL API.\">\u003cmeta data-mint-head name=\"application-name\" content=\"DeepL Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/deepl-c950b784/hSlhr1iEcolF1mhS/_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/deepl-c950b784/hSlhr1iEcolF1mhS/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/deepl-c950b784/hSlhr1iEcolF1mhS/_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/deepl-c950b784/hSlhr1iEcolF1mhS/_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/deepl-c950b784/hSlhr1iEcolF1mhS/_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/deepl-c950b784/hSlhr1iEcolF1mhS/_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/deepl-c950b784/hSlhr1iEcolF1mhS/_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/deepl-c950b784/hSlhr1iEcolF1mhS/_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/deepl-c950b784/hSlhr1iEcolF1mhS/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Project: Google Sheets - DeepL Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Open-source example showing how to build a Google Sheets App using the DeepL API.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"DeepL Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://developers.deepl.com/docs/learning-how-tos/cookbook/google-sheets\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://deepl-c950b784.mintlify.app/_mintlify/api/og/v2?division=Cookbooks\u0026amp;title=Project%3A+Google+Sheets\u0026amp;description=Open-source+example+showing+how+to+build+a+Google+Sheets+App+using+the+DeepL+API.\u0026amp;theme=a0c51edccdcaa2c1bb0516c1\u0026amp;signature=cd14d67fea24a343cfb2afd85a2e461db64255aff0c8c0494da58d34a8c2783a\">\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=\"Project: Google Sheets - DeepL Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Open-source example showing how to build a Google Sheets App using the DeepL API.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://deepl-c950b784.mintlify.app/_mintlify/api/og/v2?division=Cookbooks\u0026amp;title=Project%3A+Google+Sheets\u0026amp;description=Open-source+example+showing+how+to+build+a+Google+Sheets+App+using+the+DeepL+API.\u0026amp;theme=a0c51edccdcaa2c1bb0516c1\u0026amp;signature=cd14d67fea24a343cfb2afd85a2e461db64255aff0c8c0494da58d34a8c2783a\">\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/deepl-c950b784/hSlhr1iEcolF1mhS/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"DeepL Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0f2b46\">\u003cmeta data-mint-head name=\"google-site-verification\" content=\"0VDGg3gJk53xL5burIUykHtV_eBhXTp5AMdzaeffbbU\">\u003clink data-mint-head rel=\"canonical\" href=\"https://developers.deepl.com/docs/learning-how-tos/cookbook/google-sheets\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/learning-how-tos/cookbook/google-sheets.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://www.deepl.com/\",\"name\":\"DeepL\",\"legalName\":\"DeepL SE\",\"url\":\"https://www.deepl.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://static.deepl.com/img/logo/deepl-logo-blue.svg\"},\"sameAs\":[\"https://github.com/DeepL\",\"https://www.linkedin.com/company/deepl\",\"https://x.com/DeepLcom\",\"https://www.instagram.com/deeplhq/\",\"https://www.youtube.com/@DeepLcom\"]},{\"@type\":\"WebSite\",\"@id\":\"https://developers.deepl.com#website\",\"name\":\"DeepL Documentation\",\"url\":\"https://developers.deepl.com\",\"publisher\":{\"@id\":\"https://www.deepl.com/\"}},{\"@type\":\"WebPage\",\"@id\":\"https://developers.deepl.com/docs/learning-how-tos/cookbook/google-sheets#webpage\",\"url\":\"https://developers.deepl.com/docs/learning-how-tos/cookbook/google-sheets\",\"name\":\"Project: Google Sheets\",\"description\":\"Open-source example showing how to build a Google Sheets App using the DeepL API.\",\"dateModified\":\"2026-07-13T20:18:08.459Z\",\"isPartOf\":{\"@id\":\"https://developers.deepl.com#website\"},\"breadcrumb\":{\"@id\":\"https://developers.deepl.com/docs/learning-how-tos/cookbook/google-sheets#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://developers.deepl.com/docs/learning-how-tos/cookbook/google-sheets#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Cookbooks\",\"item\":\"https://developers.deepl.com/docs/learning-how-tos/cookbook/automating-indie-game-localization-with-the-deepl-api-and-godot\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Project: Google Sheets\",\"item\":\"https://developers.deepl.com/docs/learning-how-tos/cookbook/google-sheets\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://developers.deepl.com/docs/learning-how-tos/cookbook/google-sheets#article\",\"headline\":\"Project: Google Sheets\",\"name\":\"Project: Google Sheets\",\"description\":\"Open-source example showing how to build a Google Sheets App using the DeepL API.\",\"url\":\"https://developers.deepl.com/docs/learning-how-tos/cookbook/google-sheets\",\"mainEntityOfPage\":{\"@id\":\"https://developers.deepl.com/docs/learning-how-tos/cookbook/google-sheets#webpage\"},\"dateModified\":\"2026-07-13T20:18:08.459Z\",\"publisher\":{\"@id\":\"https://www.deepl.com/\"},\"isPartOf\":{\"@id\":\"https://developers.deepl.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"DeepL Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"DeepL Documentation","nav":{"global":null,"tabs":[{"tab":"Home","icon":"house","groups":[{"group":"Getting Started","pages":[{"title":"Quickstart","mode":"wide","href":"/docs/getting-started/quickstart"},{"title":"About","mode":"wide","href":"/docs/getting-started/about"},{"title":"SDKs","mode":"wide","href":"/docs/getting-started/client-libraries"}]},{"group":"Languages","pages":[{"title":"Languages supported","sidebarTitle":"Languages supported","mode":"wide","href":"/docs/getting-started/supported-languages"},{"title":"Using the Languages API","href":"/docs/languages/using-the-languages-api"},{"title":"Migrating from v2/languages","href":"/docs/languages/migrating-from-v2-languages"},{"title":"Language release process","mode":"wide","href":"/docs/resources/language-release-process"}]},{"group":"Going to Production","pages":[{"title":"Regional API Endpoints","href":"/docs/getting-started/regional-endpoints"},{"title":"Estimating Character Usage","href":"/docs/best-practices/estimating-character-usage"},{"title":"Pre-production checklist","mode":"wide","href":"/docs/best-practices/pre-production-checklist"},{"title":"Error handling","mode":"wide","href":"/docs/best-practices/error-handling"},{"title":"Subscription-level cost control","mode":"wide","href":"/docs/best-practices/cost-control"},{"title":"CORS requests","mode":"wide","href":"/docs/best-practices/cors-requests"},{"title":"Usage and limits","href":"/docs/resources/usage-limits"}]},{"group":"Cookbooks","pages":[{"title":"Automating Indie Game Localization with the DeepL API and Godot","href":"/docs/learning-how-tos/cookbook/automating-indie-game-localization-with-the-deepl-api-and-godot"},{"title":"Making API calls from client-side JavaScript","href":"/docs/learning-how-tos/cookbook/nodejs-proxy"},{"title":"Building a Document Translator with the DeepL API","href":"/docs/learning-how-tos/cookbook/java-document-translator"},{"title":"Usage Analytics Dashboard","href":"/docs/learning-how-tos/cookbook/usage-analytics-dashboard"},{"title":"Sending Custom Reporting Tags with Client Libraries","href":"/docs/learning-how-tos/cookbook/sending-custom-reporting-tags-from-client-libraries"},{"title":"API Usage Logger","description":"Learn how to capture per-request DeepL API usage data and visualize it in a local dashboard.","href":"/docs/learning-how-tos/cookbook/api-usage-logger"},{"title":"Project: Google Sheets","href":"/docs/learning-how-tos/cookbook/google-sheets"}]},{"group":"Developer Tools","pages":[{"title":"DeepL CLI","description":"Install and use the DeepL CLI to translate text, documents, and more from your terminal.","href":"/docs/getting-started/deepl-cli"},{"title":"Docs MCP Server","href":"/docs/getting-started/docs-mcp-server"},{"title":"Postman","mode":"wide","href":"/docs/getting-started/test-your-api-requests-with-postman"},{"title":"Developer Community","mode":"wide","href":"/docs/resources/deepl-developer-community"},{"title":"OpenAPI spec","href":"/docs/resources/open-api-spec"},{"title":"API Status Page","href":"/docs/resources/api-status-page"}]},{"group":"API Updates","pages":[{"title":"Changelog","href":"/docs/resources/roadmap-and-release-notes"},{"title":"Alpha and beta features","mode":"wide","href":"/docs/resources/alpha-and-beta-features"},{"group":"Breaking changes","pages":[{"title":"Breaking changes (Change Notices)","sidebarTitle":"Overview","mode":"wide","href":"/docs/resources/breaking-changes-change-notices"},{"title":"July 2024: Deprecation of insecure cipher suites","href":"/docs/resources/breaking-changes-change-notices/july-2024-deprecation-of-insecure-cipher-suites"},{"title":"March 2025: Deprecating GET requests to /translate and authenticating with auth_key","href":"/docs/resources/breaking-changes-change-notices/march-2025-deprecating-get-requests-to-translate-and-authenticating-with-auth_key"},{"title":"November 2025: Deprecation of query parameter and request body authentication","href":"/docs/resources/breaking-changes-change-notices/november-2025-deprecation-of-legacy-auth-methods"}]}]},{"group":"Support","pages":[{"title":"Contact","href":"/docs/resources/contact"},{"title":"Privacy","href":"/docs/resources/privacy"}]}]},{"tab":"Translate","icon":"language","pages":[{"title":"Translate","href":"/docs/translate/overview"}]},{"tab":"Voice","icon":"waveform-lines","pages":[{"title":"Voice","href":"/docs/voice/overview"}]},{"tab":"Customize","icon":"wand-magic-sparkles","pages":[{"title":"Customize","href":"/docs/customize/overview"}]},{"tab":"Admin","icon":"sliders","pages":[{"title":"Admin","href":"/docs/admin/overview"}]},{"tab":"API Reference","icon":"code","pages":[{"title":"API Reference","href":"/api-reference/translate/request-translation"}]}]},"basePath":"","title":"Project: Google Sheets - DeepL Documentation","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":["10e4515597"],"chunks":["BannerMarkdown-CX_qQQOL.js","dist-BTZUMDnx.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-xpJZXxdP.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js"]}