LinkedIn Profile Batch Reconciler — Missing & Duplicate Results avatar

LinkedIn Profile Batch Reconciler — Missing & Duplicate Results

Pricing

$30.00 / 1,000 completed reconciliations

Go to Apify Store
LinkedIn Profile Batch Reconciler — Missing & Duplicate Results

LinkedIn Profile Batch Reconciler — Missing & Duplicate Results

Reconcile requested LinkedIn profile URLs against scraper results. Find missing profiles, duplicate results and unexpected records; export a clean retry queue. Reads existing Apify datasets or pasted JSON. One report for up to 50,000 requests.

Pricing

$30.00 / 1,000 completed reconciliations

Rating

0.0

(0)

Developer

Typed Diff

Typed Diff

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Find which LinkedIn profiles your scraper actually returned

Compare the URLs you requested with the profile records you received. Get a reconciliation report and a unique list of requested URLs without a matching result. Detect duplicate requests, repeated scraper results, unexpected profiles and records whose identity cannot be determined.

This Actor processes data you already have. It makes no LinkedIn requests, starts no other Actors and requires no external API key. Use it after a profile scraper and before a CRM import or another paid enrichment step.

The problem it solves

A successful run can return the expected number of rows while still delivering the wrong set of profiles. For example, three copies of one profile can hide two missing profiles. Comparing only row counts or removing duplicate output does not tell you which original requests remain unresolved.

This report reconciles both sides using normalized public profile URLs. It keeps your original request indices and the matching output indices so you can inspect the exact records in your pipeline. It also handles tracking parameters and common LinkedIn hostname variants that make raw string comparisons fail.

Quick start

  1. Paste the original URLs into Requested LinkedIn profile URLs.
  2. Paste the returned records into Returned profile records.
  3. Set Profile URL field to the actual field in your scraper's output, such as linkedinUrl, url, or data.url.
  4. Run and inspect the dataset and the RETRY_URLS record.

Alternatively, select completed Apify datasets in the two optional dataset pickers. Each selected dataset overrides its corresponding inline array. Set the requested and returned URL field names to match those datasets. Only READ access to the selected datasets is requested. Pagination reads every row up to the 50,000-row limit; incomplete or changing datasets fail clearly instead of producing a false missing-profile report. Each dataset may contain up to 7 MB of extracted URL values.

You can provide an array of returned URLs instead of full records. An empty result array is allowed and marks every valid unique request as missing. The prefilled example uses synthetic demo-a and demo-b identifiers; it demonstrates reconciliation and does not represent scraped people.

Output decisions

StatusMeaning
receivedExactly one result has the same normalized URL
missingNo result has the same normalized URL
duplicate_resultsMultiple returned records share that URL
duplicate_requestThe requested URL repeats an earlier request
invalid_requestThe input is not a supported public profile URL
unrequested_resultA returned URL was not in the requested set
unidentifiable_resultThe configured result URL field is missing or unsupported

Every requested row remains represented by inputIndex. Extra or unidentifiable results are represented by resultIndex. The first request for a normalized URL includes resultIndices; repeated requests reference firstRequestIndex instead of repeating a large index list.

RETRY_URLS is a unique array of missing URLs for review before another run. OUTPUT includes the full report, summary counts and the unique requested URLs. Export the dataset to JSON, CSV or Excel, or connect the Actor through Apify's API, Make or n8n.

Identity rules

Accepted identities are public /in/{slug} URLs. HTTP and HTTPS, bare LinkedIn, www, m and two-letter country subdomains are normalized to HTTPS on www.linkedin.com. Query strings, fragments and a trailing slash do not distinguish profiles. UTF-8 percent encoding is normalized.

Profile slug case is preserved. Company pages, search URLs, shortened links, Sales Navigator links, credentials in URLs and extra path segments are held for review. Names and email addresses are never used to infer that two people are the same.

A profile rename or alias can make a genuinely returned person appear under a different URL. This Actor does not resolve those aliases. A received result confirms URL correspondence only; it does not prove that the profile exists, is fresh or contains accurate fields. When many results are unidentifiable, check resultUrlField before retrying anything. No retry is started automatically.

Pricing and limits

$0.03 per completed reconciliation, including up to 50,000 requested URLs and 50,000 returned records within a 15 MB input limit. Platform usage is included under the published pay-per-event model. Invalid top-level input does not generate the billing event. A completed report with missing or invalid rows is still a delivered reconciliation.

For comparison, at a downstream price of $10 per 1,000 profiles, avoiding more than three unnecessary requests would exceed this Actor's fee, before other workflow costs. Your actual saving depends on your scraper's billing and existing deduplication. This Actor cannot refund an earlier scrape and does not promise a saving.

Only supplied data is processed. No private profile information is logged or sent to another service. Report reproducible issues in the Issues tab with the field mapping and a non-sensitive example.