Dataset Join and Enrichment
Pricing
Pay per usage
Dataset Join and Enrichment
Join and enrich two Apify datasets by URL, ID, or another stable key with bounded, collision-safe output.
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
11 days ago
Last modified
Categories
Share
Join two Apify datasets by URL, ID, or another stable field without exporting them to a spreadsheet or database. The Actor uses one bounded right-side index and never performs a many-to-many expansion.
Why this Actor
- Accepts dataset IDs, inline records, or one of each.
- Supports nested keys such as
company.domain. - Provides inner, left, and full joins.
- Preserves left fields and prefixes colliding right-side fields.
- Rejects many-to-many joins before writing output.
- Reads private datasets with the run's
APIFY_TOKEN, which is never logged or stored.
Input example
{"leftDatasetId": "LEFT_DATASET_ID","rightDatasetId": "RIGHT_DATASET_ID","leftKey": "url","rightKey": "canonicalUrl","joinType": "left","rightPrefix": "source_","duplicateKeyPolicy": "error","maxLeftItems": 10000,"maxRightItems": 10000}
duplicateKeyPolicy can stop on duplicate right keys or deterministically keep the first or last record. If the same key is duplicated on both sides, the run stops even under a selection policy because the requested relationship is many-to-many.
Output
The default dataset contains joined JSON rows. Existing left-side values are preserved; right-side collisions use rightPrefix. OUTPUT.json reports loaded, matched, left-only, right-only, missing-key, duplicate-key, and emitted counts.
Each side is capped at 100,000 records. Version 1 is an in-memory bounded join, not a streaming or distributed ETL system.
Pricing proposal
$0.75 per 1,000 emitted rows plus Apify's required minimum Actor-start event. Final pricing is staged separately in the Apify Console.