Reduce Duplicate API Calls in Laravel Using Http::pool()

Execute multiple HTTP requests concurrently for faster response times.

  • 09 May, 2026
  • 26 Views

Reduce Duplicate API Calls in Laravel Using Http::pool()

In Laravel applications, it’s common to fetch data from multiple APIs.

Typical approach:

$user = Http::get('/user');
$orders = Http::get('/orders');
$payments = Http::get('/payments');

πŸ‘‰ Problem:

  • Requests run one-by-one
  • Total response time increases

The Better Solution: Http::pool()

Laravel allows multiple requests to run simultaneously.

Basic Usage

$responses = Http::pool(fn ($pool) => [
    $pool->get('/user'),
    $pool->get('/orders'),
    $pool->get('/payments'),
]);

What Happens

Instead of:

Request 1 β†’ Request 2 β†’ Request 3

Laravel runs:

Request 1
Request 2
Request 3

πŸ‘‰ At the same time.

Real Project Example

Dashboard analytics:

$responses = Http::pool(fn ($pool) => [
    'users' => $pool->get('https://api.app.com/users'),
    'sales' => $pool->get('https://api.app.com/sales'),
    'revenue' => $pool->get('https://api.app.com/revenue'),
]);

Usage:

$responses['sales']->json();


Share: