ThomasNet Scraper - US Industrial Suppliers
Pricing
from $2.49 / 1,000 suppliers
ThomasNet Scraper - US Industrial Suppliers
Scrape ThomasNet industrial suppliers across the US and Canada. Export company name, phone, website, address, certifications, employees and sales bands from keywords, category or profile URLs — a ThomasNet API alternative.
Pricing
from $2.49 / 1,000 suppliers
Rating
0.0
(0)
Developer
Andrej Kiva
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
ThomasNet Scraper — US Industrial Suppliers
Disclaimer: Unofficial integration for publicly accessible sources. Trademarks belong to their respective owners. Provided for informational use only; users must comply with applicable platform terms and laws.
Crawloop Global Sourcing Suite — B2B supplier directories for North America, Europe, and India.
| ThomasNet (US/CA) | Europages (Europe) | WLW (DACH) | IndiaMART (India) |
|---|---|---|---|
| ThomasNet Scraper ◄── you are here | Europages Scraper | WLW Scraper | IndiaMART Scraper |
ThomasNet Scraper for Apify — scrape North American industrial suppliers into clean JSON without a public ThomasNet API. Extract company name, phone, website, address, employee and sales bands, year founded, certifications, category headings, and profile URLs from keywords, category pages, or direct supplier links.
Built for US/Canada procurement shortlists, B2B lead generation, industrial market mapping, and CRM enrichment. Run from the Console or with Python, Node.js, cURL, or MCP / AI assistants. A practical ThomasNet API alternative for supplier discovery at scale. Uses Camoufox (anti-detect Firefox) plus US residential proxy to clear ThomasNet DataDome.
When to use this Actor
- You need ThomasNet supplier data as structured dataset rows
- You want keyword search, category / heading URLs, or profile URLs
- You need phone + website + firmographics for sourcing or outbound
- You want a US/CA ↔ Europe ↔ India sourcing chain with Europages / WLW / IndiaMART
When not to use this Actor
- Guaranteed email on every row — ThomasNet usually hides email behind RFQ forms; phone and website are the reliable contacts
- Sending RFQs through ThomasNet forms — read-only extraction only
- Datacenter-only runs — DataDome blocks most non-residential traffic; use Apify US Residential
- Non-ThomasNet directories — use the matching suite Actor instead
Key features
- ThomasNet API alternative — structured dataset instead of manual browsing
- Keyword → search — product/category or company-name mode with area filter (NA / state / province)
- Start URLs — modern
/suppliers/search, heading pages, and/company/.../profilelinks - Lead-ready listing fields — phone, website, address + geo, type, tier, employees, sales band
- Optional profile enrichment — certifications, brands, personnel, richer taxonomy
- Smart enrich — skip profile fetch when listing already has phone + website + address
- Deduped push — unique by
tgramsIdwithin a run - Streaming results — dataset rows appear while the run is in progress
- DataDome bypass — Camoufox stealth Firefox + US residential session rotation
Use cases
| Use case | What you get |
|---|---|
| Find US manufacturers | Keyword / category listings with type, tier, state |
| Qualify suppliers | Phone, website, employees, sales band, year founded |
| Certification shortlists | ISO / AS9100 / industry certs when published on the profile |
| Territory mapping | City, state, ZIP, lat/lng |
| CRM enrichment | Stable tgramsId + profile URL + website |
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
searchKeywords | Array | ["valve"] | Keywords → ThomasNet supplier search. |
startUrls | Array | [] | Search, category/heading, or profile URLs. |
searchMode | String | "all" | all = product/category; name = company name. |
area | String | "NA" | NA or US state / CA province code (e.g. TX, ON). |
fetchDetails | Boolean | true | Open profiles for full fields (see smartEnrich). |
smartEnrich | Boolean | true | Skip profile when listing already has phone+website+address. |
maxItems | Integer | 50 | Max dataset rows (0 = unlimited within maxPages). |
maxPages | Integer | 3 | Max search pages per keyword / listing URL. |
concurrency | Integer | 1 | Parallel Camoufox workers (keep 1–2 behind DataDome). |
proxyConfiguration | Object | US residential | Apify Proxy — US RESIDENTIAL required. |
Example — valve suppliers in North America
{"searchKeywords": ["valve"],"searchMode": "all","area": "NA","maxItems": 100,"maxPages": 5,"fetchDetails": true,"smartEnrich": true,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "US"}}
Example — profile URLs only
{"startUrls": [{ "url": "https://www.thomasnet.com/company/tr-engineering-1065/profile" }],"fetchDetails": true,"maxItems": 10}
Output fields
| Field | Description |
|---|---|
tgramsId | Stable ThomasNet supplier id |
name | Company name |
url | Profile URL |
primaryPhone / website / email | Contacts (email rare) |
type / tier | Company type and listing tier |
yearFounded / numberEmployees / annualSales | Firmographics |
address / city / state | Location (+ lat/lng when present) |
headings | Category taxonomy |
certifications / brands / personnel | Enrichment fields |
isClaimed / isAdvertiser / xometryVerified | Trust badges |
enriched / scrapedAt / sourceUrl | Run metadata |
{"recordType": "supplier","tgramsId": "1065","name": "TR Engineering","url": "https://www.thomasnet.com/company/tr-engineering-1065/profile","primaryPhone": "973-575-3700","website": "https://www.trengineering.com","type": "Manufacturer","tier": "VERIFIED","yearFounded": "1976","numberEmployees": "50-99","annualSales": "$10-25M","city": "Fairfield","state": "NJ","address": {"city": "Fairfield","state": "NJ","zip": "07004","country": "USA"},"headings": [{ "headingId": "97001234", "name": "Hydraulic Pumps" }],"certifications": ["ISO 9001"],"isAdvertiser": true,"enriched": true,"scrapedAt": "2026-08-08T12:00:00Z"}
Integration examples
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('crawloop/thomasnet-scraper').call({searchKeywords: ['valve'],maxItems: 50,proxyConfiguration: {useApifyProxy: true,apifyProxyGroups: ['RESIDENTIAL'],apifyProxyCountry: 'US',},});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientclient = ApifyClient()run = client.actor("crawloop/thomasnet-scraper").call(run_input={"searchKeywords": ["valve"],"maxItems": 50,"proxyConfiguration": {"useApifyProxy": True,"apifyProxyGroups": ["RESIDENTIAL"],"apifyProxyCountry": "US",},})items = list(client.dataset(run["defaultDatasetId"]).iterate_items())print(items)
cURL
curl -X POST "https://api.apify.com/v2/acts/crawloop~thomasnet-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"searchKeywords":["valve"],"maxItems":25}'
MCP and AI assistants
Use this Actor from AI tools via Apify MCP.
Connect your Apify account, then call this Actor by its Store ID / name (crawloop/thomasnet-scraper).
Example prompts:
- "Run ThomasNet Scraper for CNC machining in California and return the top 30 suppliers as JSON"
- "Scrape ThomasNet valve manufacturers with phone and website, then summarize by state"
- "Chain ThomasNet Scraper then Europages Scraper for a US + EU supplier shortlist on hydraulic pumps"
Suite next step
After a US/CA shortlist, enrich European alternatives with Europages Scraper or DACH coverage with WLW Scraper. For India manufacturing leads, use IndiaMART Scraper.
FAQ
Why do I need residential proxy?
ThomasNet is protected by DataDome. Datacenter IPs and bare HTTP almost always get a JS challenge page. Use Apify Proxy RESIDENTIAL with country US.
Are emails included?
Only when ThomasNet itself shows them on the public profile. Most contacts are phone + website.
Can I scrape by company name?
Yes — set searchMode to name.
What is tgramsId?
ThomasNet’s stable numeric supplier identifier. Use it for dedupe across runs and categories.
How is this different from browsing ThomasNet?
You get a reusable ThomasNet scraper dataset (JSON/CSV/Excel) with stable IDs, filters, and API / MCP automation — not manual copy-paste from search pages.