Dataset Join and Enrichment avatar

Dataset Join and Enrichment

Pricing

Pay per usage

Go to Apify Store
Dataset Join and Enrichment

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

Lau Kuan Ee

Maintained by Community

Actor 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.