PHPackages                             bigdatacloudapi/bigdatacloud - 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. bigdatacloudapi/bigdatacloud

ActiveLibrary[API Development](/categories/api)

bigdatacloudapi/bigdatacloud
============================

Official PHP SDK for BigDataCloud APIs — IP Geolocation, Reverse Geocoding, Phone &amp; Email Verification, Network Engineering

v1.0.0(2mo ago)12MITPHPPHP &gt;=8.1

Since Apr 11Pushed 2mo agoCompare

[ Source](https://github.com/bigdatacloudapi/bigdatacloud-php)[ Packagist](https://packagist.org/packages/bigdatacloudapi/bigdatacloud)[ Docs](https://www.bigdatacloud.com)[ RSS](/packages/bigdatacloudapi-bigdatacloud/feed)WikiDiscussions main Synced 1w ago

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

BigDataCloud PHP SDK
====================

[](#bigdatacloud-php-sdk)

[![Packagist](https://camo.githubusercontent.com/34974120eef660838b6884a51a8c4dbcccd0fce18c0783f120ea7c122c3f7f50/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f62696764617461636c6f75646170692f62696764617461636c6f7564)](https://packagist.org/packages/bigdatacloudapi/bigdatacloud)[![License: MIT](https://camo.githubusercontent.com/fdf2982b9f5d7489dcf44570e714e3a15fce6253e0cc6b5aa61a075aac2ff71b/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d79656c6c6f772e737667)](LICENSE)[![PHP](https://camo.githubusercontent.com/83dd395020c37276225039739320f6c8e7e99963ab21ee3d09282cb48dad2a60/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d382e312532422d626c7565)](https://www.php.net)

Official PHP SDK for [BigDataCloud](https://www.bigdatacloud.com) APIs. Strongly-typed client for IP Geolocation, Reverse Geocoding, Phone &amp; Email Verification, and Network Engineering.

Zero external dependencies — requires only `ext-curl` and `ext-json`.

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

[](#installation)

```
composer require bigdatacloudapi/bigdatacloud
```

API Key
-------

[](#api-key)

Get a free API key at [bigdatacloud.com/login](https://www.bigdatacloud.com/login). No credit card required.

```
export BIGDATACLOUD_API_KEY=your-key-here
```

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

[](#quick-start)

```
use BigDataCloud\BigDataCloudClient;

// Reads BIGDATACLOUD_API_KEY from environment
$client = BigDataCloudClient::fromEnvironment();

// Or pass the key directly
// $client = new BigDataCloudClient('your-key-here');

// IP Geolocation
$geo = $client->ipGeolocation->get('1.1.1.1');
echo "{$geo->location->city}, {$geo->country->name}\n";

// Reverse Geocoding
$place = $client->reverseGeocoding->reverseGeocode(-33.87, 151.21);
echo "{$place->city}, {$place->countryName}\n";

// Phone Validation — countryCode is required
$phone = $client->verification->validatePhone('+61412345678', 'AU');
echo "Valid: " . ($phone->isValid ? 'yes' : 'no') . ", Type: {$phone->lineType}\n";

// Email Verification
$email = $client->verification->verifyEmail('user@example.com');
echo "Valid: " . ($email->isValid ? 'yes' : 'no') . ", Disposable: " . ($email->isDisposable ? 'yes' : 'no') . "\n";
```

Confidence Area
---------------

[](#confidence-area)

The `confidenceArea` field may encode multiple polygons. Use the helper:

```
use BigDataCloud\ConfidenceAreaHelper;

$geo = $client->ipGeolocation->getWithConfidenceArea('1.1.1.1');
$polygons = ConfidenceAreaHelper::splitIntoPolygons($geo->confidenceArea);
foreach ($polygons as $i => $ring) {
    echo "Ring " . ($i + 1) . ": " . count($ring) . " points\n";
}
```

Available APIs
--------------

[](#available-apis)

ClientMethods`$client->ipGeolocation``get`, `getWithConfidenceArea`, `getFull`, `getCountryByIp`, `getCountryInfo`, `getAllCountries`, `getHazardReport`, `getUserRisk`, `getAsnInfo`, `getNetworkByIp`, `getTimezoneByIanaId`, `getTimezoneByIp`, `parseUserAgent``$client->reverseGeocoding``reverseGeocode`, `reverseGeocodeWithTimezone`, `getTimezoneByLocation``$client->verification``validatePhone`, `validatePhoneByIp`, `verifyEmail``$client->networkEngineering``getAsnInfoFull`, `getReceivingFrom`, `getTransitTo`, `getBgpPrefixes`, `getNetworksByCidr`, `getAsnRankList`, `getTorExitNodes`Phone Validation
----------------

[](#phone-validation)

Both methods require explicit country context — never uses server IP silently:

```
// You know the country
$phone = $client->verification->validatePhone('+61412345678', 'AU');

// You know the end user's IP (pass their IP, not your server's)
$phone = $client->verification->validatePhoneByIp('0412345678', $userIp);
```

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

[](#error-handling)

```
use BigDataCloud\BigDataCloudException;

try {
    $geo = $client->ipGeolocation->get('1.1.1.1');
} catch (BigDataCloudException $e) {
    echo "API error {$e->statusCode}: {$e->getMessage()}\n";
}
```

Samples
-------

[](#samples)

```
export BIGDATACLOUD_API_KEY=your-key-here
php samples/ip_geolocation.php
php samples/reverse_geocoding.php
php samples/verification.php
php samples/network_engineering.php
```

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

[](#requirements)

- PHP 8.1+
- ext-curl
- ext-json

License
-------

[](#license)

MIT — see [LICENSE](LICENSE).

###  Health Score

36

—

LowBetter than 79% of packages

Maintenance88

Actively maintained with recent releases

Popularity5

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity42

Maturing project, gaining track record

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

60d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/e0e91295b01af2fc0a95f11e44d42861ea248931803a273c542384610eb99999?d=identicon)[bigdatacloudapi](/maintainers/bigdatacloudapi)

---

Tags

api-clientbigdatacloudcomposergeolocationip-geolocationlaravelpackagistphpreverse-geocodingsdkgeolocationip geolocationemail-verificationphone-validationreverse-geocodingbigdatacloudnetwork-engineering

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/bigdatacloudapi-bigdatacloud/health.svg)

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

###  Alternatives

[geoip2/geoip2

MaxMind GeoIP PHP API

2.5k89.6M339](/packages/geoip2-geoip2)[igaster/laravel_cities

Seed all countries/cities from geonames.org database. Searchable DB tree, ready to use API &amp; a bonus vue.js component!

18393.4k1](/packages/igaster-laravel-cities)[jeroendesloovere/geolocation-php-api

This Geolocation PHP class connects to Google Maps API to find latitude/longitude or address.

76321.1k4](/packages/jeroendesloovere-geolocation-php-api)[maxh/php-nominatim

Wrapper for Nominatim API

50406.4k2](/packages/maxh-php-nominatim)[ipgeolocation/ipgeolocation-php-sdk

Official PHP SDK for the IPGeolocation.io IP Location API with single and bulk lookup support.

413.2k](/packages/ipgeolocation-ipgeolocation-php-sdk)[jbohme/nominatim-laravel

Wrapper for Nominatim API to Laravel

1240.5k](/packages/jbohme-nominatim-laravel)

PHPackages © 2026

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