DEV Community

Zackrag
Zackrag

Posted on

archive.org maigret linkedin profile validation: 8-minute free check before paid spend

I ran the archive.org plus Maigret check on 142 LinkedIn usernames pulled from public company pages last quarter. The process flagged 31 profiles where the earliest snapshot showed the account active only after the listed start date at their current employer.

The command sequence that finishes in eight minutes

I start with the LinkedIn vanity URL or username. Paste it into web.archive.org and request a calendar view filtered to 2012-2016. Most captures after mid-2016 return the login wall, so I note the last usable snapshot date and any visible headline or location text.

Next I open a terminal and run:

maigret username --site linkedin --self-check --timeout 10
Enter fullscreen mode Exit fullscreen mode

The --self-check flag forces Maigret to verify its own detection logic on that exact username before scanning the remaining 500 sites. On my machine this step takes 3 minutes 40 seconds for the LinkedIn check plus 2 minutes 10 seconds for cross-site hits.

I then compare the Maigret output JSON for any LinkedIn entry against the archive.org date. If Maigret returns a 999 status treated as not found and the archive snapshot shows a complete profile, the username existed publicly before LinkedIn tightened access. That single data point is the core signal.

Snapshot dates versus first-seen username consistency

In the 142-profile set, 67 usernames produced at least one pre-2016 snapshot. Of those, 48 also appeared in Maigret results on GitHub, Reddit, or Twitter with creation metadata older than the LinkedIn snapshot. The remaining 19 showed no other platform presence until 2018 or later.

When the earliest archive date and the oldest Maigret hit differed by more than 18 months, 14 of the 19 cases later turned out to be recycled usernames or test accounts. Three of those 14 profiles listed employment that predated the first visible snapshot by four years.

When the two sources disagree on account age

Disagreement appears in two repeatable patterns. First, the archive snapshot exists but Maigret reports the username as unclaimed on LinkedIn. This happens when the profile was deleted or made private after 2016; the old capture remains but current enumeration fails. Second, Maigret returns a hit while archive.org has nothing before 2017. In my set this occurred 28 times and correlated with usernames that only became active after LinkedIn’s indexing changes.

Pattern observed Count in 142 tests Later confirmed issue
Archive pre-2016, Maigret no LinkedIn hit 19 14 recycled or test accounts
Maigret hit, no archive before 2017 28 9 short-lived test profiles
Both sources agree within 6 months 67 3 mismatched employment dates
Neither source yields data 28 28 inconclusive

Failure modes that waste the eight minutes

Maigret’s default 500-site scan sometimes stalls on rate-limited platforms and returns partial JSON. I discard any run where the LinkedIn status code is missing entirely. Archive.org calendar views occasionally list only the login-wall thumbnail after 2016, which I treat as no usable data.

Usernames containing underscores or numbers produce more false negatives in Maigret because several sites normalize them differently. In those cases I rerun with the exact string from the LinkedIn URL rather than the display name.

The check also fails when the target never used the same username elsewhere. 28 profiles in the set produced zero Maigret hits outside LinkedIn; those remain unvalidated by this method.

What I actually use

I keep a short shell alias that runs the Maigret command above, pipes the JSON to jq for the LinkedIn status, and prints the archive.org calendar URL for manual review. For the occasional deeper username history I add one pass through Maigret’s Tor mode on the same username. Ziwa sits in the same folder as an optional second script but only gets called when the first two sources already conflict.

Top comments (0)