Get ingredient sponsored products for a recipe

Fetch all sponsored products explicitly linked to the ingredients of a specific recipe. By targeting a single recipe, you can instantly resolve which branded SKUs should be natively placed when the user is viewing that specific dish. The perfect tool for precisely timed retail media placements. Use Cases: CONTEXTUAL PRODUCT PLACEMENT • User views 'Classic Tiramisu' recipe → 'Brand Y Mascarpone' appears next to ingredient list as sponsored suggestion. High conversion at peak purchase intent. RESTAURANTS — SUPPLIER PARTNERSHIPS • Restaurant shows supplier products next to recipe ingredients in digital menu. Ad revenue from suppliers. 1-CLICK 'BUY THE RECIPE' • Power the 'Add all to cart' button with sponsored SKUs configured in the backoffice. Profitable cart aligned with the recipe.

GET
/recipes/{recipeId}/sponsored-products/ingredients
Recipes
Cost: 10 credits per recipe

Response

200
application/json
object[]

IngredientSponsoredProductArray

object[]

IngredientSponsoredProduct

A recipe ingredient linked to a sponsored product

object

recipeIngredientId

Unique identifier for this ingredient entry

integer<int32>

recipeId

Identifier of the recipe this ingredient belongs to

integer<int32>

name

Display name of the ingredient

string

quantity?

Quantity of the ingredient used

number<double> | null

measureUnitId?

Unit of measure identifier for the quantity; resolvable via GET /definitions/measure-units

integer<int32> | null

unitQuantity

Unit quantity of the sponsored product

integer<int32>

priority

Recommendation rank of this product for the ingredient, where the lowest value is the best match and ranking starts at 1. The ranking follows the product-category priority of the matched food first; within a category, products are ranked by what you spend to cover the recipe, that is the packs needed times the full price. That spend combines both scores: formatScore times unitPriceScore, divided by 100, is the cheapest possible spend as a percentage of this product's spend. Neither score is therefore monotonic along the list on its own. Ranks may skip values, because a product that has no data in the requested language is left out of the response.

integer<int16>

formatScore?

Format compatibility score, from 0.01 to 100: the percentage of what you buy that the recipe actually uses. 100 means the pack size matches the required quantity exactly, 50 means you buy twice what you need. Products with the same score are equally compatible in terms of format, so use priority to pick among them — except at 0.01, where the scale saturates and only tells you the pack is far too large. Null when compatibility cannot be assessed: the product weight is unknown, the ingredient quantity has no gram equivalent (such as to taste), or the association predates this field and has not been recomputed yet. Volumes are treated as 1 ml = 1 g.

number<double> | null

unitPriceScore?

Price per kilogram score, from 0.01 to 100: the lowest price per kilogram among the products considered for this ingredient, divided by the price per kilogram of this product. 100 means this is the cheapest per kilogram, 50 means it costs twice as much per kilogram. Prices are full prices, before any discount, and volumes are treated as 1 ml = 1 g. Every product considered for the ingredient takes part in the comparison, so the one scoring 100 may not be among those returned. Null when the association predates this field and has not been recomputed yet.

number<double> | null

productId

Identifier of the sponsored product

integer<int32>

shopProductId?

Shop-specific identifier for the product

string | null

productName

Name of the sponsored product

string

brand

Brand of the sponsored product

string

ean?

EAN barcode of the product

string | null

format?

Packaging format of the product

string | null

netQuantityGrams?

Net quantity of the product in grams, read only from the packaging format the merchant declares (volumes count 1 ml = 1 g); null when the format does not state a weight or a volume

number<double> | null

weightGrams?

Deprecated: use netQuantityGrams, which has the same value

number<double> | null

imageUrl?

Image url of the product

string | null
401
application/json
object

Unauthorized

ConnectProblemDetails

object

type?

string

title?

string

status?

integer<int32>

detail?

string

instance?

string

requestId?

string

traceId?

string
403
application/json
object

Forbidden

ConnectProblemDetails

object

type?

string

title?

string

status?

integer<int32>

detail?

string

instance?

string

requestId?

string

traceId?

string
406
application/json
object

Not Acceptable

ConnectProblemDetails

object

type?

string

title?

string

status?

integer<int32>

detail?

string

instance?

string

requestId?

string

traceId?

string
422
application/json
object

Unprocessable Entity

ConnectProblemDetails

object

type?

string

title?

string

status?

integer<int32>

detail?

string

instance?

string

requestId?

string

traceId?

string
429
application/json
object

Too Many Requests

ConnectProblemDetails

object

type?

string

title?

string

status?

integer<int32>

detail?

string

instance?

string

requestId?

string

traceId?

string
500
application/json
object

Internal Server Error

ConnectProblemDetails

object

type?

string

title?

string

status?

integer<int32>

detail?

string

instance?

string

requestId?

string

traceId?

string