Skip to content

Get Product by SKU

Look up a product's content and video JSON-LD metadata by your own SKU. The lookup is scoped to your partner account, so the SKU is matched only within your catalog. Each returned video includes a ready-to-embed schema.org VideoObject in its json_ld field.

GET /api/v1/public/sku/:sku

Authentication

Requires an API key. See Authentication.

Path parameters

ParameterTypeDescription
skustringYour product SKU. 1–50 characters, and only letters, numbers, hyphens (-), underscores (_), and periods (.) — i.e. ^[A-Za-z0-9._-]+$.

A SKU that is empty, longer than 50 characters, or contains any other character returns 400 invalid_sku.

Request

bash
curl https://api.prod.thedesirecompany.com/api/v1/public/sku/ABC123 \
  -H "Authorization: Bearer dk_live_your_key_here"
js
const res = await fetch(
  'https://api.prod.thedesirecompany.com/api/v1/public/sku/ABC123',
  { headers: { 'X-API-Key': process.env.TDC_API_KEY } },
);
const { data } = await res.json();

Response

200 OK

json
{
  "data": {
    "sku": "HELL-AVO-32",
    "status": "active",
    "product": {
      "id": 9066,
      "title": "Hellmann's Purely 100% Avocado Oil Mayonnaise",
      "description": "A real mayonnaise made with 100% avocado oil…",
      "short_description": "Avocado Oil Mayo made with a squeeze of lime and a pinch of black pepper.",
      "image": "https://cdn.thedesirecompany.com/images/hellmanns-avocado-oil-mayo.avif",
      "what_text": "What it is…",
      "who_text": "Who it's for…",
      "why_text": "Why it matters…",
      "videos": [
        {
          "id": 3557,
          "name": "Sam's Club In-Store Digital Signage",
          "aspect_ratio": "16x9",
          "length": 20.02,
          "json_ld": {
            "@context": "https://schema.org",
            "@type": "VideoObject",
            "name": "Hellmann's 100% Avocado Oil Mayonnaise at Sam's Club",
            "description": "This video showcases Hellmann's Purely 100% Avocado Oil Mayonnaise, highlighting its high-quality ingredients, Keto and Paleo certifications, and a subtle lime flavor. It encourages viewers to purchase the 32-ounce jar at Sam's Club for everyday meals.",
            "transcript": "Hellmann's purely 100% Avocado Oil Mayonnaise brings flavor to everyday meals with high quality ingredients. Keto and Paleo certified, it's flavorful and finished with a subtle hint of lime for a fresh, balanced taste. Pick up the 32-ounce jar at Sam's Club and keep it stocked in your kitchen.",
            "inLanguage": "en",
            "isFamilyFriendly": true,
            "genre": ["Advertisement", "Product Showcase", "Food & Drink"],
            "keywords": ["Hellmann's", "Avocado Oil Mayonnaise", "Keto", "Paleo", "Sam's Club", "lime", "cooking"],
            "creator": {
              "@type": "Person",
              "name": "Alexandra Caspero",
              "jobTitle": "CEO/Founder - Wellness Expert - Dietician"
            },
            "publisher": { "@type": "Organization", "name": "Hellmann's" },
            "about": {
              "@type": "Product",
              "brand": { "@type": "Brand", "name": "Hellmann's" },
              "additionalProperty": [
                { "@type": "PropertyValue", "name": "Oil Type", "value": "100% Avocado Oil" },
                { "@type": "PropertyValue", "name": "Certification", "value": "Keto certified" },
                { "@type": "PropertyValue", "name": "Certification", "value": "Paleo certified" },
                { "@type": "PropertyValue", "name": "Flavor Note", "value": "Subtle hint of lime" },
                { "@type": "PropertyValue", "name": "Size", "value": "32-ounce jar" }
              ]
            },
            "isPartOf": { "@type": "WebPage" }
          }
        }
      ]
    }
  }
}

Response fields

FieldTypeDescription
data.skustringThe SKU you requested.
data.statusstringactive or inactive. inactive means the product has been deactivated in TDC.
data.productobjectThe product content and its videos (see below).

data.product

FieldTypeDescription
idnumberThe product's Desire Company ID (use it with Get Product by ID).
titlestringProduct title.
descriptionstring | nullFull marketing description.
short_descriptionstringShort summary for cards/previews.
imagestringPrimary product image URL.
what_textstringExpert copy — what the product is.
who_textstringExpert copy — who it's for.
why_textstringExpert copy — why it matters.
videosarrayThe product's published videos, each with embeddable JSON-LD (see below). Empty array if the product has no published videos.

data.product.videos[]

FieldTypeDescription
idnumberThe video's ID.
namestring | nullVideo name.
aspect_ratiostringe.g. 16x9, 9x16, 1x1.
lengthnumberDuration in seconds.
json_ldobjectA schema.org VideoObject — inject it directly into your PDP as structured data (see Embedding the JSON-LD).

Only these fields are returned; internal metadata is never exposed.

Embedding the JSON-LD

Each video.json_ld is a complete schema.org VideoObject. Serialize it into a <script type="application/ld+json"> tag on your product page so search engines can index the video for video rich results:

html
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "VideoObject",
  "name": "Hellmann's 100% Avocado Oil Mayonnaise at Sam's Club",
  "description": "This video showcases Hellmann's Purely 100% Avocado Oil Mayonnaise, highlighting its high-quality ingredients, Keto and Paleo certifications, and a subtle lime flavor. It encourages viewers to purchase the 32-ounce jar at Sam's Club for everyday meals.",
  "transcript": "Hellmann's purely 100% Avocado Oil Mayonnaise brings flavor to everyday meals with high quality ingredients. Keto and Paleo certified, it's flavorful and finished with a subtle hint of lime for a fresh, balanced taste. Pick up the 32-ounce jar at Sam's Club and keep it stocked in your kitchen.",
  "inLanguage": "en",
  "isFamilyFriendly": true,
  "genre": ["Advertisement", "Product Showcase", "Food & Drink"],
  "keywords": ["Hellmann's", "Avocado Oil Mayonnaise", "Keto", "Paleo", "Sam's Club", "lime", "cooking"],
  "creator": {
    "@type": "Person",
    "name": "Alexandra Caspero",
    "jobTitle": "CEO/Founder - Wellness Expert - Dietician"
  },
  "publisher": { "@type": "Organization", "name": "Hellmann's" },
  "about": {
    "@type": "Product",
    "brand": { "@type": "Brand", "name": "Hellmann's" },
    "additionalProperty": [
      { "@type": "PropertyValue", "name": "Oil Type", "value": "100% Avocado Oil" },
      { "@type": "PropertyValue", "name": "Certification", "value": "Keto certified" },
      { "@type": "PropertyValue", "name": "Certification", "value": "Paleo certified" },
      { "@type": "PropertyValue", "name": "Flavor Note", "value": "Subtle hint of lime" },
      { "@type": "PropertyValue", "name": "Size", "value": "32-ounce jar" }
    ]
  },
  "isPartOf": { "@type": "WebPage" }
}
</script>

Generating it server-side from the API response:

js
const { data } = await res.json();
const blocks = data.product.videos
  .map((v) => `<script type="application/ld+json">${JSON.stringify(v.json_ld)}</script>`)
  .join('\n');
// inject `blocks` into your PDP <head> or near the video player

Errors

StatuserrorWhen
400invalid_skuSKU is empty, over 50 chars, or has disallowed characters
401missing_api_keyNo API key supplied
401invalid_api_keyKey is unknown or revoked
404sku_not_foundNo product with this SKU in your partner catalog
429rate_limit_exceededOver 100 requests/minute
500internal_errorUnexpected server error — retry later

Example:

json
{ "error": "sku_not_found", "message": "No product found for this SKU." }

See Errors for the full reference.

The Desire Company — Enterprise API