Google Sheets Export & Import — Reliable, Append & Dedupe avatar

Google Sheets Export & Import — Reliable, Append & Dedupe

Pricing

from $0.20 / 1,000 rows

Go to Apify Store
Google Sheets Export & Import — Reliable, Append & Dedupe

Google Sheets Export & Import — Reliable, Append & Dedupe

Send any Apify dataset to Google Sheets (replace, append or append without duplicates) or import a sheet into a dataset. Service-account auth that doesn't expire, automatic retries on Google quotas, nested JSON flattened into columns, big datasets in chunks.

Pricing

from $0.20 / 1,000 rows

Rating

0.0

(0)

Developer

tidydata

tidydata

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

📊 Google Sheets Export & Import — reliable, append & dedupe

An Apify dataset of 20 fuel stations written to a Google Sheet in one run (real output)

Send any Apify dataset to Google Sheets in one run, or import a sheet into a dataset. No Google Cloud setup, no OAuth pop-ups that expire: just share your spreadsheet with our email and run.

  • ✅ Replace, Append, or Append without duplicates (by key columns like url or id)
  • ✅ Nested JSON flattened into columns (price.value, address.city); lists joined as text
  • ✅ Automatic retries when Google rate-limits, big datasets written in chunks
  • ✅ New columns are added at the end when appending, nothing gets overwritten
  • ✅ Values written as plain data (RAW), so scraped text can never run as a formula
  • ✅ Import any tab into a dataset (one row per sheet row, header = field names)
  • ✅ You pay only for rows written or imported

Setup (30 seconds)

  1. Open your Google spreadsheet → Share.
  2. Add tidydata@tidydata-sheets.iam.gserviceaccount.com as Editor (untick "Notify").
  3. In this Actor: paste the spreadsheet URL, pick the dataset, choose a write mode, run.

🔒 Privacy: the first Apify account that uses a spreadsheet becomes its owner for this Actor; any other account is refused, even if it knows the URL. You can remove our email from the sheet at any time. Advanced users can paste their own service account key instead.

Use it after another Actor (integration)

In your scraper's Integrations tab add this Actor and set datasetId to {{resource.defaultDatasetId}}. Every run then lands in your sheet automatically; use Append without duplicates to keep one growing, clean table.

Clean the data first: put Merge, Filter, Deduplicate & Transform between your scraper and this Actor (scraper → Merge → Google Sheets) to filter rows, remove duplicates, rename or drop columns and keep only rows not seen in earlier runs.

Output

Export: one summary row with the spreadsheet link, tab, rows written and columns. Import: one dataset row per sheet row.

{
"spreadsheetUrl": "https://docs.google.com/spreadsheets/d/…/edit#gid=825613968",
"sheetName": "Apify",
"writeMode": "replace",
"rowsWritten": 47,
"columns": 16
}

Pricing

Pay per row written or imported. Duplicates skipped are free. Running without a spreadsheet shows a free preview of how your data becomes columns.

Limits

Google Sheets holds up to 10 million cells per spreadsheet and 50,000 characters per cell (longer text is truncated and marked).

FAQ

Do I need a Google Cloud project or an API key? No. Share the spreadsheet with tidydata@tidydata-sheets.iam.gserviceaccount.com as Editor and run. If you prefer, paste your own service account key instead.

What is the difference between the write modes? Replace clears the tab and writes your data. Append adds rows under the existing ones. Append without duplicates skips rows whose key columns (e.g. url or id) are already in the sheet.

How much does it cost? Pay per row written or imported. Duplicates skipped are free. Running without a spreadsheet shows a free preview of how your data becomes columns.

Can it run automatically after my scraper? Yes. Add it in your scraper's Integrations tab with datasetId set to {{resource.defaultDatasetId}}, or run it on an Apify schedule.

Why do I get "doesn't exist or isn't shared"? The spreadsheet is not shared with our email as Editor, or the link or ID is wrong. Share it and run again.

Why is my spreadsheet "already linked to a different Apify account"? With our shared email, each spreadsheet belongs to the first Apify account that used it, so nobody else can read or overwrite it. Use your own copy of the spreadsheet, or your own service account key.