Enterprise Search official PHP client


A first-party PHP client to interface with Elastic Enterpise Search including Elastic App Search and Elastic Workplace Search.


The package can be installed using composer:

composer require elastic/enterprise-search

The version follows the Elastic Stack version so 8.0 is compatible with Enterprise Search released in Elastic Stack 8.0.

PSR-18 HTTP library

This project uses elastic-transport-php as HTTP library. This is a component that abstracts the usage of any PSR-18 client libraries. It uses the autodiscovery feature of HTTPlug to find a compliant library already installed in your vendor. If you receive an error like No PSR-18 clients found this means you don't have any PSR-18 library installed. We suggest to use Guzzle v7+ as HTTP library. You can require it using composer:

composer require guzzlehttp/guzzle

If you want to be sure to use a specific HTTP library you need to pass it in the Client constructor, as follows:

use Elastic\EnterpriseSearch\Client;

$client = new Client([
    'client' => new GuzzleHttp\Client,
   // ...

Guzzle v6

If you want to use Guzzle v6, you need to add the php-http/guzzle6-adapter as composer requirement.


See the documentation for how to get started, compatibility info, configuring, and an API reference.


If you'd like to make a contribution to enterprise-search-php we provide contributing documentation to ensure your first contribution goes smoothly.


enterprise-search-php is available under the MIT license. For more details see LICENSE.