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

a day ago

Last modified

Share

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

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.

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).