log in sign up now
Deanonymize Website Traffic back to library
~ / library / IP Intelligence / deanonymize-website-traffic

Deanonymize Website Traffic

Resolve a batch of IPs to the companies behind them, then surface likely contacts at each - firmographics plus ranked person records and optional enrichment. Every email returned is graded A-F for deliverability risk, and you pick which grades to keep.
  • Resolve these IP addresses to companies and find likely contacts at each
  • Here's a list of visitor IPs - tell me which companies they are and who to reach out to

What this skill does

Takes a batch of IP addresses from web traffic logs and resolves them to the companies behind them, then surfaces likely contacts at each of those companies - firmographics plus ranked person records and optional contact enrichment.

This identifies the company behind an IP and likely people at that company - it does not identify the specific individual who visited. Expect strong company match rates; contact discovery varies with company size and data coverage. Not-found results at each step are free.

Chain

IP addresses
  └── ip_to_company                  (per-IP single call to company name + firmographics)
        └── search_people (company domain to ranked contacts at that company)
              └── optional enrich    (per-URL linkedin_to_best_email / linkedin_to_mobile_phone array up to 100)

Inputs

  • IP addresses - line-separated, CSV column, or server log format
  • Private IPs (10.x, 192.168.x, 172.16–31.x, 127.x) are automatically excluded
  • Acceptable risk scores - which A-F deliverability grades to keep (recommended: A, B, C and F; D excluded)

Output

IP Company (IP lookup) Contact Name Title Seniority LinkedIn Email Risk
IPs processed:       200
Company matches:     143  (72%)
Companies w/ contacts: 121  (85% of matched)
Contacts surfaced:   ~480
Credits used:        ~XXX

Email risk scores:
  A: X   B: X   C: X   D: X   F: X
  kept (accepted grades):  X
  filtered (excluded):     X

Search filters

search_people filters on query, company, company_domain, country, state, city, seniority, department or functional_area, industry, linkedin_industry, naics_code, employee_range, and revenue_range.

  • Filters are free precision - execution cost comes from the free-text query, so a filters-only search runs ~40x cheaper and lands more precisely. A bare query is never the right shape; at minimum it gets country attached (~99% fill rate).
  • Size and revenue apply to the person's current employer - "VPs at 51-200 employee software companies" is one call, not a company search followed by a people search.
  • Three industry vocabularies - broad industry buckets, LinkedIn's ~150 niche labels, or a NAICS code at any depth. Shortening the code widens the net.
  • Sparse filters are the usual cause of a thin result set - seniority/industry/department are ~60% filled and naics_code/linkedin_industry ~50%, and every filter is exact-match, silently dropping records where the field is empty.
  • Sizing is free - count_only: true returns a match count without fetching data or charging tokens, and every response carries results.total to read before paginating.

Tips

  • A mandatory credit check runs before the chain starts - company match is the reliable number; contact volume varies by company
  • Contacts are surfaced by querying search_people with the company's domain (company_domain) - you can also narrow by seniority, department, country, or industry, and results come back ranked with title and seniority on each record
  • These are likely contacts at the company, not the confirmed visitor - frame output accordingly
  • ISP/residential IPs are flagged as "Residential/ISP - not a business" in output and skipped for contact lookup
  • If credits run out mid-batch, completed rows are output with the exact resume point
  • Processing 60–120+ seconds for any meaningful batch - set expectations accordingly
  • Every returned email carries an A-F deliverability risk score; you're asked up front which grades to keep, and out-of-range grades are shown and flagged rather than silently dropped
01 Download the .moltsets skill file below
02 Open Claude and go to Settings to Skills
03 Click Add skill and select the downloaded file
04 Open a new chat in Claude
05 Prompt Claude using one of the example prompts or use your own
// difficultyAdvanced
// connectionCSV, Google Sheets, Excel
// got a skill of your own? Submit it to the library