Dataset to Google Sheets — Reliable Export
Pricing
from $1.00 / 1,000 results
Dataset to Google Sheets — Reliable Export
Append any Apify dataset to a Google Sheet via a service account, with a stable header, column union across ragged rows, and flattened nested values. Honest errors (e.g. share-the-sheet reminder). Pure logic.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
alaudin burki
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
a day ago
Last modified
Categories
Share
Append any Apify dataset to a Google Sheet via a service account, with a stable header, column union across ragged rows, flattened nested values, and safe existing-header reconciliation. Honest errors (e.g. share-the-sheet reminder).
Built reliability-first: every row reports what was found and what was missing — you never get a silent blank, and a run summary tells you exactly what happened.
What you get
| Field | Description |
|---|---|
status | Status |
spreadsheetId | Spreadsheet Id |
sheet | Sheet |
rowsWritten | Rows Written |
columns | Columns |
headerIncluded | Header Included |
existingHeaderReused | Existing columns were preserved rather than writing a duplicate header |
headerExtended | Newly observed source fields were added to the existing header |
rowsUpdated / rowsAppended | When upsertKey is set, matched rows updated in place and new rows appended |
How to use it
- Fill in the input (see the example below).
- Run it once for a snapshot, or schedule it to keep the data fresh.
- Export to CSV/JSON/Excel, or push straight to Google Sheets, Notion, Airtable, Zapier, Make, or n8n.
Input
{"serviceAccountJson": {},"spreadsheetId": "EX12345","sheetName": "Sheet1","items": [],"includeHeader": true}
Sample output
[{"status": "ok","spreadsheetId": "EX12345","sheet": "example","rowsWritten": "example","columns": "example","headerIncluded": "example"}]
Typical uses
- Schedule it and feed the output straight into your sheet, database, or app.
- Pair it with the related actors below to build a complete pipeline.
Safe recurring exports
Leave Reconcile existing header on for a scheduled export. The Actor reads the first row of an
existing headed tab, keeps that column order, and extends it only when the source introduces a new
field. This prevents a changing scraper schema from shifting values under the wrong header. It also
retries an explicit Google 429 rate-limit response (never ambiguous write timeouts) and stores a
WRITE_REPORT with chunk progress if a later delivery chunk fails.
Optional idempotent exports
Set Upsert key to a stable source field such as id or email to update a matching existing
row instead of appending a duplicate. This requires a header row. The actor reads the existing tab
only in this mode, updates matching key rows through Google Sheets' batch API, and appends new or
empty keys. It refuses duplicate non-empty keys in either the input or existing Sheet rather than
guessing which record should win.
Pricing
$1.00 / 1,000 results ($0.001 per result), plus a near-zero start fee. You are never charged beyond your limit, and blocked or
failed items are reported honestly — not billed as data.
FAQ & limitations
- Public data only — no login walls, no cookies required.
- Rate limits on the source may require the proxy or a retry on very large pulls.
- Every row reports its own status, so partial results are always labeled, never faked.
- Integrations: output works with Zapier, Make, n8n, and any webhook via Apify's integrations.
- Formats: results export as JSON, CSV, Excel, or HTML from the dataset.
Related actors
- Format Converter
- Dataset Profiler
- Dataset → Google Sheets