Contents
On this page

List Published Recipes - Plugixa Recipe

GET /plugixa-recipe/v1/frontend/recipes

List published recipes as cards, with filters for taxonomy, rating, difficulty and diet.

Public: no sign-in needed. It only ever returns published recipes and a fixed list of public columns.

Request

GET https://your-site.example/wp-json/plugixa-recipe/v1/frontend/recipes?category_id=3&is_vegetarian=1&limit=12

Query parameters

Name Type Default Description
search string Matches the title or the description.
category_id integer Recipes in this category.
cuisine_id integer Recipes in this cuisine.
difficulty string easy, medium, hard or expert.
min_rating number Average rating at least this.
is_featured boolean Any true value: featured recipes only.
is_vegetarian, is_vegan, is_gluten_free, is_dairy_free, is_keto, is_low_carb boolean Any true value: only recipes with that flag. 0 means no filter.

Plus the list parameters every list accepts. orderby accepts title, created_at (the default), rating_average, total_time, display_order and published_at.

Responses

200 OK. data.items is one page of recipe cards.

{
  "success": true,
  "message": "",
  "data": {
    "items": [
      {
        "id": "12",
        "title": "Lemon Pancakes",
        "slug": "lemon-pancakes",
        "description": "<p>Light, fluffy pancakes with lemon zest.</p>",
        "image_id": "345",
        "servings": "4",
        "prep_time": "10",
        "cook_time": "15",
        "total_time": "25",
        "difficulty": "easy",
        "rating_average": 4.5,
        "rating_count": 2,
        "is_featured": "0",
        "is_vegetarian": "1",
        "is_vegan": "0",
        "is_gluten_free": "0",
        "is_dairy_free": "0",
        "is_keto": "0",
        "is_low_carb": "0",
        "published_at": "2026-11-12 09:30:00",
        "image_url": "https://your-site.example/wp-content/uploads/2026/11/lemon-pancakes-768x512.jpg",
        "image_thumbnail": "https://your-site.example/wp-content/uploads/2026/11/lemon-pancakes-150x150.jpg",
        "categories": [
          {
            "id": "3",
            "name": "Breakfast",
            "slug": "breakfast"
          }
        ],
        "cuisines": []
      }
    ],
    "total": 1,
    "limit": 12,
    "offset": 0
  }
}
Field Type Meaning
data.items[].rating_average number Average of the approved reviews
data.items[].rating_count integer Approved reviews
data.items[].image_url string Medium-large image, only when the recipe has one
data.items[].categories, data.items[].cuisines object[] id, name and slug of each
data.items[].is_favorited boolean Only when the request is signed in: whether the caller saved it
data.total integer Published recipes matching the filters

Errors

Plus the errors every endpoint can return.

Examples

curl -s "https://your-site.example/wp-json/plugixa-recipe/v1/frontend/recipes?category_id=3&limit=12"
<?php
$query = http_build_query([
    'category_id' => 3,
    'limit'       => 12,
]);
$ch = curl_init('https://your-site.example/wp-json/plugixa-recipe/v1/frontend/recipes?' . $query);
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
const query = new URLSearchParams({ category_id: '3', limit: '12' });
const response = await fetch(`https://your-site.example/wp-json/plugixa-recipe/v1/frontend/recipes?${query}`);
const { data } = await response.json();

Quick Links

Share