PHPackages                             scraper-apis/thomasnet-scraper - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. scraper-apis/thomasnet-scraper

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

scraper-apis/thomasnet-scraper
==============================

PHP Scraper library for fetching supplier data from the ThomasNet Suppliers using an Apify actor

10PHPCI passing

Since Feb 12Pushed 4mo agoCompare

[ Source](https://github.com/Scraper-APIs/thomasnet-scraper-php)[ Packagist](https://packagist.org/packages/scraper-apis/thomasnet-scraper)[ RSS](/packages/scraper-apis-thomasnet-scraper/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

[ThomasNet PHP Scraper](https://github.com/Scraper-APIs/thomasnet-scraper-php)
==============================================================================

[](#thomasnet-php-scraper)

[![Tests](https://github.com/Scraper-APIs/thomasnet-scraper-php/actions/workflows/tests.yml/badge.svg)](https://github.com/Scraper-APIs/thomasnet-scraper-php/actions/workflows/tests.yml)[![PHP Version](https://camo.githubusercontent.com/42df5991a968c0783a689ce697865ac6fbe316246743abc265ab342ae158dc7d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d382e332532422d626c7565)](https://www.php.net/)[![License](https://camo.githubusercontent.com/f8df3091bbe1149f398a5369b2c39e896766f9f6efba3477c63e9b4aa940ef14/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d677265656e)](LICENSE)

A PHP library for fetching supplier data from the [ThomasNet Suppliers](https://thomasnet.com) Database using the [Apify ThomasNet Supplier Scraper](https://apify.com/zen-studio/thomasnet-suppliers-scraper). Returns fully typed DTOs for easy integration into your application. *Safe, reliable and scalable.*

Installation
------------

[](#installation)

```
composer require scraper-apis/thomasnet-scraper
```

Requirements
------------

[](#requirements)

- PHP 8.3+
- Apify API token ([get one here](https://console.apify.com/account/integrations))

Quick Start
-----------

[](#quick-start)

```
use ThomasNetScraper\Client;
use ThomasNetScraper\SearchMode;

$client = new Client('YOUR_APIFY_TOKEN');

// Search for valve manufacturers
$suppliers = $client->search('valve manufacturer');

foreach ($suppliers as $supplier) {
    echo $supplier->name . ' - ' . $supplier->primaryPhone . PHP_EOL;
}
```

Usage
-----

[](#usage)

### Search by Product Category

[](#search-by-product-category)

```
$suppliers = $client->search('CNC machining', SearchMode::All);
```

### Search by Company Name

[](#search-by-company-name)

```
$suppliers = $client->search('Siemens', SearchMode::Name, maxResults: 50);
```

### Regional Search

[](#regional-search)

```
use ThomasNetScraper\Area;

$suppliers = $client->search(
    query: 'precision machining',
    mode: SearchMode::All,
    area: Area::Michigan,
    maxResults: 500
);
```

### Working with Supplier Data

[](#working-with-supplier-data)

```
foreach ($suppliers as $supplier) {
    // Company info
    echo $supplier->name;
    echo $supplier->description;
    echo $supplier->yearFounded;
    echo $supplier->annualSales;        // e.g., "$250 Mil. and over"
    echo $supplier->numberEmployees;    // e.g., "1000+"

    // Contact
    echo $supplier->primaryPhone;
    echo $supplier->website;

    // Location
    echo $supplier->address->city;
    echo $supplier->address->state;
    echo $supplier->address->latitude;
    echo $supplier->address->longitude;

    // Certifications
    foreach ($supplier->certifications as $cert) {
        echo $cert->title;  // e.g., "ISO 9001:2015"
        echo $cert->type;   // e.g., "QUALITY"
        echo $cert->scope;
    }

    // Products
    foreach ($supplier->products as $product) {
        echo $product->name;
        echo $product->description;
    }

    // Personnel
    foreach ($supplier->personnel as $person) {
        echo $person->name;
        echo $person->title;
    }
}
```

### Filtering Results

[](#filtering-results)

```
// Filter for ISO 9001 certified suppliers
$iso9001Suppliers = array_filter(
    $suppliers,
    fn ($s) => $s->hasCertification('ISO 9001')
);

// Filter by state
$texasSuppliers = array_filter(
    $suppliers,
    fn ($s) => $s->address->state === 'TX'
);

// Filter by employee count
$largeSuppliers = array_filter(
    $suppliers,
    fn ($s) => $s->numberEmployees === '1000+'
);
```

DTOs
----

[](#dtos)

### Supplier

[](#supplier)

PropertyTypeDescription`tgramsId`stringUnique identifier`name`stringCompany name`description`?stringCompany description`type`?stringSupplier type`tier`?stringThomasNet tier`yearFounded`?intYear established`annualSales`?stringRevenue range`numberEmployees`?stringEmployee count range`primaryPhone`?stringMain phone number`website`?stringCompany website`logoUrl`?stringLogo image URL`address`AddressLocation details`certifications`Certification\[\]Quality certifications`products`Product\[\]Product catalog`headings`Heading\[\]ThomasNet category headings`personnel`Person\[\]Company contacts`brands`Brand\[\]Brand names`social`SocialLink\[\]Social media links`videos`Video\[\]Company videos`news`NewsArticle\[\]Press releases`whitepapers`Whitepaper\[\]Technical documents`isMultiLocation`boolHas multiple locations`xometryVerified`boolXometry verification status`isClaimed`boolProfile claimed by company`scrapedAt`DateTimeImmutableData extraction timestamp### Address

[](#address)

PropertyType`address1`?string`address2`?string`city`?string`state`?string`stateName`?string`zip`?string`country`?string`latitude`?float`longitude`?float### Certification

[](#certification)

PropertyType`id`int`code`string`title`string`type`string`group`?string`scope`?string`imageUrl`?string`url`?string`date`?stringArea Codes
----------

[](#area-codes)

CodeRegion`NA`All (North America)`NT`Texas North`GT`Texas South`CN`California North`CS`California South`DN`New York Metro`UN`New York Upstate`IL`Illinois`MI`Michigan`NO`Ohio North`SO`Ohio South`EP`Pennsylvania East`WP`Pennsylvania West`ON`Ontario`QC`QuebecSee `Area` enum for the complete list of 50+ regions.

Error Handling
--------------

[](#error-handling)

```
use ThomasNetScraper\Exception\ApiException;
use ThomasNetScraper\Exception\RateLimitException;
use ThomasNetScraper\Exception\InvalidQueryException;

try {
    $suppliers = $client->search('valve');
} catch (RateLimitException $e) {
    // Handle rate limiting
    sleep($e->retryAfter);
} catch (ApiException $e) {
    // Handle API errors
    echo $e->getMessage();
}
```

Deduplication
-------------

[](#deduplication)

When running multiple queries, use `tgramsId` as the unique key:

```
$allSuppliers = [];

foreach (['valve', 'pump', 'fitting'] as $query) {
    foreach ($client->search($query) as $supplier) {
        $allSuppliers[$supplier->tgramsId] = $supplier;
    }
}

// $allSuppliers now contains unique suppliers only
```

License
-------

[](#license)

MIT

###  Health Score

18

—

LowBetter than 8% of packages

Maintenance51

Moderate activity, may be stable

Popularity2

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity12

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/8433587?v=4)[Peter Thaleikis](/maintainers/spekulatius)[@spekulatius](https://github.com/spekulatius)

---

Top Contributors

[![spekulatius](https://avatars.githubusercontent.com/u/8433587?v=4)](https://github.com/spekulatius "spekulatius (12 commits)")

---

Tags

b2b-leadsb2b-leads-extractioncrawlerdata-extractionindustrial-directoryscraperscraper-apithomasnetthomasnet-com

### Embed Badge

![Health badge](/badges/scraper-apis-thomasnet-scraper/health.svg)

```
[![Health](https://phpackages.com/badges/scraper-apis-thomasnet-scraper/health.svg)](https://phpackages.com/packages/scraper-apis-thomasnet-scraper)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
