Scraped Data Cleaner & Converter (No-Code CSV/JSON Tool) Rental
Pricing
$2.90/month + usage
Scraped Data Cleaner & Converter (No-Code CSV/JSON Tool) Rental
Clean and organize scraped .json or .csv data β no coding required. Remove duplicates, empty rows, unwanted columns, and sort by any field. Cleaned results are pushed to your Apify dataset. Perfect for marketers, researchers, and no-code workflows.
Pricing
$2.90/month + usage
Rating
5.0
(1)
Developer
Actor stats
3
Bookmarked
11
Total users
0
Monthly active users
a year ago
Last modified
Categories
Share
π§Ή Scraped Data Cleaner & Converter (No-Code CSV/JSON Tool)
Clean and filter scraped datasets from .json or .csv files β no coding required.
This Actor helps you transform messy data into clean, analysis-ready results. Whether you're working with leads, profiles, product listings, or survey results, it removes the noise and gives you back structured rows that actually matter.
β Features
- Accepts both
.csvand.jsonfiles (uploaded directly or linked from Apify Key-Value Store) - Removes duplicate rows based on a field you choose (e.g.
email,sku) - Discards rows missing required data
- Choose whether all required fields must be filled or just one
- Optionally remove rows with no meaningful values
- Filter rows that match a specific field-value pair (e.g.
status = active) - Delete unwanted fields (columns in CSV / keys in JSON)
- Sort rows by one or more fields (text, number, date supported)
- Pushes cleaned results to the Apify dataset for flexible exporting
π§Ύ How to Use
The Actor provides a clean no-code interface. Just upload a file and select any combination of cleaning options.
1.1 π Uploaded Data File
Upload a .csv or .json file manually β or enter a full Apify Key-Value Store URL pointing to one.
When uploading directly, you'll see a window titled βUpload file to key-value storeβ with these options:
- β New temporary storage (recommended) β creates short-lived storage with no additional cost
- ποΈ New permanent storage β for keeping the file long-term
- π Existing storage β reuse an existing Apify KV store
If youβre cleaning a one-off dataset, just use the default temporary option. Itβs lightweight, instant, and cost-free.
1.2 π§ Deduplicate By Field
Specify a field name (e.g. email, id) to remove duplicate rows. Only the first occurrence of each unique value is kept.
1.3 π§Ή Remove Empty Rows
Enable to discard rows where all fields are blank, null, or empty strings. Works for both JSON and CSV rows.
2.1.1 π Must-Have Fields
List field names (e.g. email, profile, company) that should contain data. Rows missing those fields will be removed.
2.1.2 π Match All Required Fields
Enable for strict filtering: only rows with all listed fields filled will be kept.
Disable to allow rows with any one field filled.
2.2.1 π― Filter by Field
Specify a field name (e.g. members) to match against a specific value.
2.2.2 π― Match Specific Value
Enter the exact value the field should contain (e.g. pro). Only rows with that exact match will be kept.
3.1 πͺ Remove Columns (optional)
List column names you want deleted from every row (status, id, etc.). Applies to both CSV and JSON files.
4.1 π Sort By Fields
Enter a list of field names to sort by, in order of priority (status, createdAt, email, etc.).
4.2 π Sort Descending
Enable to reverse the sort direction (ZβA, latest-to-earliest, etc.).
π Output
Cleaned rows are pushed to your Apify dataset.
You can export in any format β CSV, JSON, Excel, HTML Table, RSS, JSONL, and more β from the Actor run page or via API.
π§ Whatβs It Good For?
Letβs say you scraped a bunch of data β like contacts, products, survey answers, whatever. This tool helps clean it up and make it actually usable.
You can:
- Get rid of duplicate entries, like the same email showing up twice
- Filter out rows that are missing stuff you care about β like empty emails or profiles
- Keep only the ones with specific values (like people who have
status: activeormembers: pro) - Delete random columns you donβt need, like
internalNotesordebugInfo - Sort everything β by date, group, name, whatever you want
- Convert between
.jsonand.csvso you can open the file wherever - Basically, take any messy scraped file and make it clean, neat, and ready to use
Itβs like having a smart assistant that tidies your data for you without writing a single line of code.
π No Coding Required
You donβt need any JavaScript, parsing logic, or scripting knowledge. Just upload your file, tweak a few inputs, and go.
Ideal for:
- Marketers analyzing scraped leads
- Researchers organizing field data
- Journalists working with tabular records
- Data-driven workflows powered by no-code integrations
π§ͺ Sample Pre-Filled Input
To try it instantly, use the example CSV file provided in the interface or paste this Apify URL:
https://api.apify.com/v2/key-value-stores/9oIROyE5tcs83ZqP5/records/data-example.csv
π Input vs Output Examples
π Original CSV
| group | name | status | members | ||
|---|---|---|---|---|---|
| 3 | Bob | bob@example.com | active | basic | |
| 1 | Eve | eve@example.com | active | pro | |
| 1 | Charlie | https://linkedin.com/in/charlie | inactive | ||
| 2 | Dana | pending | guest | ||
| 1 | Eve | eve@example.com | active | pro | |
| 1 | Alice | alice@example.com | https://linkedin.com/in/alice | active | pro |
1.2 π§ Deduplicate By Field: email
Duplicate row for eve@example.com is removed.
| group | name | status | members | ||
|---|---|---|---|---|---|
| 3 | Bob | bob@example.com | active | basic | |
| 1 | Eve | eve@example.com | active | pro | |
| 1 | Charlie | https://linkedin.com/in/charlie | inactive | ||
| 2 | Dana | pending | guest | ||
| 1 | Alice | alice@example.com | https://linkedin.com/in/alice | active | pro |
1.3 π§Ή Remove Empty Rows
Removes the row with no values (between Charlie and Dana).
| group | name | status | members | ||
|---|---|---|---|---|---|
| 3 | Bob | bob@example.com | active | basic | |
| 1 | Eve | eve@example.com | active | pro | |
| 1 | Charlie | https://linkedin.com/in/charlie | inactive | ||
| 2 | Dana | pending | guest | ||
| 1 | Alice | alice@example.com | https://linkedin.com/in/alice | active | pro |
2.1.1 π Required Fields: email, linkedin
2.1.2 π Match All Required Fields: π OFF β keeps rows with at least one of the fields filled
| group | name | status | members | ||
|---|---|---|---|---|---|
| 3 | Bob | bob@example.com | active | basic | |
| 1 | Eve | eve@example.com | active | pro | |
| 1 | Charlie | https://linkedin.com/in/charlie | inactive | ||
| 1 | Alice | alice@example.com | https://linkedin.com/in/alice | active | pro |
2.1.1 π Required Fields: email, linkedin
2.1.2 π Match All Required Fields: π’ ON β keeps only rows with both fields filled
| group | name | status | members | ||
|---|---|---|---|---|---|
| 1 | Alice | alice@example.com | https://linkedin.com/in/alice | active | pro |
2.2.1 π― Filter by Field: members
2.2.2 π― Match Specific Value: pro
Keeps only rows where the members field is exactly pro.
| group | name | status | members | ||
|---|---|---|---|---|---|
| 1 | Eve | eve@example.com | active | pro | |
| 1 | Alice | alice@example.com | https://linkedin.com/in/alice | active | pro |
3.1 πͺ Remove Columns: linkedin, status
Removes those columns from all rows.
| group | name | members | |
|---|---|---|---|
| 3 | Bob | bob@example.com | basic |
| 1 | Eve | eve@example.com | pro |
| 1 | Charlie | ||
| 2 | Dana | guest | |
| 1 | Alice | alice@example.com | pro |
4.1 π Sort By Fields: group, then name
4.2 π Sort Descending: π OFF β lowest group first, AβZ within group
| group | name | status | members | ||
|---|---|---|---|---|---|
| 1 | Alice | alice@example.com | https://linkedin.com/in/alice | active | pro |
| 1 | Charlie | https://linkedin.com/in/charlie | inactive | ||
| 1 | Eve | eve@example.com | active | pro | |
| 2 | Dana | pending | guest | ||
| 3 | Bob | bob@example.com | active | basic |
4.1 π Sort By Fields: group, then name
4.2 π Sort Descending: π’ ON β highest group first, ZβA within group
| group | name | status | members | ||
|---|---|---|---|---|---|
| 3 | Bob | bob@example.com | active | basic | |
| 2 | Dana | pending | guest | ||
| 1 | Eve | eve@example.com | active | pro | |
| 1 | Charlie | https://linkedin.com/in/charlie | inactive | ||
| 1 | Alice | alice@example.com | https://linkedin.com/in/alice | active | pro |
βοΈ Pay Per Event (PPE) vs Rental β Which Version Should You Use?
| Feature | π’ PPE Version | π΅ Rental Version |
|---|---|---|
| Pricing Model | Pay Per Event | Monthly Subscription |
| Cost | $0.03 per run | $2.90/month |
| Usage Charges | β No compute/storage fees | β οΈ Usage billed separately (CU, dataset) |
| Free Trial | β None | β 7 days free |
| Output Storage | Key-Value Store (CSV + JSON) | Dataset Export |
If you clean data occasionally and want zero billing surprises, use the PPE version β simple, predictable pricing.
If you run this frequently (e.g. 100+ runs/month), the Rental version offers better long-term value, and includes a 7-day free trial.
π¬ Feedback & Ideas
Want new filtering modes, regex support, or nested data handling?
Have ideas to make it even simpler for non-coders? Just send me a message β Iβd love to hear how you're using the tool.
