# Integration

You can integrate with Whisk using our API to build an app or a website related to shoppable recipe content.&#x20;

Here are the following advantages of using our API:

* There is no need to store recipe content in your infrastructure.
* You can provide your users with visual delight and smarter personalized experiences.
* You can let your users closely connect with the Whisk ecosystem.
* Your app or a website can have a flexible set of functionalities and look and feel.

The Whisk API lets you use some of our pre-designed functionalities based on your content like recipe search, recipe feed, meal planning, shopping list, etc. You can find the full list of APIs [here](/api-overview/introduction.md#api-services).

## Supported Integration Methods

You can integrate with Whisk API on either server-side or client-side based on your requirements.&#x20;

### Server-Side Integration

![The Server-Side Integration Flow](https://lh5.googleusercontent.com/txx-F3FzcfWF1TT7_AEpug12bDzbhACuz3yKGgt5HdqxVQJs1GdlzOBvX1ODO_f83WjO3vViKOPmhAy7g6R_eoLyiLLgRU6ALnYDxsrqNamc6iHy8YSUFr9OVtVHuvbHrMtatgBL)

If you want your users to have a personalized and responsive experience, we generally recommend you to have a server layer between Whisk’s Partners API and your client application. This layer allows you to have your user session mechanism with your client application. We also recommend having a cache on your server-side for non-personalized requests to avoid exceeding API limits. To have this integration done, you can use [OAuth](/api-overview/auth.md) and [Server Token](/api-overview/auth.md#server-token) for API authentication.

### Client-Side Integration

![The Client-Side Integration Flow](https://lh3.googleusercontent.com/CNEaGHNAYI9a2ovnPXsTmihdGYcjwLhAz2Z2q0nlHnSd03fJhAoH9aGbL5TCnqryP6O1dksVSDr1FkCeVZzxT1KiCACmTQ0LRhvhvXZXcclIOuZkdy8sjgjOc2ZZYMB5RVRPpZ-P)

The client-side integration lets you directly integrate your client application with Whisk but have limited access. For this integration type, you can use the [Client Token](/api-overview/auth.md#client-token) for API authentication to call read-only API endpoints like [Get Recipe](broken://pages/-MR5H1ErnS5qtIgcHcnW) or [Recipe Search](/api/recipes/recipe-search.md). While you choose this integration type, you should know that you can exceed the API limits with excessive usage, and it may result in your client application getting stopped. &#x20;

## Integration Process

To get started with Whisk’s Partners API integration is simple.\
\
1\. Get a Sandbox API key. For more information, see [Obtain an API key](broken://pages/-MSEdUHf1ZUXXhVzolMb).

2\. Choose an integration approach that suits your requirements. See [Integration Methods](/api-overview/whisk-api-integration.md#supported-integration-methods) for more information.

3\. Try and test our [API](https://docs.whisk.com/).&#x20;

{% hint style="info" %}
Whisk has its OpenAPI Specs published on Swagger to let you try out the API calls directly in your browser. You can call our API [here](https://api.whisk.com/spec/#).
{% endhint %}

4\. When you are ready to integrate, request production API access and start building your app or a website. For more information, see [Obtain an API key](broken://pages/-MSEdUHf1ZUXXhVzolMb).

## Partners API Integration Sample

Whisk Playground is a live demo application that you can refer to see how integration with Whisk looks.

> **URL**: <https://showcase.whisk.com/>

{% hint style="info" %}
This demo showcases just a basic layout and a few general functionalities. We provide more functionalities through our API, which you can use to improve the user experience of your application or website.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.whisk.com/api-overview/whisk-api-integration.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
