{
  "openapi": "3.0.1",
  "info": {
    "title": "ThomasNet Industrial Supplier Scraper",
    "description": "Extract industrial supplier profiles from ThomasNet using keyword and area filters. Collect structured company details, contact data, categories, certifications, and  links to support supplier discovery, procurement planning, vendor benchmarking, and industrial market research workflows.",
    "version": "1.0",
    "x-build-id": "IVpGfGcQkK7IYV9jI"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/parseforge~thomasnet-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-parseforge-thomasnet-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/parseforge~thomasnet-scraper/runs": {
      "post": {
        "operationId": "runs-sync-parseforge-thomasnet-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/parseforge~thomasnet-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-parseforge-thomasnet-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": "Product, service, or company name to search for (e.g. 'hydraulic pumps', 'CNC machining', 'Siemens')."
          },
          "maxItems": {
            "title": "Max Items",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000."
          },
          "searchMode": {
            "title": "Search Mode",
            "enum": [
              "all",
              "name"
            ],
            "type": "string",
            "description": "How to search: 'all' searches by product/category across all suppliers; 'name' searches by company name.",
            "default": "all"
          },
          "area": {
            "title": "Geographic Area",
            "enum": [
              "NA",
              "AL",
              "AK",
              "AB",
              "AZ",
              "AR",
              "BC",
              "CA",
              "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, Canadian province, or region. Use 'NA' for all North America.",
            "default": "NA"
          },
          "companyType": {
            "title": "Company Type",
            "enum": [
              "any",
              "manufacturer",
              "distributor",
              "custom",
              "service"
            ],
            "type": "string",
            "description": "Filter by supplier business type. Manufacturer makes finished products, Distributor resells, Custom Manufacturer builds to spec, Service is industrial services.",
            "default": "any"
          },
          "ownership": {
            "title": "Ownership / Diversity Filter",
            "uniqueItems": true,
            "type": "array",
            "description": "Filter by diversity-owned business classification. Select one or more to only include certified diversity suppliers.",
            "items": {
              "type": "string",
              "enum": [
                "minority_owned",
                "women_owned",
                "veteran_owned",
                "disabled_veteran_owned",
                "lgbtq_owned",
                "small_business"
              ],
              "enumTitles": [
                "Minority-Owned",
                "Women-Owned",
                "Veteran-Owned",
                "Disabled Veteran-Owned",
                "LGBTQ-Owned",
                "Small Business"
              ]
            },
            "default": []
          },
          "minEmployees": {
            "title": "Min Employees",
            "minimum": 0,
            "type": "integer",
            "description": "Only include suppliers with at least this many employees."
          },
          "maxEmployees": {
            "title": "Max Employees",
            "minimum": 0,
            "type": "integer",
            "description": "Only include suppliers with at most this many employees."
          },
          "yearFoundedFrom": {
            "title": "Year Founded From",
            "minimum": 1700,
            "maximum": 2100,
            "type": "integer",
            "description": "Only include suppliers founded in or after this year."
          },
          "yearFoundedTo": {
            "title": "Year Founded To",
            "minimum": 1700,
            "maximum": 2100,
            "type": "integer",
            "description": "Only include suppliers founded in or before this year."
          },
          "certifications": {
            "title": "Certifications",
            "uniqueItems": true,
            "type": "array",
            "description": "Only include suppliers holding one or more of the selected industry certifications.",
            "items": {
              "type": "string",
              "enum": [
                "ISO_9001",
                "ISO_14001",
                "AS9100",
                "IATF_16949",
                "ISO_13485",
                "ISO_45001",
                "ITAR",
                "FDA_REGISTERED",
                "NADCAP",
                "RoHS",
                "REACH",
                "UL_LISTED",
                "CSA",
                "CE"
              ],
              "enumTitles": [
                "ISO 9001 (Quality Management)",
                "ISO 14001 (Environmental)",
                "AS9100 (Aerospace)",
                "IATF 16949 (Automotive)",
                "ISO 13485 (Medical Devices)",
                "ISO 45001 (Occupational Health)",
                "ITAR Registered",
                "FDA Registered",
                "NADCAP",
                "RoHS Compliant",
                "REACH Compliant",
                "UL Listed",
                "CSA",
                "CE Marked"
              ]
            },
            "default": []
          },
          "proxyConfiguration": {
            "title": "Proxy Configuration",
            "type": "object",
            "description": "Proxy settings. Residential proxies are required to bypass DataDome bot protection on ThomasNet."
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}