Persistent Dataset Appender for Apify
Pricing
$0.50 / 1,000 dataset row appendeds
Persistent Dataset Appender for Apify
Append Apify dataset rows into one persistent named dataset with retry protection and webhook-ready automation.
Pricing
$0.50 / 1,000 dataset row appendeds
Rating
0.0
(0)
Developer
Austin DeMoss
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
3 days ago
Last modified
Categories
Share
Append rows from one Apify dataset into a persistent named dataset — manually or automatically after another Actor run succeeds.
Use this when repeated Actor runs should accumulate into one long-lived dataset instead of leaving results split across many run datasets.
What you get
- One persistent destination for results produced across repeated runs
- Webhook-ready automation using the source run's
defaultDatasetId - Retry protection that skips completed source datasets and resumes interrupted copies
- Limited permissions — the Actor requests READ access only to the selected source dataset
- Predictable pay-per-event pricing based on rows actually appended
Basic input
{"targetDatasetName": "accumulated-results","sourceDatasetId": "YOUR_SOURCE_DATASET_ID"}
In Apify Console, sourceDatasetId is a dataset picker. API callers can pass a dataset ID or unique name.
Automatic webhook / Actor integration
Trigger this Actor after an upstream Actor succeeds and pass the upstream run's dataset into the input:
{"targetDatasetName": "accumulated-results","sourceDatasetId": "{{resource.defaultDatasetId}}","sourceActorRunId": "{{resource.id}}"}
sourceActorRunId is optional trace metadata. The permission-bearing input is sourceDatasetId.
Pricing
The production pay-per-event event is dataset-row-appended.
- $0.0005 per successfully appended row
- $0.50 per 1,000 appended rows
The Actor charges only after a target batch is successfully written when PPE pricing is active. It checks the run's remaining charge budget before copying so a max-charge limit can stop the run gracefully.
Private cloud validation measured about $0.00663 of Apify platform usage for a successful 1,000-row append. Actual platform usage can vary by run.
Retry behavior
skipPreviouslyAppended defaults to true.
Progress is stored using the resolved target dataset ID and source dataset ID. A normal retry:
- skips a source dataset that already completed, or
- resumes from the last recorded source offset after an interrupted run.
This is retry protection, not transactional exactly-once delivery. If the process stops after a target batch is written but before its checkpoint is stored, a retry can duplicate at most that uncheckpointed batch. The current batch size is 50 rows.
Output
The persistent named target dataset contains the copied source rows.
This Actor's default dataset contains one summary row with:
- status
- target dataset name and ID
- source dataset ID
- optional source Actor run ID
- source row count
- rows appended in this run
- rows already appended before this run
- duplicate-skip status
- budget-limit status
What this Actor deliberately does not do
It does not transform, join, clean, filter, crawl, call an LLM, or act as a general ETL toolkit.
Its job is intentionally small: reliably accumulate Apify dataset rows into one persistent dataset.