Apify Dataset Quality Profiler
Pricing
Pay per usage
Apify Dataset Quality Profiler
Profile missing fields, nulls, empty strings, JSON types, distinct counts, and duplicate keys in an Apify dataset.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Lau Kuan Ee
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
Find structural problems in scraper output before exporting it or sending it downstream. The Actor produces one compact profile row per field, so you can scan missing fields, nulls, empty strings, mixed JSON types, distinct counts, and duplicate keys without downloading the dataset.
Why this Actor
- Works directly with an Apify dataset ID or inline trial records.
- Reads private datasets with the run's
APIFY_TOKENand never logs or stores that token. - Does not publish raw sample values in profile rows.
- Supports nested fields through dot paths.
- Caps every run at 100,000 records.
Input
{"datasetId": "YOUR_DATASET_ID","keyFields": ["id"],"maxItems": 10000,"emptyStringsAreMissing": true}
Use items instead of datasetId for an inline trial. Do not provide both.
Output
The default dataset contains one field_profile record per discovered leaf path:
{"recordType": "field_profile","field": "company.city","records": 1000,"present": 982,"missing": 18,"null": 4,"empty": 7,"distinct": 81,"types": {"null": 4, "string": 978},"qualityFlags": ["missing_values", "null_values", "empty_strings", "mixed_types"]}
OUTPUT.json reports item and field counts, duplicate-key counts, and quality-flag totals. Distinct counts are exact within the configured record limit.
Limits and privacy
Objects are followed recursively, while arrays are treated as complete values. The Actor does not replace a data-governance review and does not emit raw example values. Dataset reads use only Apify's Dataset Items API.
Pricing proposal
$0.01 per field-profile output row plus Apify's required minimum Actor-start event. Final pricing is staged separately in the Apify Console.
