PHPackages                             bdm/datafinder - 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. [API Development](/categories/api)
4. /
5. bdm/datafinder

ActiveLibrary[API Development](/categories/api)

bdm/datafinder
==============

Official PHP/Laravel SDK for the BDM DataFinder API

v1.0.0(3mo ago)01↓90%MITPHPPHP ^8.1

Since Mar 26Pushed 3mo agoCompare

[ Source](https://github.com/christofouche/bdm-datafinder-sdk)[ Packagist](https://packagist.org/packages/bdm/datafinder)[ RSS](/packages/bdm-datafinder/feed)WikiDiscussions main Synced 3w ago

READMEChangelogDependencies (3)Versions (2)Used By (0)

BDM DataFinder PHP/Laravel SDK
==============================

[](#bdm-datafinder-phplaravel-sdk)

Official PHP SDK for the [BDM DataFinder API](https://bdmdatafinder.com).

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

[](#installation)

```
composer require bdm/datafinder
```

Configuration
-------------

[](#configuration)

Publish the config file:

```
php artisan vendor:publish --tag=datafinder-config
```

Add your API key to `.env`:

```
BDM_DATAFINDER_API_KEY=bdm_pro_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
BDM_DATAFINDER_BASE_URL=https://api.bdmdatafinder.com/api/v1
```

Usage
-----

[](#usage)

### Find a Business

[](#find-a-business)

```
use BDM\DataFinder\Facades\DataFinder;

$result = DataFinder::business()->find('ERA Real Estate', location: 'Cape Town');

echo $result->topName();       // ERA Real Estate
echo $result->topWebsite();    // https://www.era.co.za
echo $result->topConfidence(); // 0.48
echo $result->topBand();       // weak
```

### Find Similar / Competitors

[](#find-similar--competitors)

```
$result = DataFinder::business()->findSimilar('ERA Real Estate', location: 'Cape Town');

foreach ($result->results() as $competitor) {
    echo $competitor['name'] . ' — ' . $competitor['address'];
}
```

### Extract Products / Services

[](#extract-products--services)

```
$result = DataFinder::business()->findProducts('KPMG South Africa', website: 'https://www.kpmg.com/za');

foreach ($result->offerings() as $offering) {
    echo $offering['name']; // Audit, Advisory, etc.
}
```

### Validate a Business (KYC)

[](#validate-a-business-kyc)

```
$result = DataFinder::validation()->business(
    name:    'ERA Real Estate',
    website: 'https://www.era.co.za',
    phone:   '+27813612603',
    address: '20 London Rd, Sea Point, Cape Town',
);

echo $result->score();    // 0.882
echo $result->verdict();  // pass
echo $result->isPassed(); // true
```

### Bulk Enrichment

[](#bulk-enrichment)

```
$job = DataFinder::bulk()->enrich([
    ['name' => 'ERA Real Estate',   'location' => 'Cape Town',     'reference' => 'lead_001'],
    ['name' => 'KPMG',              'location' => 'Johannesburg',  'reference' => 'lead_002'],
    ['name' => 'Woolworths',        'location' => 'Cape Town',     'reference' => 'lead_003'],
]);

echo $job->jobId(); // bulk_xxxxx

// Poll for results
$status = DataFinder::bulk()->status($job->jobId());
echo $status->progress() . '%'; // 100%

// Or wait for completion (small batches only)
$status = DataFinder::bulk()->enrichAndWait([
    ['name' => 'ERA Real Estate', 'location' => 'Cape Town'],
]);

foreach ($status->results() as $result) {
    echo $result['result']['name'];
}
```

### Reverse Lookups

[](#reverse-lookups)

```
// Domain to company profile
$result = DataFinder::business()->findByEmailDomain('info@era.co.za');
echo $result->name();        // ERA Group South Africa
echo $result->description(); // ERA Real Estate has been...

// Find businesses at an address
$result = DataFinder::business()->findByAddress('19 Edison Way, Century City, Cape Town');
foreach ($result->businesses() as $business) {
    echo $business['name'];
}

// VAT number lookup
$result = DataFinder::business()->findByVatNumber('4360189102', 'ZA');
echo $result->isVerified(); // true
echo $result->format();     // ZA_VAT

// Person to businesses
$result = DataFinder::business()->findByPerson('Johann Rupert', location: 'South Africa');
foreach ($result->associations() as $assoc) {
    echo $assoc['business']['name'];
}
```

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

[](#error-handling)

```
use BDM\DataFinder\Exceptions\AuthenticationException;
use BDM\DataFinder\Exceptions\RateLimitException;
use BDM\DataFinder\Exceptions\DataFinderException;

try {
    $result = DataFinder::business()->find('ERA Real Estate', location: 'Cape Town');
} catch (AuthenticationException $e) {
    // Invalid API key
} catch (RateLimitException $e) {
    // Rate limited — retry after $e->retryAfter seconds
    sleep($e->retryAfter);
} catch (DataFinderException $e) {
    // General API error
}
```

Without Laravel (Plain PHP)
---------------------------

[](#without-laravel-plain-php)

```
use BDM\DataFinder\DataFinderClient;

$client = new DataFinderClient(
    apiKey:  'bdm_pro_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
    baseUrl: 'https://api.bdmdatafinder.com/api/v1',
);

$result = $client->business()->find('ERA Real Estate', location: 'Cape Town');
```

```

---

Once all files are created your structure should look like:

```

bdm-datafinder-sdk/ ├── composer.json ├── README.md ├── config/ │ └── datafinder.php └── src/ ├── DataFinderClient.php ├── DataFinderServiceProvider.php ├── Facades/ │ └── DataFinder.php ├── Resources/ │ ├── BusinessResource.php │ ├── BulkResource.php │ └── ValidationResource.php ├── Responses/ │ ├── BaseResponse.php │ ├── BusinessResponse.php │ ├── BulkJobResponse.php │ ├── BulkStatusResponse.php │ ├── TypeSearchResponse.php │ ├── ProductsResponse.php │ ├── EmployeesResponse.php │ ├── SimilarResponse.php │ ├── PhoneResponse.php │ ├── EmailDomainResponse.php │ ├── PersonResponse.php │ ├── AddressResponse.php │ ├── VatResponse.php │ └── ValidationResponse.php └── Exceptions/ ├── DataFinderException.php ├── AuthenticationException.php └── RateLimitException.php

###  Health Score

34

—

LowBetter than 75% of packages

Maintenance82

Actively maintained with recent releases

Popularity1

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity42

Maturing project, gaining track record

 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.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

91d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/662b0bc39c91d96b595db9a32bf74c05c68f4b33c03f36bc9c9ae9bfb03c1c34?d=identicon)[christofouche](/maintainers/christofouche)

---

Top Contributors

[![christofouche](https://avatars.githubusercontent.com/u/2093847?v=4)](https://github.com/christofouche "christofouche (2 commits)")

---

Tags

apibusiness intelligenceSouth Africabdmdatafinder

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/bdm-datafinder/health.svg)

```
[![Health](https://phpackages.com/badges/bdm-datafinder/health.svg)](https://phpackages.com/packages/bdm-datafinder)
```

###  Alternatives

[tencentcloud/tencentcloud-sdk-php

TencentCloudApi php sdk

3661.2M46](/packages/tencentcloud-tencentcloud-sdk-php)[theodo-group/llphant

LLPhant is a library to help you build Generative AI applications.

1.7k371.6k6](/packages/theodo-group-llphant)[hubspot/api-client

Hubspot API client

24015.5M18](/packages/hubspot-api-client)[files.com/files-php-sdk

Files.com PHP SDK

2478.1k](/packages/filescom-files-php-sdk)[checkout/checkout-sdk-php

Checkout.com SDK for PHP

563.5M10](/packages/checkout-checkout-sdk-php)[clicksend/clicksend-php

301.6M11](/packages/clicksend-clicksend-php)

PHPackages © 2026

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