Official scripts
Explore our curated collection of scripts
Sheets: export / download
Download a Google Spreadsheet to a local file in your chosen format. Returns path (or url on cloud browsers) and filename. xlsx/ods/pdf/zip export the whole doc; csv/tsv export a single tab (pass gid).
Google Docs: suggest edits (find and replace in Suggesting mode)
Edit an existing Google Doc in Suggesting mode: each find/replace pair becomes a tracked suggestion the owner can accept or reject, rather than a direct edit. Returns, per pair, how many matches were found and whether a suggestion was created, plus the Google account that made the suggestions. Matching is literal and case-sensitive by default. Accents count, so "café" does not match "cafe". Use dryRun to count matches without changing anything. Needs comment or edit access to the document.
Sheets: list tabs
List the tabs of a Google Spreadsheet. Returns sheets (name, gid) and the spreadsheet title. gid feeds sheets_read_tab / sheets_write_cells / the edit?gid= URL.
Get Current Docs/Sheets User
Report which Google account Google Docs/Sheets is signed in as in this browser: display name and email, read from Google's account button. Being signed out is reported as a normal answer (loggedIn false), not an error, so it can be used to check a session before running other Docs or Sheets scripts.
Google Docs whoami (signed-in account)
Report which Google account Google Docs/Sheets is signed in as in this browser: display name and email, read from Google's account button. Being signed out is reported as a normal answer (loggedIn false), not an error, so it can be used to check a session before running other Docs or Sheets scripts.
Sheets: add tab
Add a tab to a Google Spreadsheet, optionally naming it in the same pass. Returns the new tab's gid and final name. Waits for the editor's save before resolving; needs edit rights.
Sheets: rename spreadsheet
Rename a Google Spreadsheet (the document title, not a tab). Returns the title as displayed after the rename. Waits for the rename to persist server-side before resolving; needs edit rights.
Sheets: delete tab
Delete one tab of a Google Spreadsheet by gid. Returns deletedGid and remainingTabs (names left). The sheet's data goes with it (recover via Undo / Drive history); an unknown gid throws rather than risk deleting the wrong sheet; needs edit rights.
Sheets: new spreadsheet
Create a new Google Spreadsheet in My Drive, optionally with a title. Returns spreadsheetId, url, and firstGid (always 0). The file lands in Drive root (My Drive); moving it elsewhere is a Drive action, not a Sheets one.
Google Workspace unofficial API: list your invoices by date range
An unofficial Google Workspace API for billing invoices. List Google Workspace billing documents from the Admin Console for one date range (This month … All time) and one format (CSV or PDF). Returns account and invoices (label, format, createdDate, invoiceNumber) — metadata only. Feed a row's label, with the same dateRange and format, to admin.google.com/download_invoice to get the file.
List Google Search Console sitemaps
Lists the sitemaps submitted for a Google Search Console property, with when each was submitted and last read, its fetch status, and how many pages and videos Google discovered in it. Takes the property as listed by search.google.com/list_properties.
Download a Google Drive file
Download one Drive file by id to the device. Binary files (PDFs, images, video, Office documents) download as stored; Google-native Docs, Sheets and Slides are converted on the way out, so pass format to choose pdf, docx, xlsx, csv and the rest. Returns the saved filename and location. For a whole folder, list it first and call this once per file.
Get Google Scholar author's papers
Fetch a Google Scholar author's profile (name, affiliation, verified-email domain, interest tags, citation metrics) plus their publication list, sorted by citation count as the profile itself shows. Google Scholar loads 20 papers at a time behind a "Show more" click; pass count to load further pages (capped at what the profile actually has).
Google Scholar unofficial API: search authors
Search Google Scholar's author (Profiles) directory by name/keywords. Returns each matching author's id, name, affiliation, verified-email domain, interest tags, and total cited-by count, plus a cursor for the next page.
Google Workspace unofficial API: download an invoice PDF or CSV
An unofficial Google Workspace API to download billing invoices. Download a single Google Workspace billing document (CSV or PDF) by its line-item label from admin.google.com/list_invoices (pass the same dateRange/format used to list it). Returns the file bytes as base64 plus a filename.
Download a Google Payments invoice (Google One, YouTube, Google Play)
Download the invoice PDF of one Google charge, such as a Google One or Google AI plan, YouTube Premium, or a Google Play purchase (pay.google.com > Activity > Transaction details > Download tax invoice). Pass the row's transaction label as returned by pay.google.com/list_transactions (e.g. "12 Mar · 100 GB (Google One)"); the first (newest) matching row wins. Returns Google's filename and the path where the browser saved the PDF (or a url to it on a managed browser), so you can read or move it directly.
Search Doctolib practitioners
Search Doctolib practitioners by specialty and location. Returns total, page, and providers with full_name, specialty, address, sector, payment_means, languages, telehealth, online_booking, matched_visit_motive, and profile_path. There are 20 providers per page and the order is server-ranked; profile_path (including ?pid=practice-N) is the join key for get_practitioner and list_slots.
Search Google News
Search Google News for articles by keyword and return each result's title, source, publish timestamp, byline and Google News article link. Anonymous, read-only. Scrolls Google News's own infinite-scroll list until `count` results are collected or the list is exhausted (~10 per scroll). Supports Google's `when:` recency operator and the hl/gl locale parameters. Run this on a paired browser: Google answers datacenter addresses with its "unusual traffic" check instead of results, so runs on a managed browser are refused with a clear message rather than returning articles.
Search Medium articles
Search Medium for articles by keyword: title, URL, author, publication, tags, claps, read time, and whether the article is locked (member-only). No login required.
Get Medium article details
Fetch a Medium article's metadata: title, description, author, publication, published date, tags, read time, and whether it's free to read. No login required.
Search Google
Run a Google search and return the page's organic result cards (title, url, site, byline, meta, snippet), with redirect wrappers already cleaned from urls. Runs logged out by default; if the browser happens to carry Google cookies, results are personalized to that account/IP. Google serves result links as redirects rather than destination addresses, so each one is followed far enough to read the address it points at before the results are returned. That adds a fraction of a second per result, and each destination site sees one request. Supports full Google query syntax: site:, quoted "exact phrases", OR, -exclude, intitle:. Quoted phrases return a smaller, more precise set; dropping quotes broadens recall with some near-miss results mixed in. Use site: to scope a domain/path, e.g. site:www.linkedin.com/in. Each call returns one results page (up to ~10 organic cards, no per-call count option). Use `page` (0-based) to move through further pages, mirroring the search results pager. Pages are reproducible on the same account/IP and are largely non-overlapping (occasional overlap of one result at page boundaries), so different pages can be fetched concurrently and unioned — always dedupe by canonical url. Narrow queries return the same results in the same order across replays on one account/IP; very broad, high-volume queries may reorder between runs. For broader coverage, fetch multiple pages concurrently and/or split the query itself — vary the site: path, phrases/OR-terms, or use `freshness` for disjoint date-bounded windows. Always dedupe by url.
Sheets: rename tab
Rename one tab of a Google Spreadsheet by gid. Returns the gid and the name as displayed after the rename. If no tab in the spreadsheet has that gid it stops with a clear error instead of renaming a different tab. Waits for the editor's save before resolving; needs edit rights.
Sheets: clear range
Clear the values of an A1 range in one tab of a Google Spreadsheet (values only, formatting stays). Returns range and cleared. Clearing an already-empty range is a safe no-op; needs edit rights.
Search Google Drive
Search Google Drive by free text, or filter by name, file type, owner and modified-date range. Returns each match's file id, name, link and the folder it sits in. Drive's search results carry no sizes, types or dates, so filter by type rather than expecting those fields back, and use the folder listing script when you need full metadata.
Maps: Search Businesses
Search for businesses on Google Maps (anonymous, no login): name, category, address, phone, website, rating, reviews, GPS, place_id. Paginates via scrolling, controlled by the count argument.
