Shops

Search products by image

Finds the store products that look like an image, most similar first, one per shop by default (maxPerShop) and with the storefronts of one brand counted as one shop (groupBrands). Send the image as a multipart file or as a public URL; read the next pages with the returned searchId. Costs 4 credits per product returned.

post/v1/products/image-search

Request

  • Base URL: https://api.trendtrack.io (the document declares no server; this is the origin it was published from)
  • URL: https://api.trendtrack.io/v1/products/image-search
  • Auth: HTTP bearer

Request body

imagestring binary

Image file (JPEG, PNG or WEBP, 10 MB max), sent as multipart/form-data. Provide exactly one of image, imageUrl or searchId.

imageUrlstring

Public http(s) URL of the image. The server downloads it (10 MB max).

searchIdstring uuid

searchId returned by a previous image search of this workspace. Replays the same image to read its next pages without sending it again.

offsetnumber
limitnumber
groupBrandsboolean

Count the storefronts of one brand (same root domain across countries, or the same Shopify store on several domains) as one shop. False keeps every storefront apart; the same store on several domains always counts once.

maxPerShopnumber

Products returned per shop (or brand), most similar first; 0 = no cap. A product repeated in one shop (variants, duplicate photos) is always returned once.

Example request

{
  "imageUrl": "https://cdn.shopify.com/s/files/1/0000/products/lamp.jpg",
  "limit": 20,
  "groupBrands": true,
  "maxPerShop": 1
}

Response

requestIdstring required

Example response

{
  "data": [
    {
      "product": {
        "shopifyId": 7429183447215,
        "title": "Moon lamp",
        "price": 29.9,
        "currency": "USD",
        "similarityScore": 0.91
      },
      "shop": {
        "id": "3f8aa146-6f96-46e8-9781-64db5166f9a8",
        "domain": "example.com",
        "name": "Example Shop",
        "screenshotUrl": "https://cdn.example.com/screenshots/example.com.png",
        "createdAt": "2024-01-15T00:00:00.000Z",
        "profile": {
          "countryCode": "US",
          "currency": "USD",
          "isShopifyPlus": true
        },
        "catalog": {
          "productsCount": 124,
          "mainCategory": "Fashion",
          "bestSellers": [
            {
              "imageUrl": "https://cdn.shopify.com/s/files/1/1442/3288/files/PDP_QUIET_WHITE_01-805740.png",
              "title": "Loop Quiet™ 2",
              "price": 19.95,
              "currency": "EUR"
            }
          ]
        },
        "traffic": {
          "monthlyVisits": 45231,
          "growth30d": 0.18,
          "history": [
            {
              "period": "2026-03-01",
              "value": 2942350
            }
          ],
          "topCountries": [
            {
              "countryCode": "US",
              "share": 0.64
            }
          ]
        },
        "sales": {
          "currency": "USD",
          "estMonthlySales": 222540,
          "unitsSold": 1823
        },
        "advertising": {
          "activeAds": 12,
          "linkedAdvertisersCount": 2,
          "history": [
            {
              "period": "2026-03-01",
              "value": 2942350
            }
          ],
          "topCountries": [
            {
              "countryCode": "US",
              "share": 0.64
            }
          ]
        },
        "tiktok": {
          "hasTikTok": true,
          "pageId": "6802334614847603717",
          "handle": "examplebrand",
          "profileMetrics": {
            "followers": 128430,
            "totalPosts": 342,
            "newPosts": 12,
            "totalViews": 9823431,
            "totalLikes": 456789
          },
          "activity": {
            "activeAds": 7,
            "totalAds": 33,
            "avgActiveAds7d": 5.5,
            "avgActiveAds30d": 4.25
          },
          "lastUpdatedAt": "2026-06-05T08:30:00.000Z"
        },
        "googleAds": {
          "status": "available",
          "liveAds": 14,
          "adsLaunched30d": 5,
          "reach": {
            "value": 245000,
            "label": "Google reported reach"
          },
          "topCountries": [
            {
              "code": "FR",
              "ads": 12,
              "reach": 185000
            }
          ],
          "platformMix": [
            {
              "platform": "SEARCH",
              "ads": 8
            }
          ]
        },
        "latestAds": [
          {
            "id": "facebook_1059447873925448",
            "mediaType": "video",
            "mediaUrl": "https://medias.trendtrack.io/video/facebook/1317841346869775.mp4",
            "thumbnailUrl": "https://medias.trendtrack.io/thumbnails/facebook/1317841346869775.jpg"
          }
        ]
      }
    }
  ],
  "pagination": {
    "limit": 32,
    "total": 128
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.