Dataset Deduplicator & Cleaner avatar

Dataset Deduplicator & Cleaner

Pricing

Pay per usage

Go to Apify Store
Dataset Deduplicator & Cleaner

Dataset Deduplicator & Cleaner

Remove duplicate rows from an Apify Dataset or inline JSON. Deduplicate by selected fields, trim strings, and write the cleaned rows to a new Dataset.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Starshape Tools

Starshape Tools

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Remove duplicate rows from an Apify Dataset or inline JSON and write the cleaned rows to a new Dataset.

This Actor is intentionally simple: no external API, no credentials, and the default input runs immediately.

What it does

  • Reads rows from an Apify Dataset or inline JSON
  • Deduplicates by one or more selected fields
  • Can keep the first or last duplicate
  • Optionally trims leading/trailing whitespace from text values
  • Optionally compares text keys case-insensitively
  • Writes the cleaned rows to the default Apify Dataset

Quick test

Run the Actor with the default input.

The sample contains 3 rows, including two rows with id = A001. With the default keyFields = ["id"] and keep = first, the output contains 2 rows.

Example

Input:

[
{"id":"A001","name":" Alpha ","score":10},
{"id":"A002","name":"Beta","score":20},
{"id":"A001","name":"Alpha duplicate","score":99}
]

Output:

[
{"id":"A001","name":"Alpha","score":10},
{"id":"A002","name":"Beta","score":20}
]

Dataset mode

Choose a Dataset in Source Dataset. The Actor reads up to maxItems rows from it and writes the cleaned result to the run's default Dataset.

Deduplication keys

Set Deduplication key fields to fields such as:

email

or:

firstName
lastName
company

Leave the list empty to compare the complete cleaned row.

Notes

  • The source Dataset is read-only.
  • The Actor runs with limited permissions and requests READ access only to a Dataset explicitly selected by the user.
  • maxItems is a safety limit, not pagination across multiple runs.
  • String trimming applies to top-level fields only.