Skip to content

add: LinkedIn username validation (social category)#264

Merged
kaifcodec merged 1 commit intokaifcodec:mainfrom
SylvainM98:add/linkedin-username-module
Mar 3, 2026
Merged

add: LinkedIn username validation (social category)#264
kaifcodec merged 1 commit intokaifcodec:mainfrom
SylvainM98:add/linkedin-username-module

Conversation

@SylvainM98
Copy link
Contributor

Summary

  • Adds LinkedIn username validator that bypasses the HTTP 999 anti-bot block
  • Uses Twitterbot/1.0 User-Agent — LinkedIn whitelists social media crawler bots for link previews
  • Existing profiles return 200/301, non-existing return 404

How it works

LinkedIn aggressively blocks automated requests with HTTP 999. However, it whitelists crawler bots from social media platforms (Twitter, Facebook, Bing) to generate link previews when users share LinkedIn URLs. The Twitterbot/1.0 User-Agent receives proper HTTP responses instead of 999.

Tested with

  • Known existing profiles → [✔] Found
  • Non-existing profiles → [✘] Not Found
  • Case insensitive (uppercase variants of same username) → [✔] Found
  • Hyphens in usernames → Handled correctly
  • Special characters, empty, numeric-only → [!] Error

Rate limiting

In normal scan mode (1 request per module), no rate limiting observed. Bulk scanning (-uf with many usernames) may trigger 999 after ~3 rapid requests from the same IP.

Supersedes #107.

Test plan

  • user-scanner -u williamhgates -m linkedin[✔] Found
  • user-scanner -u totalfakeuser2026 -m linkedin[✘] Not Found
  • user-scanner -u williamhgates (full scan) → LinkedIn appears in social results

Uses Twitterbot User-Agent to bypass LinkedIn's anti-bot detection
(HTTP 999). LinkedIn whitelists social media crawler bots for link
previews, serving proper responses: 200/301 for existing profiles,
404 for non-existing ones.
@kaifcodec kaifcodec added the user module addition PRs or issues related to new user_scan module additions label Mar 3, 2026
Copy link
Owner

@kaifcodec kaifcodec left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a smart and well-executed implementation.

Using the Twitterbot/1.0 User-Agent to bypass the HTTP 999 block is a clever approach, and the handling of status codes and edge cases looks clean.

@kaifcodec kaifcodec linked an issue Mar 3, 2026 that may be closed by this pull request
@kaifcodec kaifcodec merged commit 54b2988 into kaifcodec:main Mar 3, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

user module addition PRs or issues related to new user_scan module additions

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add username support for LinkedIn

2 participants