Finding products
How to resolve a product from a URL, a marketplace SKU, your own seller code, or a brand name — four real scenarios with examples.
GET /products is your only entry point until you know a product's internal id (see
API Overview for the resolve-then-fetch model). Below are four
real usage scenarios, each with its own parameter set.
Scenario 1: you have a product URL
The most common case — a URL copied straight from a browser or pulled from a spreadsheet.
curl -G -H "Authorization: Bearer mn_live_..." \
"https://data.marketninja.ru/v1/products" \
--data-urlencode "url=https://www.wildberries.ru/catalog/231151629/detail.aspx?utm_source=instagram"?utm_source=..., #reviews, etc.) are stripped automatically before matching — paste the URL exactly as-is, junk params included. That URL with utm_source and the same URL without it resolve to the same product.Scenario 2: you know the marketplace's own SKU
If you have a marketplace-specific SKU (WB nmId, Ozon sku, etc.), pass it together
with marketplace — otherwise the result can be ambiguous (the same external_id is
theoretically possible across different marketplaces).
curl -G -H "Authorization: Bearer mn_live_..." \
"https://data.marketninja.ru/v1/products" \
--data-urlencode "external_id=231151629" \
--data-urlencode "marketplace=wildberries"Scenario 3: you know the seller's own SKU
This is its own parameter — seller_code — don't confuse it with external_id (that's
our marketplace SKU; seller_code is yours, the one a seller puts on their own listing).
The typical need is "find my SKU everywhere it's sold," so this parameter deliberately
does not require pairing with seller_id — if multiple sellers resell your product,
you'll see every match.
curl -G -H "Authorization: Bearer mn_live_..." \
"https://data.marketninja.ru/v1/products" \
--data-urlencode "seller_code=BV2648-010"To scope it to one specific seller, add seller_id (and optionally marketplace):
curl -G -H "Authorization: Bearer mn_live_..." \
"https://data.marketninja.ru/v1/products" \
--data-urlencode "seller_code=BV2648-010" \
--data-urlencode "seller_id=2557" \
--data-urlencode "marketplace=wildberries"Scenario 4: you need a brand's whole catalog
This is its own parameter — brand — don't confuse it with Scenario 3: seller_code
finds your specific SKU wherever it's resold, while brand finds your entire
catalog in the dataset, regardless of SKU, via an exact, case-insensitive match. See
Brands for the available names and full examples.
Other ways to filter
GET /products also supports broader search — by name (q) or category (category, a
containment match against category_path — see Categories
for a marketplace's category list and the full filter guide). Full parameter list:
Reference.
What to do with the result
The response already includes current price, images, attributes, trust status, and
seller data — most scenarios never need a separate GET /products/{id} call. Only fetch
by id directly when you need a guaranteed-fresh snapshot at a specific later
moment, independent of the search result.
Last updated on