ThomasNet Scraper - Suppliers, Manufacturers & Company Data
Pricing
from $1.00 / 1,000 supplier results
ThomasNet Scraper - Suppliers, Manufacturers & Company Data
Scrape ThomasNet suppliers and manufacturers by keyword, category, location, certification or company type, or paste profile URLs. Get one rich record per company with contacts, certifications, products, locations, coordinates, social links, sales data and more.
Pricing
from $1.00 / 1,000 supplier results
Rating
0.0
(0)
Developer
Abot API
Maintained by CommunityActor stats
0
Bookmarked
4
Total users
0
Monthly active users
2 days ago
Last modified
Categories
Share
ThomasNet Supplier Scraper
Extract suppliers, manufacturers, distributors and service providers from the ThomasNet industrial directory at scale. Search by keyword, product category, location, certification or company type, or paste profile URLs, and get one rich, structured record per company: full contact details, certifications, products, locations, geo coordinates, social links, annual sales, headcount and more. Fields reflect what each company publishes; unavailable values remain null.
Why This Scraper?
- One rich record per company, merging the directory listing with the full company profile.
- Captures contacts (personnel with title, and email/phone where the company publishes them), certifications, products, locations, geo coordinates and social links.
- Dual mode: keyword/category search with filters, or scrape specific company-profile and search URLs.
- Filter by US state or province, ZIP plus radius, certification, and company type, with name sorting.
- Optional company-profile enrichment adds available certifications, products and locations to saved supplier records.
- Resume previous runs or monitor recurring supplier changes with NEW, UPDATED and optional UNCHANGED labels.
- Optional one-click export to Notion, Linear, Airtable or Apify via MCP connectors.
Data You Get
Sample shape - values are illustrative placeholders, not from a live listing.
| Field | Example |
|---|---|
name | Acme Valve Corp. |
tgramsId | 00000000 |
tier | VERIFIED |
type | M |
primaryPhone | +1 000-000-0000 |
website | https://example.com/ |
annualSales | $10 - 24.9 Mil |
numberEmployees | 10-49 |
yearFounded | 1971 |
heading | { "headingId": "00000000", "name": "Valves" } |
address | { "city": "Anytown", "state": "OH", "latitude": 0.0, "longitude": 0.0 } |
personnel | [ { "name": "Jane Doe", "title": "Owner", "email": null, "phone": null } ] |
certifications | [ "ISO 9001" ] |
certificationTotals | [ { "type": "DIVERSITY", "count": 3 } ] |
families | [ { "id": "000000", "name": "Valves" } ] |
products | [ { "id": "0000.0000", "type": "CATEGORY" } ] |
social | [ { "accountId": "sample-company", "type": "LINKEDIN" } ] |
logoUrl | https://example.com/logo.jpg |
description | Manufacturer of ball, check and gate valves. |
url | https://www.thomasnet.com/company/acme-valve-corp-00000000/profile |
scrapedAt | 2026-01-01T00:00:00+00:00 |
How to Use
Basic keyword search with full profiles:
{"mode": "search","queries": ["valves", "industrial pumps"],"fetchDetails": true,"maxItems": 20,"proxy": { "useApifyProxy": true, "apifyProxyGroups": [] }}
Filtered search (manufacturers in Ohio, sorted by name):
{"mode": "search","queries": ["cnc machining"],"state": "OH","companyType": "M","sortBy": "company_az","maxItems": 20,"proxy": { "useApifyProxy": true, "apifyProxyGroups": [] }}
Scrape specific company profiles:
{"mode": "url","urls": ["https://www.thomasnet.com/company/acme-valve-corp-00000000/profile"],"fetchDetails": true,"proxy": { "useApifyProxy": true, "apifyProxyGroups": [] }}
Recurring supplier monitoring:
{"mode": "search","queries": ["valves"],"fetchDetails": true,"maxItems": 20,"incrementalMode": true,"stateKey": "valve-monitor","emitUnchanged": false}
Input Parameters
| Parameter | Type | Description |
|---|---|---|
mode | select | search (keyword/category) or url (scrape pasted URLs). Required. |
queries | array | Search mode. One or more keywords or product categories. |
state | string | Search mode. Two-letter US state or province code to narrow by location. |
zip | string | Search mode. ZIP / postal code to center a radius search. |
radius | integer | Search mode. Distance in miles around the ZIP. |
certification | string | Search mode. Restrict to suppliers holding a certification, e.g. ISO 9001. |
companyType | select | Search mode. Filter by supplier type (manufacturer, distributor, etc.). |
sortBy | select | Search mode. Result order: relevance or company name A-Z / Z-A. |
urls | array | URL mode. Company-profile or search URLs to scrape. Filters are ignored. |
fetchDetails | boolean | Enrich each company with its full profile. Default true. |
maxPages | integer | Safety ceiling on pages per search. Empty / 0 = unlimited. Does not cap items. |
maxItems | integer | Maximum companies to collect across the whole run. Default 20. 0 = unlimited. |
resumeFromRunId | string | Optional previous run ID from this actor; skip its saved supplier IDs before enrichment. |
incrementalMode | boolean | Default false. Compare suppliers with the previous campaign baseline and save NEW or UPDATED records. |
stateKey | string | Optional recurring campaign name. Leave empty for input-derived state. |
emitUnchanged | boolean | Default false. Also save UNCHANGED suppliers in incremental mode. |
proxy | object | Optional connection settings. |
mcpConnectors | array | Optional. MCP connectors (Notion, Linear, Airtable, Apify) to export results. |
notionParentPageUrl | string | Optional. Notion page under which a results database is created. |
maxNotifyListings | integer | Optional. Cap on how many companies are pushed to connected MCP apps. |
Result limits and sorting
maxItems limits saved companies across the run; maxPages limits result pages per search. Name sorting reads all matching companies before returning results in global A-Z or Z-A order, and fails clearly if your page ceiling prevents a complete sort. Relevance ordering can return the first matching results without reading the complete directory. States split into two source regions are queried together, so a page can contain up to 50 companies before deduplication; the overall item cap still applies. Company-type filters include both primary and secondary business activities, while the output retains the original primary type.
Resume & recurring updates
To continue a previous run, set resumeFromRunId to that run's ID and keep the same search or URLs. Previously saved suppliers are skipped before enrichment and do not consume the new run's item limit. Pagination continues past pages containing only previously saved suppliers. The reference covers the selected run's dataset, not every earlier run in a chain.
For daily or weekly monitoring, enable incrementalMode. The first run saves suppliers as NEW. Later runs save NEW and UPDATED suppliers; changedFields lists the top-level fields that changed. Enable emitUnchanged to also save UNCHANGED suppliers. Scrape timestamps do not count as content changes. firstSeenAt and lastSeenAt record when the campaign first and most recently observed each supplier. These four fields are added only in incremental mode.
In incremental mode, maxItems limits suppliers checked, including unchanged suppliers. A run may therefore save fewer items than the limit, or zero when nothing changed. Use maxItems: 0 to check all matching suppliers within your page limit. Only saved records count toward result and enrichment charges; the normal start charge still applies. Missing suppliers are not reported as deleted or expired.
Each Apify user's monitoring state is separate. Reuse the same search, filters and enrichment settings for comparisons. A stateKey names a campaign; leave it empty for an automatically derived scope. Resume and incremental mode can be combined: the selected prior run's suppliers are skipped before the remaining suppliers are compared.
Send results into your apps (MCP connectors)
Connect one or more MCP servers in the mcpConnectors field to push the scraped companies straight into your own tools after the run finishes. Supported servers include Notion, Linear, Airtable and Apify. For Notion, set notionParentPageUrl to the page under which a results database should be created, and use maxNotifyListings to cap how many companies are exported. Export is a side-channel: it never changes the dataset and never fails the run.
Output Example
Sample shape - values are illustrative placeholders, not from a live listing.
{"__typename": null,"additionalInformation": null,"address": {"address1": "1 Example Way","city": "Anytown","state": "OH","stateName": "Ohio","zip": "00000","country": "USA","latitude": 0.0,"longitude": 0.0},"ads": null,"affiliatedMemberOf": null,"affiliationCompanyLabel": null,"affiliationContactUrl": null,"affiliationFeaturedMembers": null,"annualSales": "$10 - 24.9 Mil","brands": null,"catalogType": null,"certificationTotals": [{"type": "DIVERSITY","count": 3}],"certifications": ["ISO 9001"],"companyAd": null,"description": "Manufacturer of ball, check, gate and butterfly valves.","descriptionByCompany": null,"families": [{"id": "000000","name": "Valves"}],"heading": {"headingId": "00000000","name": "Valves"},"headingBrands": null,"headings": [{"headingId": "00000000","name": "Valves","familyName": "Flow Control"}],"isAdvertiser": false,"isAffiliationPage": null,"isClaimed": true,"isMultiLocation": null,"locationTypes": null,"locations": null,"logoTitle": null,"logoUrl": "https://example.com/logo.jpg","mainLocationName": null,"mainLocationTgramsId": null,"name": "Acme Valve Corp.","news": null,"numberEmployees": "10-49","otherActivities": null,"otherHeadings": null,"personnel": [{"name": "Jane Doe","title": "Owner","email": null,"phone": null}],"premiums": null,"primaryPhone": "+1 000-000-0000","products": [{"id": "0000.0000","type": "CATEGORY"}],"social": [{"accountId": "sample-company","type": "LINKEDIN"}],"tgramsId": "00000000","tier": "VERIFIED","type": "M","videos": null,"website": "https://example.com/","whitepapers": null,"xometryVerified": false,"yearFounded": "1971","city": "Anytown","stateCode": "OH","latitude": 0.0,"longitude": 0.0,"url": "https://www.thomasnet.com/company/acme-valve-corp-00000000/profile","sourceUrl": "https://www.thomasnet.com/company/acme-valve-corp-00000000/profile","slug": "acme-valve-corp-00000000","searchMode": "search","scrapedAt": "2026-01-01T00:00:00+00:00"}
Plan Requirement
An Apify account is required. Usage is billed according to the actor’s active pricing shown in the Store.