PHPackages                             outboundiq/outboundiq-php - 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. [HTTP &amp; Networking](/categories/http)
4. /
5. outboundiq/outboundiq-php

ActiveLibrary[HTTP &amp; Networking](/categories/http)

outboundiq/outboundiq-php
=========================

Track and monitor outgoing API calls in PHP applications

1.0.1(5mo ago)01.6k↓74.7%1MITPHPPHP ^8.1

Since Jan 18Pushed 2mo agoCompare

[ Source](https://github.com/outboundiq-hq/outboundiq-php)[ Packagist](https://packagist.org/packages/outboundiq/outboundiq-php)[ Docs](https://outboundiq.dev)[ RSS](/packages/outboundiq-outboundiq-php/feed)WikiDiscussions main Synced yesterday

READMEChangelog (2)Dependencies (2)Versions (3)Used By (1)

OutboundIQ PHP
==============

[](#outboundiq-php)

> API Intelligence for PHP applications.

OutboundIQ helps you understand and optimize your outbound API calls in real time, not just monitor them.

Instead of guessing when a provider is down, slow, or degrading, OutboundIQ gives you visibility and decision-making power across your external dependencies.

The problem
-----------

[](#the-problem)

Your app depends on APIs.

Payments, KYC, messaging, analytics, everything.

When something breaks:

- Dashboards stay green
- Errors spike quietly
- One endpoint fails while others work
- You do not know which provider to trust

The solution: API Intelligence
------------------------------

[](#the-solution-api-intelligence)

OutboundIQ tracks outbound requests and turns them into actionable insights:

- Real-time provider health
- Endpoint-level visibility (not just provider status)
- Smart routing recommendations
- Collective intelligence across your traffic

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

[](#installation)

```
composer require outboundiq/outboundiq-php
```

Setup
-----

[](#setup)

### Option A: one-liner bootstrap (recommended)

[](#option-a-one-liner-bootstrap-recommended)

```
require_once 'vendor/autoload.php';

$client = outboundiq_init('your-api-key', [
    'transport' => 'async', // async | sync | queue
]);
```

### Option B: explicit client construction

[](#option-b-explicit-client-construction)

```
use OutboundIQ\Client;

$client = new Client('your-api-key', [
    'enabled' => true,
    'transport' => 'async',      // async | sync | queue
    'batch_size' => 50,
    'timeout' => 5,
    'retry_attempts' => 3,
    'url' => 'https://agent.outboundiq.dev/api/metric',
]);
```

Note: this package uses API key authentication. You do not pass `project_id` in the client constructor.

Quick example: smart routing
----------------------------

[](#quick-example-smart-routing)

```
$decision = $client->recommend('payment-processing');

$provider = $decision['decision']['use'] ?? 'stripe';

// Use the recommended provider dynamically
```

Instead of hardcoding providers, your app adapts in real time.

Track your API calls
--------------------

[](#track-your-api-calls)

OutboundIQ supports multiple transport layers:

- cURL interception (registered by `outboundiq_init`)
- `file_get_contents` interception (registered by `outboundiq_init`)
- Guzzle middleware (available after `outboundiq_init`, then attach handler stack on each Guzzle client you want tracked)

### Guzzle example

[](#guzzle-example)

```
use GuzzleHttp\Client as GuzzleClient;
use OutboundIQ\Interceptors\GuzzleMiddleware;

$http = new GuzzleClient([
    'handler' => GuzzleMiddleware::getHandlerStack(),
]);

$response = $http->get('https://api.example.com/status');
```

Important: Guzzle requests are tracked only for clients created with `GuzzleMiddleware::getHandlerStack()`.
If you already have existing Guzzle clients, update their handler config to use that stack.

API Intelligence methods
------------------------

[](#api-intelligence-methods)

### Provider health

[](#provider-health)

```
$status = $client->providerStatus('stripe');
```

Use this to inspect provider-level health, incidents, and decision data.

### Endpoint intelligence

[](#endpoint-intelligence)

```
$endpoint = $client->endpointStatus('stripe-post-v1-charges');
```

Because providers do not fail uniformly, endpoints do.

### Smart recommendations

[](#smart-recommendations)

```
$decision = $client->recommend('kyc-verification');
```

OutboundIQ recommends which provider path to use based on live performance signals.

Why OutboundIQ
--------------

[](#why-outboundiq)

Most tools tell you what happened.

OutboundIQ helps you decide what to do next.

- Not just logs, decisions
- Not just monitoring, intelligence
- Not just alerts, actions

Works anywhere
--------------

[](#works-anywhere)

Framework-agnostic:

- Vanilla PHP
- Laravel (or use `laravel-outboundiq` for framework-native integration)
- Symfony
- Custom stacks

Configuration reference
-----------------------

[](#configuration-reference)

```
$client = new Client('your-api-key', [
    'enabled' => true,
    'transport' => 'async',   // async | sync | queue
    'batch_size' => 50,
    'buffer_size' => 100,
    'flush_interval' => 30,
    'timeout' => 5,
    'retry_attempts' => 3,
    'temp_dir' => sys_get_temp_dir(),
    'url' => 'https://agent.outboundiq.dev/api/metric',
]);
```

Environment convenience:

```
export OUTBOUNDIQ_KEY=your-api-key
```

When `OUTBOUNDIQ_KEY` is set, bootstrap auto-initialization can kick in.

Use cases
---------

[](#use-cases)

- Payment provider failover
- KYC provider optimization
- API reliability monitoring
- Multi-provider routing
- Detecting silent endpoint failures

Learn more
----------

[](#learn-more)

- Website:
- Docs:

Contributing
------------

[](#contributing)

Contributions, feedback, and ideas are welcome.

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

[](#requirements)

- PHP 8.2+
- ext-curl
- ext-json

License
-------

[](#license)

MIT

###  Health Score

41

—

FairBetter than 87% of packages

Maintenance78

Regular maintenance activity

Popularity20

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity45

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

Every ~0 days

Total

2

Last Release

165d ago

PHP version history (2 changes)1.0.0PHP ^8.2

1.0.1PHP ^8.1

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/215213269?v=4)[outboundiq](/maintainers/outboundiq)[@OutboundIQ](https://github.com/OutboundIQ)

---

Top Contributors

[![infinitypaul](https://avatars.githubusercontent.com/u/15332137?v=4)](https://github.com/infinitypaul "infinitypaul (20 commits)")

---

Tags

httpapimonitoringtrackingMetricsobservability

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/outboundiq-outboundiq-php/health.svg)

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

###  Alternatives

[quickbooks/v3-php-sdk

The Official PHP SDK for QuickBooks Online Accounting API

28210.6M33](/packages/quickbooks-v3-php-sdk)[xeroapi/xero-php-oauth2

Xero official PHP SDK for oAuth2 generated with OpenAPI spec 3

1054.7M18](/packages/xeroapi-xero-php-oauth2)[meteocontrol/vcom-api-client

HTTP Client for meteocontrol's VCOM API - The VCOM API enables you to directly access your data on the meteocontrol platform.

188.0k1](/packages/meteocontrol-vcom-api-client)[eslazarev/wildberries-sdk

Wildberries OpenAPI clients (generated).

273.0k](/packages/eslazarev-wildberries-sdk)

PHPackages © 2026

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