API Reference / API Methods / Advanced / Set extra header

Set Extra Header

Required API Key: no ACL required
Method signature
$config = \Algolia\AlgoliaSearch\Config\SearchConfig::create('YourApplicationID', 'YourAdminAPIKey');
$config->setDefaultHeaders([
  headerName => string headerValue
]);

$client = \Algolia\AlgoliaSearch\SearchClient::createWithConfig($config);

About this method

You are currently reading the JavaScript API client v4 documentation. Check our migration guide to learn how to upgrade from v3 to v4. You can still access the v3 documentation.

You are currently reading the Ruby API client v2 documentation. Check our migration guide to learn how to upgrade from v1 to v2. You can still access the v1 documentation.

Sends an extra http header to Algolia, for all subsequent queries.

This method allows you to send the server a specific key/value pair - that we call an extra http header, with every query. By doing this, you are giving the api an additional header that it can later use in certain situations.

Here are some headers with different use cases:

  • Setting X-Algolia-UserToken for API key rate limiting purposes.
  • Setting X-Algolia-UserToken for analytics purposes. The Analytics API uses the provided value to distinguish between end users. It takes priority over any value in X-Forwarded-For. Use this header if you need to forward the end user’s identity without relying on IP addresses.
  • Setting X-Forwarded-For for analytics purposes. If your server sends the end user’s IP along with every search, this lets analytics distinguish between end users. Otherwise, the analytics uses the server’s IP address, which doesn’t provide the detail of each user. Alternatively, see X-Algolia-UserToken below.
  • Setting X-Forwarded-For for geo purposes. This ensures that the geo search location uses the IP address of the end user, and not that of your back-end server. For an example of this, see the aroundLatLngViaIP parameter.

This will eventually be replaced by the requestOptions parameter, allowing you to set the header as part of your query parameters.

Examples

1
2
3
4
5
6
$config = \Algolia\AlgoliaSearch\Config\SearchConfig::create('YourApplicationID', 'YourAdminAPIKey');
$config->setDefaultHeaders([
  'headerName => 'headerValue'
]);

$client = \Algolia\AlgoliaSearch\SearchClient::createWithConfig($config);

Parameters

headerName
type: string
Required

Name of the header to add.

headerValue
type: string
Required

Value of the header to add.

Response

No response

Did you find this page helpful?