--- title: Use API key authentication with the Search API slug: '105' canonical_url: https://docs.coveo.com/en/105/ collection: build-a-search-ui source_format: adoc --- # Use API key authentication with the Search API The simplest way to authenticate HTTP requests made from a Coveo-powered [search interface](https://docs.coveo.com/en/2741/) is to pass an API key as a bearer token in the `Authorization` header of each Search API and Usage Analytics Write API call. This authentication method requires you to expose a Coveo API key in client-side code. As such, it's only legitimate if both of the following conditions are satisfied: * The API key you use only grants minimum [privileges](https://docs.coveo.com/en/228/). * The search interface only queries public content. If your search interface can query secured content, you **must** implement the [search token authentication](https://docs.coveo.com/en/56/) method instead. ## Step 1: Create an API key In the [Coveo Administration Console](https://docs.coveo.com/en/183/), [create an API key](https://docs.coveo.com/en/1718#create-an-api-key) using the **Anonymous search** [template](https://docs.coveo.com/en/1718#api-key-templates). > **Warning** > > This API key will be exposed in client-side code. > Never use one of the templates tagged as **Must remain private** if you know that your key will be exposed. You should also select a [search hub](https://docs.coveo.com/en/1342/) when you configure this API key. A _search hub_ is an arbitrary string that identifies the search interface from which API requests are being made. For example, if you're creating an API key for a public documentation search page, you could use `Public docs search` as the search hub. ## Step 2: Configure the search interface How you set the API key in a search interface depends on the library with which the search interface is built. ### Atomic library In a search interface built with the [Coveo Atomic library](https://docs.coveo.com/en/lcdf0264/), set the API key when calling the [`initialize`](https://docs.coveo.com/en/atomic/latest/reference/components/atomic-search-interface#initialize) method on the [`atomic-search-interface`](https://static.cloud.coveo.com/atomic/v3/storybook/index.html?path=/docs/atomic-search-interface\--docs) component. You should also set the [`search-hub`](https://docs.coveo.com/en/atomic/latest/reference/components/atomic-search-interface#properties) attribute to the correct value on the `atomic-search-interface` component. ```html