Metaworld Data Cleaner avatar

Metaworld Data Cleaner

Pricing

from $1.25 / 1,000 results

Go to Apify Store
Metaworld Data Cleaner

Metaworld Data Cleaner

Messy CSV in — validated, deduplicated, typed records out, with a data-quality report naming every rejected row and why.

Pricing

from $1.25 / 1,000 results

Rating

0.0

(0)

Developer

Metaworld Systems

Metaworld Systems

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

11 days ago

Last modified

Share

Messy CSV in → validated, deduplicated, normalized records out — with a data-quality report that names every rejected row and why.

Small-business data is never clean. This Actor is the boring, reliable step you actually want before anything touches your CRM, ledger, or dashboard: it validates, normalizes, and deduplicates a CSV, then hands you a clean dataset plus a report you can show a stakeholder.

Built and maintained by Metaworld Systems.

What it does

  • Normalizes every field — trims whitespace, strips control characters, and standardizes dates (YYYY-MM-DD), phone numbers ((727) 450-9666), and currency (1234.50) based on the column name.
  • Validates rows against required columns you choose — anything missing a required value is rejected, not silently dropped.
  • Deduplicates on a key column, with optional latest-wins survivorship using a timestamp column.
  • Reports — a quality report is written to the key-value store (QUALITY_REPORT) with row counts and reasons for up to the first 1,000 rejected rows; a truncation flag is set if more were rejected.

Input

FieldDescription
csvUrlPublic URL of a CSV to clean.
csvTextOr paste raw CSV (with a header row).
requiredColumnsRows missing any of these are rejected.
dedupeKeyColumn used to detect duplicates (optional).
timestampColumnWhen deduping, keep the newest row by this column.

Provide either csvUrl or csvText.

Output

  • Dataset — one item per cleaned, validated, deduplicated row (export as CSV, JSON, or Excel).
  • Key-value store QUALITY_REPORTrows_in, rows_cleaned, rows_rejected, up to 1,000 rejected rows with reasons, and rejected_detail_truncated.

Example

Input csvText:

order_id,customer,order_date,amount,phone
1001, Acme Co ,2026-1-3,"$1,299.00",7274509666
1001,Acme Co,01/03/2026,1299,(727) 450-9666
1002,,2026-02-15,89.5,555 123 4567

With requiredColumns=["order_id","customer"], dedupeKey="order_id", timestampColumn="order_date":

  • Row 1002 is rejected (missing customer).
  • The two 1001 rows collapse to one (latest-wins).
  • Dates become 2026-01-03, amount becomes 1299.00, phone becomes (727) 450-9666.

Why this one

The value is the report that tells you which rows failed and why, so you can review and correct the data before downstream use.

Metaworld does not copy run input or output outside the Actor's Apify storages. Your Apify account settings and Apify's terms control platform storage, retention, and access.

Configured required, deduplication, and timestamp columns must exist in the header. A row with a blank deduplication key is rejected so unrelated blank-key rows are never collapsed together. Remote CSV input must use a public HTTP(S) URL; literal private and local addresses are rejected.