Thomasnet Suppliers Scraper
Pricing
from $1.00 / 1,000 results
Thomasnet Suppliers Scraper
Scrape B2B supplier company profiles from Thomasnet.com (industrial manufacturers, machinists, distributors).
Pricing
from $1.00 / 1,000 results
Rating
5.0
(7)
Developer
Crawler Bros
Actor stats
7
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Scrape B2B industrial supplier company profiles from Thomasnet.com. HTTP-only with hardcoded Apify RESIDENTIAL US proxy (Cloudflare blocks datacenter IPs).
Output (per supplier)
type=supplier_thomasneturl,tgramsId,slugname,description,type,tieryearFounded,annualSales,numberEmployeesprimaryPhone,website,logoUrladdress—{ address1, city, state, zip, country, latitude, longitude }locations— multi-location listproducts,brands,certifications,headingspersonnel—[{ name, title, email, phone }]social—{ linkedin, twitter, ... }scrapedAt
When every residential attempt is blocked, the actor emits a single supplier_thomasnet_blocked sentinel record so runs exit 0.
Input
| Field | Type | Description |
|---|---|---|
query | string | Product / category / company name (required). Prefill valve. |
startUrls | string[] | Direct Thomasnet URLs (profile or listing). Overrides query. |
mode | enum | all (product category) or name (company name). Default all. |
area | enum | NA or US state / province code. Default NA. |
maxResults | integer | Max suppliers. Default 25. |
includeFamilies | boolean | Include product family capability data. |
How it works
- Build listing URL from
query + mode + area, or usestartUrls. - Fetch via
curl_cffiwith Chrome-131 TLS fingerprint through RESIDENTIAL US proxy (fresh session per retry, up to 5 attempts with country rotation US → US → CA → US → any). - For listing pages, collect
/profile/{id}/{slug}.htmllinks and fetch each. - Parse profile via Next.js
__NEXT_DATA__payload (richest source) + JSON-LD Organization + OG meta fallbacks.
FAQ
Do I need a proxy? No — it's hardcoded RESIDENTIAL US. Why a sentinel record sometimes? Cloudflare occasionally rejects even residential sessions. The sentinel keeps the run non-empty.