ThomasNet Scraper - US Industrial Suppliers avatar

ThomasNet Scraper - US Industrial Suppliers

Pricing

from $2.49 / 1,000 suppliers

Go to Apify Store
ThomasNet Scraper - US Industrial 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

Andrej Kiva

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

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 hereEuropages ScraperWLW ScraperIndiaMART 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/.../profile links
  • 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 tgramsId within 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 caseWhat you get
Find US manufacturersKeyword / category listings with type, tier, state
Qualify suppliersPhone, website, employees, sales band, year founded
Certification shortlistsISO / AS9100 / industry certs when published on the profile
Territory mappingCity, state, ZIP, lat/lng
CRM enrichmentStable tgramsId + profile URL + website

Input parameters

ParameterTypeDefaultDescription
searchKeywordsArray["valve"]Keywords → ThomasNet supplier search.
startUrlsArray[]Search, category/heading, or profile URLs.
searchModeString"all"all = product/category; name = company name.
areaString"NA"NA or US state / CA province code (e.g. TX, ON).
fetchDetailsBooleantrueOpen profiles for full fields (see smartEnrich).
smartEnrichBooleantrueSkip profile when listing already has phone+website+address.
maxItemsInteger50Max dataset rows (0 = unlimited within maxPages).
maxPagesInteger3Max search pages per keyword / listing URL.
concurrencyInteger1Parallel Camoufox workers (keep 1–2 behind DataDome).
proxyConfigurationObjectUS residentialApify 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

FieldDescription
tgramsIdStable ThomasNet supplier id
nameCompany name
urlProfile URL
primaryPhone / website / emailContacts (email rare)
type / tierCompany type and listing tier
yearFounded / numberEmployees / annualSalesFirmographics
address / city / stateLocation (+ lat/lng when present)
headingsCategory taxonomy
certifications / brands / personnelEnrichment fields
isClaimed / isAdvertiser / xometryVerifiedTrust badges
enriched / scrapedAt / sourceUrlRun 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 ApifyClient
client = 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.