> For the complete documentation index, see [llms.txt](https://fredhopper.gitbook.io/product-discovery/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://fredhopper.gitbook.io/product-discovery/resources/archived-pages/introduction/api.md).

# API Reference

The search API provides a single endpoint, available with both GET and POST methods.

Although the **SDK** is the recommended way of using XO Search, a REST API is provided for convenience. This API provides a single endpoint, available with both `GET` and `POST` methods.

## Method

XO Search API supports both `GET` and `POST` methods:

* **`GET` requests:** parameters must be passed in the **URL**'s query string. Parameters must be [URL-encoded](https://en.wikipedia.org/wiki/Percent-encoding).
* **`POST` requests:** parameters must be passed in the **request body**, as *JSON*

Both will work the same as long as you follow the right format, which is described below.

## Format

The API uses ***JSON*** encoded as **UTF-8**.

The body of `POST` requests must be a *JSON* object and the `Content-Type` header should be set to `application/json; charset=UTF-8`.

The body of responses is always a *JSON* object, and the `Content-Type` is always `application/json; charset=UTF-8`.

## APIs

{% content-ref url="/pages/BVeSwlQDhKfLkwZpQq2o" %}
[Search API](/product-discovery/resources/archived-pages/introduction/api/search-api.md)
{% endcontent-ref %}

{% content-ref url="/pages/ZAoks74tZty8UmhenBPA" %}
[Product Suggest API](/product-discovery/resources/archived-pages/introduction/api/product-suggest-api.md)
{% endcontent-ref %}

{% content-ref url="/pages/6CQBBLCzQWqVQl7DnQso" %}
[Autocomplete API (Beta)](/product-discovery/resources/archived-pages/introduction/api/search-api-1.md)
{% endcontent-ref %}

## Go further

For more detailed information about the parameters and usage, check the following pages.

{% content-ref url="/pages/mNjxOXcVI46TYsaPxTpT" %}
[Search](/product-discovery/resources/archived-pages/introduction/api-parameters/search.md)
{% endcontent-ref %}

{% content-ref url="/pages/zG0bmbs7itZy1zY5WnXM" %}
[Pagination](/product-discovery/resources/archived-pages/introduction/api-parameters/pagination.md)
{% endcontent-ref %}

{% content-ref url="/pages/iL6keUDkVT6nU1rwYksz" %}
[Faceting](/product-discovery/resources/archived-pages/introduction/api-parameters/faceting.md)
{% endcontent-ref %}

{% content-ref url="/pages/BxiiEGXPkaEy5RGjrK7J" %}
[Sorting](/product-discovery/resources/archived-pages/introduction/api-parameters/sorting.md)
{% endcontent-ref %}

{% content-ref url="/pages/wHzTRAalMOgmYg7uYjqk" %}
[Grouping](/product-discovery/resources/archived-pages/introduction/api-parameters/grouping.md)
{% endcontent-ref %}

{% content-ref url="/pages/JPoZouwHdcBWni3M46fC" %}
[Filtering](/product-discovery/resources/archived-pages/introduction/api-parameters/filtering.md)
{% endcontent-ref %}

{% content-ref url="/pages/fDpYBzUmSFIOqcYFweEi" %}
[Disable features](/product-discovery/resources/archived-pages/introduction/api-parameters/disable-features.md)
{% endcontent-ref %}

{% content-ref url="/pages/G8dDWLqKXxw9RB6HdGOo" %}
[Response mask](/product-discovery/resources/archived-pages/introduction/api-parameters/response-mask.md)
{% endcontent-ref %}
