ThomasNet Suppliers Scraper avatar

ThomasNet Suppliers Scraper

Pricing

from $5.00 / 1,000 supplier scrapeds

Go to Apify Store
ThomasNet Suppliers Scraper

ThomasNet Suppliers Scraper

Scrape ThomasNet industrial suppliers by keyword, location, or URL. Returns name, phone, website, location, year founded, employees, certifications. MCP/API-ready.

Pricing

from $5.00 / 1,000 supplier scrapeds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

11 days ago

Last modified

Share

What is ThomasNet Suppliers Scraper?

ThomasNet Suppliers Scraper is an Apify Actor for discovering ThomasNet industrial suppliers by keyword, location, category URL, or direct supplier profile URL. It accepts a single record of input per query path, and each output record represents one supplier. The most useful fields include supplier name, phone, website, location, company type, headline, source URL, and, when enrichment is enabled, year founded, employee count, annual sales, certifications, and products. The Actor is available through Apify API and Apify MCP, and it returns structured supplier records plus a run summary.

Best fit and connected workflows

This Actor fits supplier discovery workflows that begin on ThomasNet and continue into qualification, enrichment, and review.

Use searchQueries when you want product-led or service-led discovery such as cnc machining, sheet metal fabrication, or plastic injection molding. Each keyword is searched separately across ThomasNet's North America directory.

Use startUrls when you already have a ThomasNet nsearch URL or a supplier profile URL and want to scrape those records directly. A profile URL is a strong starting point when a specific supplier already matters to your workflow.

Turn on enrichDetails when your next step benefits from profile-level fields such as description, year founded, employee count, annual sales, certifications, and products taxonomy.

This Actor also works well as the first step in a broader Apify workflow where the dataset is passed into downstream scoring, CRM preparation, or AI-assisted review.

Practical scenario

A procurement specialist is assembling a shortlist of machine shops for a U.S. manufacturing project. They start with the keyword cnc machining and set maxResults to 25. The returned records include supplier name, phone, website, city, state, headline, company type, and profile URL. The specialist reviews those fields to identify suppliers that fit the project geography and capability, then opens the profile URL for any supplier that deserves a closer vendor review.

Input

FieldTypePurpose
searchQueriesarray of stringsFree-text ThomasNet searches. Each keyword is searched separately across the North America directory.
startUrlsarray of stringsDirect ThomasNet nsearch URLs or supplier profile URLs.
maxResultsintegerHard cap on the total number of suppliers scraped and billed across the run.
maxPagesPerQueryintegerMaximum number of pages to paginate for each keyword or listing URL.
enrichDetailsbooleanFollows listing suppliers to their profile pages for profile-level fields.
proxyConfigurationobjectProxy settings used for all requests.

Focused JSON example:

{
"searchQueries": ["cnc machining", "sheet metal fabrication"],
"maxResults": 20,
"maxPagesPerQuery": 3,
"enrichDetails": true
}

Output

FieldTypePurpose
supplierNamestring or nullSupplier name from the listing or profile.
supplierIdstring or nullThomasNet identifier extracted from the supplier profile path.
profileUrlstring or nullCanonical ThomasNet supplier profile URL.
headlinestring or nullSupplier headline or summary line.
companyTypestring or nullSupplier type such as manufacturer, distributor, or service provider.
logoUrlstring or nullSupplier logo image URL.
citystring or nullCity from the address.
statestring or nullState or region from the address.
postalCodestring or nullPostal code.
countrystring or nullCountry.
fullAddressstring or nullFull address string as shown on ThomasNet.
phonestring or nullPrimary phone number.
websitestring or nullExternal company website.
descriptionstring or nullProfile description from ThomasNet.
yearFoundednumber or nullYear founded.
employeeCountstring or nullEmployee count or band.
annualSalesstring or nullAnnual sales band.
certificationsarray or nullCertifications listed on the profile.
productsarray or nullProducts or services taxonomy.
isClaimedboolean or nullClaimed profile status.
isAdvertiserboolean or nullAdvertiser status.
sourceUrlstring or nullSource listing URL where the supplier was found.
positionnumber or nullListing position on the page.
enrichedboolean or nullWhether the profile page was visited.
scrapedAtstring or nullScrape timestamp.

Illustrative dataset record:

{
"supplierName": "Example Machining Inc.",
"supplierId": "30088334",
"profileUrl": "https://www.thomasnet.com/company/example-machining-30088334/profile",
"headline": "CNC machining and precision manufacturing",
"companyType": "Manufacturer",
"city": "Houston",
"state": "TX",
"phone": "+1-555-0100",
"website": "https://example.com",
"yearFounded": 1998,
"employeeCount": "50-99",
"certifications": ["ISO 9001"],
"sourceUrl": "https://www.thomasnet.com/nsearch.html?cov=NA&searchterm=cnc%20machining",
"position": 1,
"enriched": true
}

How it works

The Actor accepts either keyword searches or direct ThomasNet URLs.

  • searchQueries runs each keyword through ThomasNet's nsearch and paginates listing pages up to maxPagesPerQuery.
  • startUrls accepts ThomasNet nsearch result URLs and supplier profile URLs.
  • maxResults caps the total number of suppliers scraped and billed across the full run.
  • enrichDetails follows listing suppliers to profile pages and adds profile-level fields.
  • Results are written to the default Apify dataset, and the run summary is written to the default key-value store under OUTPUT.
  • The live contract defines three charged events: apify-actor-start, supplier-scraped, and supplier-detail-enriched.

Pricing

This Actor uses Pay per event pricing and also includes Apify platform usage. The live Pricing tab is the source of truth for current pricing details.

The primary event is Supplier scraped, charged for each supplier card returned. When enrichDetails is enabled, each enriched supplier also adds a Supplier detail enriched event.

Example in words: if a run returns twenty supplier cards and enrichment is off, the run is billed for twenty Supplier scraped events plus one Actor start event. If enrichment is on, each enriched supplier adds one additional enrichment event.

Review the live Pricing tab before running large batches so the cost model matches your planned scope.

Use with AI agents (MCP)

This Actor is available through Apify MCP as a tool for ThomasNet supplier discovery and profile extraction. It accepts the same input fields as the Actor, returns structured supplier records, and includes a run summary for cost and count review.

Exact Actor identity: khadinakbar/thomasnet-suppliers-scraper

Find ThomasNet suppliers for CNC machining in the United States. Return the first twenty suppliers, include profile details when available, and summarize the dataset records so I can review company type, location, website, and certifications.

Output interpretation:

  • Use dataset to read the supplier records from the default Apify dataset.
  • Use summary to review the run summary stored in the default key-value store.
  • supplier-scraped is the billing unit for each supplier card returned.
  • supplier-detail-enriched applies when profile pages are followed for richer fields.
  • sourceUrl shows the listing page that produced each record, and profileUrl traces the supplier profile when available.

Provenance and scope:

  • Records come from ThomasNet supplier listings and profile pages.
  • The Actor is designed for ThomasNet supplier discovery and profile extraction.
  • The scope centers on public directory data returned from the queried ThomasNet pages.

Pagination and cost guidance:

  • Increase maxPagesPerQuery for broader coverage within a keyword or listing URL.
  • Use maxResults as the main cost control.
  • Enable enrichDetails when profile-level fields matter for the downstream task.

JavaScript API example

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({
token: process.env.APIFY_TOKEN,
});
const run = await client.actor('khadinakbar/thomasnet-suppliers-scraper').call({
searchQueries: ['cnc machining'],
maxResults: 5,
enrichDetails: true,
});
const datasetItems = await client.dataset(run.defaultDatasetId).listItems();
console.log('Run ID:', run.id);
console.log('Dataset items:', datasetItems.items);

Best results and outcome guidance

Use precise supplier-intent keywords such as product types, manufacturing processes, service categories, or known ThomasNet profile URLs. Set maxResults to the number of suppliers you want to review, and raise maxPagesPerQuery when you want deeper pagination for a keyword or listing page. Turn on enrichDetails when your review depends on profile-level fields such as certifications, year founded, employee count, or annual sales. Residential proxy settings are provided in the live input contract and are the default path for requests.

Continue the workflow

Design note

I found that the live schema keeps listing-level data and profile-level enrichment in separate fields: phone, website, headline, and location fields are available from listings, while description, yearFounded, employeeCount, annualSales, certifications, and products appear when profile enrichment is enabled.

FAQ

Yes. Add one or more values to searchQueries, and the Actor searches each keyword separately.

Can I start from an existing ThomasNet page?

Yes. Use startUrls for ThomasNet nsearch result URLs or supplier profile URLs.

What field should I use to identify the source page?

Use sourceUrl. When enrichment is available, profileUrl identifies the supplier profile page.

How do I get year founded and certifications?

Enable enrichDetails so the Actor follows supplier profiles and returns profile-level fields.

How does pagination work?

maxPagesPerQuery limits listing-page pagination for each search term or URL, while maxResults limits the total number of suppliers across the run.

How can I keep the run scope focused?

Start with a specific keyword or a single ThomasNet URL, then use maxResults and maxPagesPerQuery to match the number of suppliers you want to review.

Responsible use

Use this Actor for lawful business research, supplier discovery, and workflow automation. Keep usage aligned with ThomasNet's terms and with the rights of site owners and suppliers. The Actor is intended for publicly accessible directory information and structured downstream review.