Facets

The facets endpoints return the canonical list of values accepted by the rest of the API — niches, ad platforms, sort keys, field names. Use them to build dropdowns, validate input on your end, or stay in sync as the taxonomy evolves.


Schema facets

These return the canonical values used by other endpoints' filter, sort, and projection parameters. Each returns {"values": [...]} (or a dict of resource → list).

EndpointReturns
GET /v1/facets/nichesThe 20 niche values accepted in niche and niche_exclude on /v1/brands.
GET /v1/facets/platformsValues accepted by platform= on /v1/brands/{id}/ads (meta, tiktok, instagram).
GET /v1/facets/brand-platformsE-commerce platforms accepted by platform= / platform_exclude= on brands (shopify, woocommerce, prestashop, magento). Inputs are case-insensitive and common spellings are normalised.
GET /v1/facets/price-tiersThe complete set of values accepted by price_tier= on brands (budget, mid, premium).
GET /v1/facets/brand-typesThe common business models accepted by brand_type= on brands (dtc brand, private label, dropshipping, print on demand, wholesale, …). Unlike the other schema facets this list is not exhaustive — the filter accepts values beyond it.
GET /v1/facets/meta-platformsMeta sub-platforms accepted by platforms= on /v1/meta-ads/search (lowercase canonical: facebook, instagram, messenger, audience_network, threads). Inputs are case-insensitive.
GET /v1/facets/gendersValues accepted by target_gender= on /v1/meta-ads/search.
GET /v1/facets/email-typesValues accepted by type= on the email endpoints (marketing, abandoned_cart, subscription_confirmation).
GET /v1/facets/product-nichesThe niche values accepted by niche= on GET /v1/products/search: the same 20 as brands, since a product carries its brand's niche.
GET /v1/facets/product-typesThe 100 most common values for product_type= on GET /v1/products/search, most used first, case variants merged, refreshed daily. Not exhaustive: product types are the merchants' own free text, and the filter accepts any value, matched whole and ignoring case.
GET /v1/facets/sortable-fieldsSort keys per resource (brands, meta_ads, tiktok_ads, instagram_posts, emails).
GET /v1/facets/fieldsField names accepted by fields= and exclude_fields= per resource (brands, meta_ads, tiktok_ads, instagram_posts, products, emails).

Reference data facets

These return canonical reference data used to interpret brand fields — tech stacks, currencies, country codes, themes, etc. Items are normalized to {name, label?, icon_url?}. name is always the value you send back as a filter; label is an optional display-only override, present only where the raw name is unpresentable — render label when it is there, name otherwise, but always filter on name. Each response also includes a source field — upstream when the latest dictionary was loaded, or vendored when a built-in copy was used as a fallback (the live dictionary was temporarily unreachable).

EndpointReturns
GET /v1/facets/technologiesTech-stack values (Shopify, Stripe, Klaviyo, Printful, GA4, …) with icon URLs.
GET /v1/facets/appsShopify-app store entries with icon URLs (Klaviyo, Judge.me, …).
GET /v1/facets/paymentsPayment providers a store can accept, with icon URLs — wallets (Apple Pay, Shop Pay, Google Pay, PayPal), gateways (Stripe, Adyen, Mollie, Razorpay), buy-now-pay-later (Klarna, Afterpay, Affirm, Sezzle), in-store financing and recurring billing. Values feed the payments filter on brands.
GET /v1/facets/pixelsThe 10 canonical tracking pixels (Facebook, TikTok, Pinterest, …).
GET /v1/facets/premium-pixelsPremium tracking apps (Triple Whale, Hyros, wetracked.io, …).
GET /v1/facets/categoriesCommerce categories (e.g., /Apparel/Clothing Accessories).
GET /v1/facets/country-codesISO-3166 country codes.
GET /v1/facets/country-namesCountry names (matches country-codes).
GET /v1/facets/currenciesISO-4217 currency codes.
GET /v1/facets/language-codesISO-639 language codes.
GET /v1/facets/tldsTop-level domain extensions.
GET /v1/facets/themesShopify theme names.

Example — list niches

Returns the canonical niche taxonomy as a sorted array.

Request

GET
/v1/facets/niches
curl https://api.brandsearch.co/v1/facets/niches \
  -H "X-API-Key: bsk_your_api_key"

Response

{
  "values": [
    "Arts & Crafts",
    "Automotive",
    "Baby & Kids",
    "Beauty & Skincare",
    "Books & Education",
    "Electronics & Tech",
    "Fashion",
    "Food & Drink",
    "Furniture",
    "Gaming",
    "Health & Supplements",
    "Home & Garden",
    "Home Decor",
    "Jewelry",
    "Kitchen",
    "Music & Instruments",
    "Other",
    "Pet Supplies",
    "Sports & Outdoors",
    "Toys & Games"
  ]
}

Example — list sortable fields

Returns sort keys grouped by resource.

Request

GET
/v1/facets/sortable-fields
curl https://api.brandsearch.co/v1/facets/sortable-fields \
  -H "X-API-Key: bsk_your_api_key"

Response (truncated)

{
  "brands": ["combined_followers", "created_at", "estimated_sales", "..."],
  "meta_ads": ["created_at", "duration", "eu_total_reach", "..."],
  "tiktok_ads": ["comment_count", "create_time", "digg_count", "..."],
  "instagram_posts": ["comment_count", "engagement_rate", "like_count", "..."]
}

Example — list technologies

Reference-data facets return items as {name, label?, icon_url?} plus a source field indicating where the dictionary was loaded from. Send name back as the filter value; show label instead when present.

Request

GET
/v1/facets/technologies
curl https://api.brandsearch.co/v1/facets/technologies \
  -H "X-API-Key: bsk_your_api_key"

Response (truncated)

{
  "values": [
    { "name": "Shopify", "icon_url": "https://..." },
    { "name": "Klaviyo", "icon_url": "https://..." },
    { "name": "GA4", "icon_url": "https://..." }
  ],
  "source": "upstream"
}

Was this page helpful?