Skip to content

Get Product by ID

Look up a product's content and video JSON-LD metadata by its Desire Company ID. The product is returned only if it is associated with your partner account. Each returned video includes a ready-to-embed schema.org VideoObject in its json_ld field.

GET /api/v1/public/products/:id

Authentication

Requires an API key. See Authentication.

Path parameters

ParameterTypeDescription
idintegerThe product's Desire Company ID. Must be a positive integer.

A non-numeric or non-positive id returns 400 invalid_product_id. You can obtain a product's id from the data.product.id field of any Get Product by SKU response.

Request

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

Response

200 OK

json
{
  "data": {
    "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.statusstringactive or inactive. inactive means the product has been deactivated in TDC.
data.productobjectThe product content and its videos — identical shape to Get Product by SKU.

The data.product object contains exactly: id, title, description, short_description, image, what_text, who_text, why_text, and videos. Each entry in videos has id, name, aspect_ratio, length, and json_ld — see Get Product by SKU → Response fields and Embedding the JSON-LD. Internal metadata is never exposed.

Errors

StatuserrorWhen
400invalid_product_idid is not a positive integer
401missing_api_keyNo API key supplied
401invalid_api_keyKey is unknown or revoked
404product_not_foundNo product with this ID in your partner catalog
429rate_limit_exceededOver 100 requests/minute
500internal_errorUnexpected server error — retry later

Example:

json
{ "error": "product_not_found", "message": "No product found for this ID." }

See Errors for the full reference.

The Desire Company — Enterprise API