LinkedIn Profile Batch Reconciler — Missing & Duplicate Results
Pricing
$30.00 / 1,000 completed reconciliations
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
Maintained by CommunityActor 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
- Paste the original URLs into Requested LinkedIn profile URLs.
- Paste the returned records into Returned profile records.
- Set Profile URL field to the actual field in your scraper's output, such as
linkedinUrl,url, ordata.url. - Run and inspect the dataset and the
RETRY_URLSrecord.
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
| Status | Meaning |
|---|---|
received | Exactly one result has the same normalized URL |
missing | No result has the same normalized URL |
duplicate_results | Multiple returned records share that URL |
duplicate_request | The requested URL repeats an earlier request |
invalid_request | The input is not a supported public profile URL |
unrequested_result | A returned URL was not in the requested set |
unidentifiable_result | The 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.