Search Communities

This endpoint allows you to search for communities using keywords and various filters.

Search Communities

GET https://api.whisk.com/community/v2/search

You can append the following query parameters to the base URL to search communities:

Query Parameters

NameTypeDescription

query

string

Keywords to match communities.

filter_diets

array

A list of available diet labels to choose from for filtering search results. You can choose one or more of these diet labels: - DIET_VEGETARIAN - DIET_VEGAN - DIET_OVO_VEGETARIAN - DIET_LACTO_VEGETARIAN - DIET_OVO_LACTO_VEGETARIAN - DIET_PESCATARIAN - DIET_KETOGENIC - DIET_DETOX - DIET_PALEO - DIET_DAIRY_FREE - DIET_GLUTEN_FREE

filters.cuisines

array

A list of available cuisine labels to choose from for filtering search results. You can choose one or more of these cuisine labels: - CUISINE_AFRICAN - CUISINE_AMERICAN - CUISINE_ASIAN - CUISINE_AUSTRALIAN - CUISINE_BRITISH - CUISINE_CAJUN_AND_CREOLE - CUISINE_CANADIAN - CUISINE_CARIBBEAN - CUISINE_CHINESE - CUISINE_CUBAN - CUISINE_EASTERN_EUROPEAN - CUISINE_EUROPEAN - CUISINE_FRENCH - CUISINE_GERMAN - CUISINE_GREEK - CUISINE_INDIAN - CUISINE_ISRAELI - CUISINE_ITALIAN - CUISINE_JAPANESE - CUISINE_KOREAN - CUISINE_LATIN_AMERICAN - CUISINE_MEDITERRANEAN - CUISINE_MEXICAN - CUISINE_MIDDLE_EASTERN - CUISINE_MOROCCAN - CUISINE_PORTUGUESE - CUISINE_SOUTHERN - CUISINE_SPANISH - CUISINE_TEX_MEX - CUISINE_THAI - CUISINE_VIETNAMESE - CUISINE_WORLD_CUISINE

filters.meal_types

array

A list of available meal type labels to choose from for filtering search results. You can choose one or more of these meal type labels: - MEAL_TYPE_APERITIF - MEAL_TYPE_APPETIZERS - MEAL_TYPE_BEVERAGES - MEAL_TYPE_BREADS - MEAL_TYPE_BREAKFAST - MEAL_TYPE_BRUNCH - MEAL_TYPE_COCKTAILS - MEAL_TYPE_CONDIMENTS_AND_SAUCES - MEAL_TYPE_DESSERTS - MEAL_TYPE_DINNER - MEAL_TYPE_JUICES - MEAL_TYPE_LUNCH - MEAL_TYPE_MAIN_COURSE - MEAL_TYPE_SALADS - MEAL_TYPE_SIDE_DISHES - MEAL_TYPE_SMOOTHIES - MEAL_TYPE_SNACKS - MEAL_TYPE_SOUPS_AND_STEWS

filters.ingredients

array

One or more ingredients to filter search results. This parameter takes each ingredient as a separate value. For example, to add butter and milk to the ingredients filter, your URL should look something like this: "https://api.whisk.com/community/v2/search?filters.ingredients=butter&filters.ingredients=milk"

filters.apply_user_preferences

boolean

Determines if the search should consider the user preferences for finding communities. When set to True, it takes user preferences like - diets, disliked ingredients, etc., into account while searching for communities and ordering the search results based on relevance.

sorting.by

string

Determines if the search results should be sorted by a particular attribute. You can use one of these available values: - SEARCH_SORT_INVALID - SEARCH_SORT_BY_NAME - SEARCH_SORT_BY_CREATED_AT

sorting.direction

string

Determines the sorting order of the search results when the sorting.by parameter is being used. You can use one of these available values: - SORTING_DIRECTION_INVALID - SORTING_DIRECTION_ASC - SORTING_DIRECTION_DESC Note: The sorting parameters can be left to their default value SEARCH_SORT_INVALID and SORTING_DIRECTION_INVALID to sort the search results based on relevance.

paging.limit

string

The maximum number of communities to retrieve.

paging.cursors.after

string

This parameter is used for cursor-based pagination. It takes a community ID as its value and performs a search on only those communities that appear after it in the database.

paging.cursors.before

string

This parameter is used for cursor-based pagination. It takes a community ID as its value and performs a search on only those communities that appear before it in the database.

fields

array

Any additional community details to retrieve. You can choose one or more of these supported values: - COMMUNITY_FIELD_DESCRIPTION - COMMUNITY_FIELD_TOPICS - COMMUNITY_FIELD_SOCIAL_SETTINGS - COMMUNITY_FIELD_PERMISSIONS - COMMUNITY_FIELD_MEMBERS_COUNT - COMMUNITY_FIELD_RECIPES_COUNT - COMMUNITY_FIELD_SPONSORED Note: For performance reasons, we recommend using this parameter only when required.

Headers

NameTypeDescription

Authentication

string

User token to authorize the API usage. For more information, see Authentication.

{
  "communities": [
    {
      "community": {
        "id": "string",
        "name": "string",
        "image": {
          "url": "string",
          "width": 0,
          "height": 0,
          "selection": {
            "x": 0,
            "y": 0,
            "width": 0,
            "height": 0
          }
        },
        "description": "string",
        "topics": [
          {
            "id": "string",
            "display_name": "string"
          }
        ],
        "social_settings": {
          "website_url": "string",
          "instagram_username": "string",
          "youtube_channel_url": "string",
          "tiktok_username": "string"
        },
        "permissions": {
          "role": "COMMUNITY_ROLE_INVALID",
          "mode": "COMMUNITY_CONTRIBUTION_PERMISSION_MODE_INVALID",
          "visibility": "COMMUNITY_VISIBILITY_INVALID"
        },
        "members": {
          "count": 0
        },
        "recipes": {
          "count": 0
        },
        "is_sponsored": true
      },
      "is_member": true
    }
  ],
  "paging": {
    "cursors": {
      "after": "string",
      "before": "string"
    },
    "total": "string"
  }
}

Here are a few examples of communities search:

Example 1 - Top 3 Oldest Vegan Communities on Whisk

Let's assume that you need to find the top 3 oldest vegan communities on Whisk. You can find it easily using a combination of filter.diets, sorting.by, sorting.direction and paging.limit parameters. Here is how a curl request would look and the sample response you may get:

With time, the response results may differ due to the activity that may have happened on the Whisk platform.

curl -X GET "https://api.whisk.com/community/v2/search?filters.diets=DIET_VEGAN&sorting.by=SEARCH_SORT_BY_CREATED_AT&sorting.direction=SORT_DIRECTION_ASC&paging.limit=3"
    -H "Accept: application/json" 
    -H "Authorization: Bearer <YOUR-API-ACCESS-KEY>"

Whisk allows you to discover and understand its API capabilities on the Swagger interface with the ability to try out the API calls directly in your browser. You can call this endpoint here.

Example 2 - Communities for Asian Cuisine containing Seafood recipes

Let's assume that you want to find communities created specifically for Asian cuisine and has Seafood recipes. Additionally, for each community found, you would like to retrieve its Description and Recipe Count. You can perform this search using the query, filters.cuisines and fields parameters. Here is how a curl request would look and the sample response you may get:

Note: With time, the response results may differ due to the activity that may have happened on the Whisk platform.

curl -X GET "https://api.whisk.com/community/v2/search?query=seafood&filters.cuisines=CUISINE_ASIAN&sorting.by=SEARCH_SORT_BY_INVALID&sorting.direction=SORT_DIRECTION_INVALID&fields=COMMUNITY_FIELD_DESCRIPTION&fields=COMMUNITY_FIELD_RECIPES_COUNT"
    -H "Accept: application/json"
    -H "Authorization: Bearer <YOUR-API-ACCESS-KEY>"

Whisk allows you to discover and understand its API capabilities on the Swagger interface with the ability to try out the API calls directly in your browser. You can call this endpoint here.

Example 3 - Communities for Salad Recipes filtered by User Preferences

Let's assume that you want to find communities created for Salad recipes containing one or more recipes that include Chicken Breast as an ingredient. Additionally, you would also like the search to consider your User Preferences while filtering communities. You can perform this search using the filters.meal_types, filters.ingredients and filters.apply_user_preferences parameters. Here is how a curl request would look and the sample response you may get:

Depending on your user preferences and time, the results in the response may differ.

curl -X GET "https://api.whisk.com/community/v2/search?filters.meal_types=MEAL_TYPE_SALADS&filters.ingredients=chicken%20breast&filters.apply_user_preferences=true&sorting.by=SEARCH_SORT_BY_INVALID&sorting.direction=SORT_DIRECTION_INVALID"
    -H "Accept: application/json" 
    -H "Authorization: Bearer <YOUR-API-ACCESS-KEY>"

Whisk allows you to discover and understand its API capabilities on the Swagger interface with the ability to try out the API calls directly in your browser. You can call this endpoint here.

Last updated