Market NinjaMarket Ninja
Endpoints

List products

GET
/products

Returns one page of products matching the given filters. No single filter is required, but you should almost always pass at least one identifying parameter (url, external_id+marketplace, or seller_code) — otherwise you get a broad slice of the whole dataset.

Authorization

bearerAuth
AuthorizationBearer <token>

Bearer token — see API Overview for how to get one and use it.

In: header

Query Parameters

marketplace?string

Value in

  • "ozon"
  • "wildberries"
  • "yandex_market"
  • "lamoda"
seller_id?string

The seller's id on the marketplace. Usually paired with marketplace — on its own it isn't guaranteed unique across marketplaces.

seller_code?string

The seller's or brand's own internal SKU for this listing (not our external_id). Deliberately not required to pair with seller_id — the real brand use case is usually "find my SKU wherever it's being resold," not "only under one specific reseller."

external_id?string

The marketplace's own SKU (WB nmId, Ozon sku, etc.). Only unique paired with marketplace — pass both.

url?string

A product page URL. Query string and fragment (?utm_source=..., #reviews, etc.) are stripped automatically before matching — paste it exactly as copied from a browser.

Formaturi
category?string

Containment match against category_path (any level of the hierarchy, not just the leaf). See GET /categories for the available values.

brand?string

Exact brand name match, case-insensitive — not a substring search like q. Brand casing varies across marketplaces/submissions as scraping noise, not a meaningful distinction, so the match ignores it. See GET /brands for the available values.

q?string

Simple, case-insensitive name search (no stemming or morphological matching).

Lengthlength <= 200
trust_status?string

Filter by trust status. When omitted, products of every status are returned — the API deliberately never withholds unverified/flagged rows; the caller decides what to trust.

Value in

  • "unverified"
  • "verified"
  • "flagged"
page?integer

Invalid or missing values are silently clamped to the default rather than rejected with a 400.

Range1 <= value
Default1
page_size?integer

500 max — deliberately generous relative to a typical UI-facing API, sized for bulk pulls.

Range1 <= value <= 500
Default100

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/products?marketplace=wildberries&seller_id=2557&seller_code=BV2648-010&external_id=231151629&url=https%3A%2F%2Fwww.wildberries.ru%2Fcatalog%2F231151629%2Fdetail.aspx&category=%D0%97%D0%BE%D0%BE%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D1%8B&brand=Nike&q=Nike"
{  "data": [    {      "id": "e86bee19-9cc9-4a83-b9cc-6b61f1209d90",      "marketplace": "wildberries",      "external_id": "231151629",      "url": "https://www.wildberries.ru/catalog/231151629/detail.aspx",      "name": "Air Rift Breathe White Pure Platinum Women's",      "brand": "Nike",      "category_path": [        "Обувь",        "Женская",        "Туфли и лоферы"      ],      "attributes": {        "color": "желтый",        "season": "демисезон",        "is_authentic": true      },      "image_cover": "https://basket-15.wbbasket.ru/vol2311/part231151/231151629/images/big/1.webp",      "image_gallery": [        "https://basket-15.wbbasket.ru/vol2311/part231151/231151629/images/big/1.webp"      ],      "video_cover": null,      "video_gallery": [],      "seller": {        "id": "3994154",        "name": "POIZON(ДЭВУ)",        "code": "2604540"      },      "trust_status": "unverified",      "price_flagged": false,      "prices": [        {          "country_code": "ru",          "region_code": null,          "user_auth_status": "anonymous",          "price": 7093,          "old_price": 8651,          "currency": "RUB",          "stock_status": null,          "stock_quantity": null,          "recorded_at": "2026-08-02T23:21:53.185302+00:00"        }      ],      "special_price": [        {          "country_code": "ru",          "region_code": "",          "user_auth_status": "anonymous",          "min": 6783,          "max": 6880        }      ],      "stats": null,      "first_seen_language": "ru",      "default_language": "ru",      "translations": [        {          "language": "ru",          "name": "Air Rift Breathe White Pure Platinum Women's",          "category_path": [            "Обувь",            "Женская",            "Туфли и лоферы"          ],          "attributes": {            "color": "желтый",            "season": "демисезон",            "is_authentic": true          },          "updated_at": "2026-08-02T23:21:53.081+00:00"        }      ],      "first_seen_at": "2026-08-01T01:03:17.913664+00:00",      "last_seen_at": "2026-08-02T23:21:53.081+00:00"    }  ],  "meta": {    "total": 13663,    "page": 1,    "page_size": 100  }}