Thomasnet API: Search suppliers
Finds North American industrial suppliers on Thomasnet for a product or service, optionally narrowed by US state or Canadian province and supplier type, in Thomasnet's public listing order. Certifications come from public certification listings or explicit company-profile claims.
Unofficial. Not affiliated with or endorsed by Thomasnet.
Inputs
Values from the run on Oct 31, 2026, shown under Output.
- Max Results optional
max_results Maximum number of suppliers to return, for example 20.
20 (default)
Whole number from 1 to 50.
- Supplier Type optional
supplier_type Type of supplier to find, for example manufacturer.
any (default)
One of
any,manufacturer,distributor,service_company.- State or Province optional
state_or_province US state or Canadian province name, for example Ohio. Leave blank for all North America.
(default)
- Product or Service, required
product_or_service The product or service to find, for example CNC machining.
CNC machining
Input as JSON
{ "product_or_service": "CNC machining"}Output
{ "suppliers": [ { "city": "Franklin", "company_name": "Eagle Stainless Tube & Fabrication, Inc.", "year_founded": 1982, "supplier_type": "Custom Manufacturer", "certifications": [ "ISO 9001", "ISO 13485" ], "company_website": "https://eagletube.com/" , "short_description": "Precision CNC Swiss and laser machining services for electronics, aerospace, semiconductor, energy and medical industries. Wire electrical discharge machining (EDM) services are available. Works with staniless steel tubing types 304 and 316 in both seamless and welded.", "state_or_province": "Massachusetts", "annual_sales_range": "$5 - 9.9 Mil", "number_of_employees": "50-99", "thomasnet_company_id": "400300", "thomasnet_profile_link": "https://www.thomasnet.com/company/eagle-stainless-tube-fabrication-inc-400300/profile" }, { "city": "Louisville", "company_name": "Source International Global LLC", "year_founded": 1988, "supplier_type": "Custom Manufacturer", "certifications": [], "company_website": "https://www.sourceint.com/" , "short_description": "Offshore complex precision 3 to 5 axis CNC machining services for the aerospace, agriculture, automotive, and medical industries. Works with acetal, acrylic, nylon, polycarbonate, polyethylene, PEEK, and PVC. Also, works with ceramic, composite, glass, and wood. Capable of machining parts from 0.08 …", "state_or_province": "Kentucky", "annual_sales_range": "$100 - 249.9 Mil", "number_of_employees": "100-199", "thomasnet_company_id": "30863036", "thomasnet_profile_link": "https://www.thomasnet.com/company/source-international-global-llc-30863036/profile" }, { "city": "Denville", "company_name": "Elite Engineering Solutions LLC", "year_founded": null, "supplier_type": "Custom Manufacturer", "certifications": [], "company_website": "https://www.eliteengsolutions.com/" , "short_description": "3 and 4-axis precision CNC machining services for complex and mechanical parts and consumer products. Works with aluminum, steel, titanium, and plastic. 3 and 4-axis CNC milling is also offered. Capable of milling parts up to 12 x 15 x 16 in. dimensions. Prototypes and low to high volume production …", "state_or_province": "New Jersey", "annual_sales_range": null, "number_of_employees": null, "thomasnet_company_id": "30978308", "thomasnet_profile_link": "https://www.thomasnet.com/company/elite-engineering-solutions-llc-30978308/profile" } ]}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"thomasnet.com/search_suppliers","input":{"product_or_service":"CNC machining"}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "thomasnet.com/search_suppliers" , "input": { "product_or_service": "CNC machining" }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "thomasnet.com/search_suppliers" , "input": { "product_or_service": "CNC machining" } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run thomasnet.com/search_suppliers# with {"product_or_service":"CNC machining"}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "product_or_service" ], "properties": { "max_results": { "type": "integer", "default": 20, "maximum": 50, "minimum": 1, "description": "Maximum number of suppliers to return, for example 20." }, "supplier_type": { "enum": [ "any", "manufacturer", "distributor", "service_company" ], "type": "string", "default": "any", "description": "Type of supplier to find, for example manufacturer." }, "state_or_province": { "type": "string", "default": "", "description": "US state or Canadian province name, for example Ohio. Leave blank for all North America." }, "product_or_service": { "type": "string", "minLength": 1, "description": "The product or service to find, for example CNC machining." } }}Output schema
{ "type": "object", "required": [ "suppliers" ], "properties": { "suppliers": { "type": "array", "items": { "type": "object", "required": [ "company_name", "city", "state_or_province", "supplier_type", "short_description", "certifications", "annual_sales_range", "number_of_employees", "year_founded", "company_website", "thomasnet_profile_link", "thomasnet_company_id" ], "properties": { "city": { "type": [ "string", "null" ] }, "company_name": { "type": [ "string", "null" ] }, "year_founded": { "type": [ "integer", "null" ] }, "supplier_type": { "type": [ "string", "null" ] }, "certifications": { "type": "array", "items": { "type": "string" } }, "company_website": { "type": [ "string", "null" ] }, "short_description": { "type": [ "string", "null" ] }, "state_or_province": { "type": [ "string", "null" ] }, "annual_sales_range": { "type": [ "string", "null" ] }, "number_of_employees": { "type": [ "string", "null" ] }, "thomasnet_company_id": { "type": "string" }, "thomasnet_profile_link": { "type": "string" } }, "additionalProperties": false } } }, "additionalProperties": false}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
thomasnet.com/search_suppliers- Returns
- company name, city, state, supplier type, description, certifications, sales range, employees, year founded, website, profile link
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method thomasnet.com/search_suppliers with the inputs above.
Ask your agent
- Find me 15 manufacturers of stainless steel fasteners located in Ohio, with their certifications and employee counts.
- Search Thomasnet for powder coating service companies in Ontario and list their websites and year founded.
- I need distributors of hydraulic hose fittings anywhere in North America — give me up to 30 with sales range and city.
- Who makes injection molded plastic parts in Texas? Pull the top 10 suppliers from thomasnet.com, ideally showing ISO 9001 certification info.
- List precision sheet metal fabrication suppliers in Michigan, any type, including company descriptions and profile links.
See more
Looks up a supplier's public company profile on Alibaba by company name or store link. Response-rate percentages are not consistently published, so that field is null.
alibaba.com/get_supplierFinds companies on Trustpilot by name or what they do, with TrustScore, review count, categories, location, logo and links. A preferred country moves companies listed in that country to the front.
trustpilot.com/search_companiesSearches Target products and returns prices, ratings, photos and product links. Prices can vary by store, so you can give a ZIP code for local pricing.
target.com/search_productsFinds local US businesses on Yellow Pages by name or category and a city, state or ZIP. Returns listings with phone numbers in Yellow Pages order, excluding labeled ads; contact details, ratings and hours appear when listed.
yellowpages.com/search_businessesFinds wholesale Alibaba offers for a product, with prices, minimum orders and supplier details. Reads up to 20 public listing pages; minimum-order filtering compares the displayed number without converting packaging units.
alibaba.com/search_productsFinds US healthcare providers by name, place, specialty and provider type in the NPI Registry, with practice contact details and primary taxonomy. Results may include providers with similar names.
npiregistry.cms.hhs.gov/search_providersFinds business software in the closest Capterra category for a software category or business need, in Capterra's default listing order. Starting prices are included when published in the listing; missing details are null.
capterra.com/search_softwareSearches Newegg US for computer parts and electronics, with optional USD price range, seller restriction and sorting. Returns products in the order shown on the results page.
newegg.com/search_products