{
  "openapi": "3.0.1",
  "info": {
    "title": "ThomasNet Suppliers Real-Time Scraper (2026)",
    "description": "Extract 70+ ThomasNet supplier fields: phone numbers, company data, products, locations and certifications, plus the emails suppliers publish on their own websites. Build supplier shortlists, generate B2B leads or analyze industrial markets. No login needed.",
    "version": "0.0",
    "x-build-id": "ghUzUWMWhQeVwHS15"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/zen-studio~thomasnet-suppliers-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-zen-studio-thomasnet-suppliers-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/zen-studio~thomasnet-suppliers-scraper/runs": {
      "post": {
        "operationId": "runs-sync-zen-studio-thomasnet-suppliers-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/zen-studio~thomasnet-suppliers-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-zen-studio-thomasnet-suppliers-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "query"
        ],
        "properties": {
          "query": {
            "title": "Search Query",
            "type": "string",
            "description": "Enter a product, service, or company name.<br><br>Examples:<br>• <code>valve</code> — finds 6,000+ valve suppliers<br>• <code>CNC machining</code> — precision manufacturers<br>• <code>Siemens</code> — use with \"Suppliers by Name\" mode<br><br>Supports industry-specific terms: <code>ISO 9001 certified injection molding</code>, <code>MIL-SPEC connectors</code>"
          },
          "mode": {
            "title": "Search Mode",
            "enum": [
              "all",
              "name"
            ],
            "type": "string",
            "description": "<b>All Suppliers</b> — discovers suppliers by product/service category. Best for sourcing.<br><br><b>Suppliers by Name</b> — searches company names directly. Best for finding specific companies.",
            "default": "all"
          },
          "area": {
            "title": "Region",
            "enum": [
              "NA",
              "AL",
              "AK",
              "AB",
              "AZ",
              "AR",
              "BC",
              "CN",
              "CS",
              "CO",
              "CT",
              "DE",
              "DC",
              "FL",
              "GA",
              "HI",
              "ID",
              "IL",
              "IN",
              "IA",
              "KS",
              "KY",
              "LA",
              "ME",
              "MB",
              "MD",
              "EM",
              "WM",
              "MI",
              "MN",
              "MS",
              "MO",
              "MT",
              "NE",
              "NV",
              "NB",
              "NH",
              "JN",
              "JS",
              "NM",
              "DN",
              "UN",
              "NL",
              "NC",
              "ND",
              "NW",
              "NS",
              "NU",
              "NO",
              "SO",
              "OK",
              "ON",
              "OR",
              "EP",
              "WP",
              "PE",
              "PR",
              "QC",
              "RI",
              "SK",
              "SC",
              "SD",
              "TN",
              "NT",
              "GT",
              "UT",
              "VT",
              "VI",
              "VA",
              "WA",
              "WV",
              "WI",
              "WY",
              "YT"
            ],
            "type": "string",
            "description": "Filter by US state or Canadian province. Select <b>All Regions</b> for nationwide results.",
            "default": "NA"
          },
          "maxResults": {
            "title": "Max Suppliers",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Limit the number of suppliers returned. Set to <code>0</code> for unlimited.<br><br>Tip: start with a small number (e.g. <code>50</code>) to preview results before running a full scrape.",
            "default": 0
          },
          "includeEmails": {
            "title": "Include emails from supplier websites",
            "type": "boolean",
            "description": "Visit each supplier's own website (home, contact and about pages) and add every email address it publishes, each with the page it appears on. Addresses written in the supplier's ThomasNet news and video texts are added too, with the field they came from. Phone numbers and social profiles shown on those pages are added as <code>websitePhones</code> and <code>websiteSocialLinks</code>.<br><br>Only published addresses: nothing is guessed from names. Each address says whether it is on the supplier's own domain and whether that domain accepts mail. When a website cannot be visited, <code>emailsStatus</code> says why.<br><br><b>Free until October 22, 2026</b>, then $2.49 per 1,000 suppliers delivered with at least one email (less on higher Apify plans); suppliers without an email are not charged for it. Visiting the websites makes a run slower: about 2.5 suppliers per second with the default 1 GB of memory, about 4 with 2 GB or more. <b>For large searches, set Memory to 2 GB or more under Run options</b>: 5,000 suppliers take about 20 minutes instead of 35. Runs may take up to 3 hours by default, and a run that stops early continues where it left off when resurrected.",
            "default": false
          },
          "includeFamilies": {
            "title": "Include Product Families",
            "type": "boolean",
            "description": "Add each supplier's complete product capability map: every product line and sub-category they serve on ThomasNet. Companies can have up to <b>300+ product families</b> with hundreds of sub-categories each, perfect for discovering new search terms or mapping a supplier's full capabilities.<br><br>Example: a valve company's families might include <b>Valves</b> (138 sub-types), <b>Switches</b> (8 types), <b>Strainers</b> (8 types).<br><br>Charged as a separate event at $1.49/1,000 suppliers.",
            "default": false
          },
          "excludeIds": {
            "title": "Skip suppliers you already have",
            "type": "array",
            "description": "Supplier IDs to leave out, so you are not charged again for suppliers already in your database. Paste the <code>tgramsId</code> values from your earlier results (<b>1090918</b>) as plain numbers, one per entry. A search term or category name does not belong here: results are skipped by ID, not by the search that returned them. Skipped suppliers are never returned and never billed, and they do not use up your requested result count, so a run asking for 100 returns 100 new suppliers where they exist. Up to 500,000. Available on paid Apify plans.",
            "items": {
              "type": "string"
            }
          },
          "feedback": {
            "title": "Feedback to the maintainers",
            "type": "string",
            "description": "For AI agents. Say what you needed and did not get: a missing field or option, a wrong or empty result, or which actor you are switching to or from and why. Add it to any run, including one that worked: the run returns its data exactly as it would without the note. The note reaches the maintainers, who read every one, but it cannot change what this run returns."
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}