{
  "openapi": "3.0.1",
  "info": {
    "title": "Thomasnet Suppliers Scraper [$1/1K 💰] No Login, Personnel",
    "description": "Thomasnet scraper with no login or cookies: find US and Canadian industrial suppliers by keyword, category or location and export name, website, phone, address, sales, employees, year founded, named personnel with titles and certifications. Optional contact emails from each supplier's website.",
    "version": "0.0",
    "x-build-id": "wlE3UIsIa2Xe0YaT6"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/memo23~thomasnet-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-memo23-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/memo23~thomasnet-scraper/runs": {
      "post": {
        "operationId": "runs-sync-memo23-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/memo23~thomasnet-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-memo23-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",
        "properties": {
          "searchQueries": {
            "title": "🔍 Search queries",
            "type": "array",
            "description": "Products or services to find suppliers for, one per line. Each keyword is matched to Thomasnet categories (verified suppliers, complete lists) and also run through Thomasnet's free-text search in every region. Broad terms return more: \"valves\" beats \"3-inch bronze gate valves\". Example: cnc machining.",
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "📍 Location (optional)",
            "type": "string",
            "description": "Limit the search to one place: a US state (Texas or TX), a city with its state (Houston, TX) or a 5-digit ZIP (77002). A state or city searches the Thomasnet region(s) that serve it; a ZIP searches by real distance, see \"Radius\". Leave empty for the whole of the US and Canada."
          },
          "radiusMiles": {
            "title": "Radius around a ZIP (miles)",
            "minimum": 5,
            "maximum": 500,
            "type": "integer",
            "description": "Used only when the location is a ZIP. Suppliers within this many miles are returned, each with its distance. 5 to 500. Default: 50.",
            "default": 50
          },
          "startUrls": {
            "title": "📎 Start URLs (optional)",
            "type": "array",
            "description": "Thomasnet URLs, mixed freely: a search URL (thomasnet.com/suppliers/search?heading=...&searchterm=...), a category page (thomasnet.com/suppliers/usa/cnc-machining-45330503) or one supplier's profile (thomasnet.com/company/magnatrol-valve-corp-567647/profile). A region or ZIP in the URL is used for that URL.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "maxItems": {
            "title": "Max suppliers",
            "minimum": 1,
            "type": "integer",
            "description": "Hard cap on suppliers saved in the run. Also capped by your plan (free plan: 100) and by the run's charge limit. Default: 100.",
            "default": 100
          },
          "maxCategories": {
            "title": "Categories per keyword",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "How many Thomasnet categories to read for each keyword, best match first. 1 to 10. Default: 3.",
            "default": 3
          },
          "includeCertifications": {
            "title": "Include certifications",
            "type": "boolean",
            "description": "Add each supplier's quality, diversity and registration certifications with type, group, audit scope and date (certifications and certificationTitles). No extra cost. Default: true.",
            "default": true
          },
          "enrichEmails": {
            "title": "💌 Find contact emails (opt-in, $0.05 per email found)",
            "type": "boolean",
            "description": "Thomasnet does not publish emails. When on, the actor reads each supplier's own website (contact and about pages) for an address such as sales@ or info@ and adds contactEmail, contactWebsite and emailEnrichment. Billed $0.05 per supplier an email is found for, and nothing when none is found. Adds a few seconds per supplier. Default: false.",
            "default": false
          },
          "proxy": {
            "title": "Proxy (optional)",
            "type": "object",
            "description": "Leave empty: no proxy is needed. To send requests through your own proxies, pick \"Own proxies\" and paste their URLs; Apify Proxy groups set here are ignored."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}