Google Sheets Import & Export
Under maintenancePricing
Pay per usage
Google Sheets Import & Export
Under maintenanceImport a Google Sheet range into a clean dataset, or export data (JSON/dataset) to a sheet. Service-account auth, no OAuth flow. Reliable, flat, AI-ready.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Radosław Szal
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
14 hours ago
Last modified
Categories
Share
Move data between Google Sheets and Apify — no OAuth dance, no browser:
- Import — read a sheet range into a clean, flat dataset (JSON/CSV/Excel).
- Export — write JSON data (or a whole Apify dataset) into a sheet, overwrite or append.
Pairs with any scraper: scrape → export to a sheet, or import a sheet → feed your pipeline.
Setup (once, ~2 min) — service account
The actor authenticates with a Google service account (a robot Google account), so it only ever touches sheets you explicitly share with it:
- In Google Cloud Console → APIs & Services → enable the Google Sheets API.
- IAM & Admin → Service Accounts → create one → Keys → Add key → JSON → download.
- Open the JSON, copy its contents into the Google service account key input (stored as a secret).
- Share your spreadsheet with the service account's e-mail (the
client_emailin the JSON) — Viewer for import, Editor for export.
Import
{ "mode": "import", "spreadsheetId": "1AbC…xyz", "range": "Sheet1!A:Z", "firstRowAsHeader": true }
Row 1 becomes the field names; each following row becomes a record (plus _row, the sheet row number).
With firstRowAsHeader: false the columns are named A, B, C…
Export
{ "mode": "export", "spreadsheetId": "1AbC…xyz", "range": "Sheet1!A1","data": [ { "name": "Ada", "score": 91 }, { "name": "Alan", "score": 88 } ],"includeHeader": true, "append": false }
- Objects → keys become the header row (order = first seen, or set
columns). - Arrays → written positionally, no header.
append: trueadds rows after the existing data instead of overwriting the range.- Or set
sourceDatasetIdinstead ofdatato export a whole Apify dataset.
Each written row comes back as a dataset record (a receipt of exactly what was sent to the sheet).
Notes
- Integration, not scraping — reads/writes only sheets you share with the service account. No public scraping, no personal data harvested from third parties.
- Backs off automatically on Google API rate limits (HTTP 429).
- Pricing — pay per row (result-item), flat. The first rows of every run are free to test.
- Migration-safe imports (a restarted run resumes without duplicating rows) and overwrite-mode
exports (idempotent). Append-mode export is best-effort at-least-once — for exactly-once on a
platform restart, use overwrite mode (
append: false).