An Apify Actor

Your scraped data in Google Sheets. No duplicates.

Send any Apify dataset to a Google Sheet, every day, without copy-paste. New rows are added, existing rows are updated, duplicates are skipped.

Try it free on Apify → How it works Free demo mode · works on Apify's free plan
Why people use it

Built to finish the job

Four modes

Pick what fits your sheet.

appendupsertreplaceexport

No duplicate rows

Run it on a schedule: rows already in the sheet are skipped automatically.

Real upsert

Rows are matched by a key such as url or id and updated in place. Your formulas in other columns stay untouched.

Doesn't give up

Writes in batches and retries Google's rate limits automatically. One bad batch never sinks the whole run.

Errors you can act on

"Share the sheet with this email as Editor": every error says exactly what to fix, before anything is written.

Nested data, flat columns

JSON like address.city becomes its own column; lists are joined with "; ".

Setup

Five minutes, once

A free Google service account lets the Actor edit only the sheets you share with it. You don't need any other account or app.

Five setup steps: enable the Google Sheets API, create a service account, download a JSON key, share your sheet with the service account email, paste the JSON into the Actor and run
Pricing

Pay only for rows written

$1.00per 1,000 rows written or updated
$0.50per 1,000 rows exported from a sheet
$0.00005per run start · platform usage included

Skipped duplicates, failed rows, retries, dry runs and demo mode cost nothing extra. Set a spending limit and the Actor stops cleanly when it's reached.

Questions

FAQ

Do I need to code?

No. You fill in a form on Apify: the sheet link, your data and the service account key. Setup is explained step by step.

Can I try it without setting anything up?

Yes. Run it with the example input: demo mode shows a preview of the header and rows it would write, without touching any sheet.

Is my Google account safe?

The Actor signs in as a service account that can open only the sheets you explicitly share with it. The key is stored encrypted by Apify and never written to logs.

Which data can I send?

Any Apify dataset (for example from a Google Maps, e-commerce or listings scraper) or rows pasted as JSON.

Stop pasting. Start syncing.

Open the Actor on the Apify Store, run the free demo, then connect your sheet.

Open on Apify Store →