---
title: "Retrieve recommendation result item URL"
method: GET
path: "/v1/recommendations/pods/{pod_id}/positions/{position}/url"
tags: ["Product resources"]
---

# Retrieve recommendation result item URL

`GET /v1/recommendations/pods/{pod_id}/positions/{position}/url`

## Request

- Base URL: `https://offsite-discovery.cnstrc.com`
- URL: `https://offsite-discovery.cnstrc.com/v1/recommendations/pods/{pod_id}/positions/{position}/url`
- Auth: none required

Redirects to a recommended item PDP URL or returns JSON based on its pod ID and position in a recommendation result set (`pod_id` and `position` as path parameters). Parameter values should correspond to a previously generated set of recommendations.

## Path parameters

- `pod_id` string, required: The unique identifier of the recommendation pod containing the product set.
- `position` integer, required: The position of the desired product within the results.

## Query parameters

- `key` string, required: The key of the index to use.
- `campaign_id` string, required: Email campaign identifier for tracking and analytics.
- `item_id` union: Seed item ID used for item-based recommendations (e.g., complementary).
  - string[]
  - string
- `filters` union: Any number of filtering criteria used to narrow the result set, such as `color=blue` or `group_id=sandals` or `price=100-200`. Facets, item groups and collection IDs can be used as filters. If `filter_value` has the form `<min>-<max>`, it is interpreted as a range. Filters with the same key are ORed together and filters with different keys are ANDed together by default. Only results that match the filters are returned. Boolean values are serialized with the first letter capitalized (e.g., `True` / `False`) as a convention.
  - object
  - object
- `filter_name` string: **DEPRECATED. Please, use 'filters' instead**. Name of the product attribute to filter by (e.g., brand, category, color). Must be provided together with `filter_value`.
- `filter_value` string: **DEPRECATED. Please, use 'filters' instead**. Value to filter the specified attribute by. Must be provided together with `filter_name`.
- `num_results` integer: The maximum number of recommended items to retrieve.
- `c` string: The ID of the client and version that the request is coming from, such as `cio-js-2.90`.
- `us` union: User segment is a client context value (such as platform, location, etc.) that is used to evaluate redirect or refined tag rules. You can supply multiple segments by passing multiple `us` arguments.
  - string[]
  - string
- `ui` string: Unique identifier for the user to personalize recommendation results.
- `base_url` string: Base URL used to construct the product detail page redirect URL (e.g., 'https://example.com').
- `format` 'redirect' | 'json': Enumeration of possible response formats for snippet requests.

## Response `200`

OK - JSON response with URL resource details (if format=json).

- SnippetDetailResponse: Detailed information for a snippet request when 'format=json' is used.
  - `status` string: Status of the response.
  - `redirect_url` string, url, required: The URL the client would be redirected to if format was 'redirect'.
  - `resource_type` string, required: Type of resource requested (e.g., 'image', 'url').
  - `product` Data, required: Core product data containing essential fields. Additional customer-specific fields may be present in actual API responses based on configuration, but are not documented here for privacy and simplicity.
    - `id` string, required: The unique identifier for the product (maps to item_id in some contexts).
    - `variation_id` string: The unique identifier for the product variation, if applicable.
    - `url` string, url: URL for the product detail page.
    - `image_url` string, url: URL for the product's primary image.

## Other responses

- `302`: Found - Redirects to the product detail page.
- `400`: Bad Request - Invalid syntax or missing required parameters.
- `404`: Not Found - The requested resource could not be found based on the provided parameters, possibly due to expired recommendations or out-of-range position.
- `500`: Internal Server Error - An unexpected error occurred on the server.

---

[API](https://skmtc.dev/constructor/apis/offsite-discovery-recommendations.md) - [All operations](https://skmtc.dev/constructor/apis/offsite-discovery-recommendations/llms.txt) - [OpenAPI document](https://skmtc.dev/constructor/apis/offsite-discovery-recommendations/revisions/7d40f64e472e?raw)
