Google Sheets Export (Dataset to Sheet)
Pricing
from $35.00 / 1,000 1,000 rows writtens
Google Sheets Export (Dataset to Sheet)
Write any Apify dataset to a Google Sheet: replace or append, auto columns, nested fields flattened, dedup on append. Uses your own service account. $0.05 per 1,000 rows.
Pricing
from $35.00 / 1,000 1,000 rows writtens
Rating
0.0
(0)
Developer
Actor Factory
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 hours ago
Last modified
Categories
Share
Google Sheets Export — send any Apify dataset to a Google Sheet, reliably
Writes one or more Apify datasets into a Google Sheet. Built to just work: retries on Google rate limits (429) and server errors, clear error messages, and no surprises with nested data.
- Replace the tab, or append below existing rows (columns are matched to your existing header; new columns are added on the right)
- Auto columns: nested objects become
address.city, arrays becomea; b(or JSON text) - Dedup on append: skip rows whose key already exists in the sheet
- Creates the tab if it does not exist; cells are capped at Google's 50,000 characters; stops with a clear reason before hitting the 10-million-cell limit
- Your own Google service account; the key is used only in memory and never logged or stored
- $0.05 per 1,000 rows written (rounded up). Set a max charge per run to cap spend.
- Leave
datasetIdsandspreadsheetIdempty for a free demo on sample data (nothing is sent to Google)
Use cases
- Share Google Maps leads or job listings with a sales or recruiting team in a Google Sheet
- Append the results of a scheduled scraper to one sheet every day, skipping rows already there
- Hand cleaned data to non-technical colleagues without CSV downloads
One-time setup (about 5 minutes)
- In Google Cloud Console, create or pick a project and enable the Google Sheets API.
- Go to IAM & Admin > Service Accounts > Create service account (no roles needed).
- Open the account > Keys > Add key > Create new key > JSON. A JSON file is downloaded.
- Open your Google Sheet > Share, paste the service account's
client_email(looks likename@project.iam.gserviceaccount.com, found in the JSON) and give it Editor access. - Paste the whole JSON file into Service account key in this Actor's input.
Input example
{"datasetIds": ["aBcDeF123"],"spreadsheetId": "https://docs.google.com/spreadsheets/d/1AbC.../edit","serviceAccountKey": "{ ...paste the JSON key... }","sheetName": "Leads","mode": "append","dedupKey": "url"}
Output
The default dataset gets one summary item per run; details are in the key-value store record RESULT:
{ "spreadsheetUrl": "https://docs.google.com/spreadsheets/d/.../edit#gid=0", "sheetName": "Leads", "mode": "append","rowsWritten": 1200, "columns": ["name", "url", "address.city"], "skippedDuplicates": 35 }
Common problems
- 403 / "share the spreadsheet": share the sheet with the
client_emailas Editor (step 4), and check the Sheets API is enabled. - "service account key is not valid": paste the complete JSON file, including
client_emailandprivate_key. - "Key creation is disabled" / no "Add key" option: many Google Workspace (company) organizations block service account keys by default
(policy
iam.disableServiceAccountKeyCreation). Either ask your Google Cloud admin to turn that policy off for one project only, or create the project with a personal Google account and share the sheet with itsclient_email. - Stopped at the cell limit: Google allows 10,000,000 cells per spreadsheet. Use
fieldsto write fewer columns, or another spreadsheet.
Billing
You are charged only after rows are written successfully. If Google rejects a write, nothing is charged for those rows.
Privacy
Your key is kept in memory for the duration of the run only. It is never written to logs, the dataset or the key-value store. Use a dedicated service account with access only to the sheets you need.
Pricing
Pay per event: $0.05 per 1,000 rows written (partial thousands round up). Reading datasets is free.
More tools from the same developer
- Google Maps Leads Cleaner — dedupe Google Maps scraper results, format phones (E.164), CRM-ready leads
- Dataset Merge & Dedup — merge Apify datasets and remove duplicates by the fields you choose
- Google Maps Reviews Analyzer — per-place ratings, trends, owner response rate and top terms from Google Maps reviews
- Job Postings Normalizer — unify fields, salaries and dates from any job scraper and remove duplicates
- SERP Analyzer — rankings, share of voice and People Also Ask from Google Search scraper datasets