🐘PHP Core SDK

PHP Outbound API Monitoring

Universal PHP SDK for any framework or plain PHP applications. Track cURL, Guzzle, and file_get_contents automatically.

Get started in seconds:

composer require outboundiq/outboundiq-php

For Any PHP Application

Use standalone or as the foundation for framework-specific packages

📜

Plain PHP

No framework required

🔧

CLI Scripts

Cron jobs & workers

⚙️

Custom Frameworks

Slim, Lumen, etc.

🏗️

Legacy Apps

Any PHP 8.1+ app

One Function Call

<?php
require_once 'vendor/autoload.php';

// Initialize OutboundIQ
outboundiq_init('your_api_key_here');

// That's it! All HTTP calls are now tracked automatically.

// cURL calls
$ch = curl_init('https://api.stripe.com/v1/charges');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);

// Guzzle with middleware
$client = new GuzzleHttp\Client([
    'handler' => GuzzleMiddleware::getHandlerStack()
]);
$response = $client->get('https://api.example.com');

// file_get_contents
$data = file_get_contents('https://api.example.com/data');

Production-Ready Features

Non-Blocking Transport

Metrics are sent via background curl processes. Your request-response cycle is never affected. True fire-and-forget architecture.

// Uses proc_open with curl
// Spawns background process
// Returns immediately
// Your app never waits

Guzzle Middleware

Built-in Guzzle middleware for easy integration with existing Guzzle clients.

use OutboundIQ\GuzzleMiddleware;

$client = new GuzzleHttp\Client([
    'handler' => GuzzleMiddleware::getHandlerStack()
]);

// All requests automatically tracked

SDK Methods

Query OutboundIQ for provider recommendations and health status.

$client = new OutboundIQ\Client($apiKey);

// Get recommendation
$rec = $client->recommend('payment');

// Check provider status
$status = $client->providerStatus('stripe');

// Check endpoint status
$ep = $client->endpointStatus('stripe-charges');

Smart Error Detection

Automatically categorizes errors: timeout, DNS, SSL, connection refused, and more.

// Automatic error classification:
// - timeout
// - dns_error
// - ssl_error
// - connection_refused
// - http_error (4xx, 5xx)

Configuration Options

<?php
use OutboundIQ\Client;

$client = outboundiq_init('your_api_key', [
    // Enable/disable monitoring
    'enabled' => true,
    
    // Performance tuning
    'batch_size' => 50,           // Batch before sending
    'buffer_size' => 100,         // Max buffer size
    'max_payload_size' => 65536,  // 64KB max
    
    // Timing
    'timeout' => 5,               // Seconds
    'retry_attempts' => 3,        // Retries on failure
    'flush_interval' => 60,       // Force flush interval
    
    // Storage
    'temp_dir' => '/tmp',         // Temp file location
    'transport' => 'file',        // 'file' or 'async'
]);

Framework-Specific SDKs

For even easier integration, use our framework-specific packages

Start Monitoring Your PHP APIs Today

Free tier available. No credit card required.