Independent source guide

JD.com product data: APIs, SKU IDs and price context

A source-specific JD.com guide to merchant API and JD Union access, product IDs, price and tax fields, regional stock signals, and reuse terms.

Start with the JD identifier and record type

JD's merchant product-search reference uses wareId for its product ID and warePId for an optional product SPU ID. Neither is interchangeable with SKU IDs used by separate price and stock calls. The search request's mergeSku option also changes whether specification SKUs appear separately. Keep the endpoint, identifier and merge choice with each row so a joined record identifies the object it actually represents.

Scroll to compare →

Start with the JD identifier and record type
Identifier or settingWhat JD documentsHow to preserve its meaning
wareIdProduct ID returned by the merchant search endpoint.Scope it to the endpoint and product record; do not treat it as a SKU.
warePIdOptional product SPU ID that can group related product details.Use as product-family context, not as a seller offer or variant key.
SKU IDA variant identifier used by separate merchant price/stock calls and JD Union promotion queries.Join only using the key documented for that endpoint and retain its source context.
mergeSkuThe search request can merge different specification SKUs or return them separately.For variant-level comparisons, request separate SKUs when authorized and store the setting used.
Category and statusSearch responses can include brand, category IDs/names, Wstate and Wyn.Keep returned values and observation time; do not infer universal availability from a listing status.

Select the access route before comparing products

JD documents separate merchant and affiliate interfaces rather than one anonymous API for every marketplace product. Its 2026 platform-migration notice directs new merchant integrations to the JD Merchant Open Platform and lists JD Union as a separate vertical platform; the notice also set a legacy JOS closure date of August 30, 2026. Check the current portal and eligibility for the program you intend to use.

Scroll to compare →

Select the access route before comparing products
RouteDocumented scopeDo not infer
Merchant Open PlatformMerchant integrations use account/app authorization for the specific operations and data scopes JD grants.That merchant access covers other sellers or every shopper-facing search result.
JD UnionAffiliate-media APIs can return selected promotion-product details by SKU, including name, main image, category, price, logistics, self-operated status and 30-day tracked order count.The response is every marketplace offer or a complete measure of all product sales.
Public JD.com product pageA shopper-facing view of a listing and its current offer context.Visibility grants automated access or permission to reuse page content.
Merchant product-pool price APIThe documented price endpoint looks up SKUs in the authorized customer's product pool.A public retail-price feed for products outside that customer's pool.

Read sale price with its contract and tax mode attached

JD's merchant sale-price API queries products in the authorized customer's product pool and accepts up to 100 SKU IDs per request. Its price follows that customer's contract and tax-ordering mode; the other price fields have separate reference or tax-display meanings. Keep the SKU, customer/program context, currency, tax mode and retrieval time with every price observation.

Scroll to compare →

Read sale price with its contract and tax mode attached
Field or limitMeaning in JD's referenceComparison rule
priceMerchant sale price under the customer's contract and tax-ordering mode.Do not label it as a universal public price; preserve contract context, currency and time.
jdPriceJD price marked as reference-only.Do not present it as a final checkout price or contracted merchant amount.
marketPriceFront-end strikethrough price; the reference says only the book channel may display it under current policy.Do not display it for other categories as a market or comparison price.
tax / taxPriceReturned when the containsTax extension is requested; taxPrice is an estimated tax amount.Record the requested extension and avoid treating an estimate as a settled invoice amount.
nakedPriceWith containsTax, an estimated ex-tax display value; in a configured tax-excluded ordering mode it can equal price. The separate nakedPrice request extension is documented as deprecated.Do not call the tax-included-mode estimate the final invoice unit price; freight allocation and rounding can change it.
Request sizeA batch request supports up to 100 products.Keep batch boundaries when reconciling authorized SKU results.

Interpret availability by SKU, requested region and time

JD's merchant stock API takes a SKU and a selected region; its response is a point-in-time state for that request. It distinguishes the availability state from a remaining quantity, and remainNum: -1 is not itself an in-stock or out-of-stock signal. Preserve the returned state description, location code and query time instead of converting a regional response into a nationwide stock count.

Scroll to compare →

Interpret availability by SKU, requested region and time
Response valueWhat JD documentsSafe interpretation
areaThe requested three- or four-level region for the inventory lookup.Store the full location code; another destination can return a different state.
stockStateId / descriptionStates include 33 (in-stock, ships promptly), 39 (in transit), 40 (can be allocated), 36 (reservation) and 34 (out of stock).Retain JD's state and description; do not collapse different fulfillment states into a single exact quantity.
remainNumFor state 33, a quantity may be returned when actual stock is at or below 200; above 200 it is masked as -1. Other states also return -1.Use stockStateId for the availability state. -1 does not tell you whether the item is in stock.
skuNums and requested amountThe batch stock call accepts SKU IDs with requested quantities and checks them for the selected region.Keep the request quantity with the response; this is not a national inventory total.
Observation timeA result describes the state returned for that SKU and area at query time.Do not treat it as a later delivery guarantee or another variant's status.

Confirm JD.com access and reuse terms before a data workflow

JD's current User Service Agreement took effect on January 20, 2026. Section 6(4) restricts copying or changing site/runtime interaction data through non-JD-authorized tools absent a legal exception or written permission; section 6(6) addresses third-party software used to log in to or use the service. Section 9(6) addresses unlawful copying, reuse and crawling, subject to legal exceptions or special written consent. Apply the clauses to the specific method and dataset; do not treat an API credential as permission for uses outside its program terms.

Scroll to compare →

Confirm JD.com access and reuse terms before a data workflow
Before using JD.com dataWhy the context mattersWhat to verify or retain
Merchant API accessJD's current platform entry and eligible merchant/app relationship govern the available endpoints and scopes.Confirm current merchant-platform onboarding, account authorization, API scope and token ownership.
JD Union accessAffiliate promotion-data fields serve a separate media/program workflow from merchant catalog and inventory APIs.Confirm program eligibility, approved API methods, attribution context and reuse terms.
Public-page collection or reuseThe user agreement has separate rules for site interaction and content reuse; a public URL is not an authorization grant.Review the current agreement and applicable legal basis or written permission for the planned method and use.
Price and stock displayJD says visible product prices can be invitations to offer, may be wrong or unavailable, and vary with buyer and destination context.Keep the source, selected SKU, destination, price conditions and observation time; recheck before acting on a quote.
Account and order informationAccount, delivery and order records can contain personal information and are distinct from public product fields.Exclude them from public-product comparisons unless a specific authorized purpose and safeguards apply.

Content reviewed 2026-10-04.