API रेफ़रेंस

परिचय

AliExpress Reviews API, AliExpress प्रोडक्ट रिव्यू JSON में लौटाता है। यह HTTPS पर एक ही REST endpoint है; हर रिस्पॉन्स, एरर समेत, JSON में होता है।

Base URL
https://api.aliexpress-reviews.com
ऑथ
x-api-key हेडर
फ़ॉर्मैट
JSON, UTF-8

क्विकस्टार्ट: मुफ़्त key बनाएँ, फिर डैशबोर्ड के API टेस्टर में आज़माएँ या यह चलाएँ:

curl "https://api.aliexpress-reviews.com/v1/reviews/1005006123456789?filter=5&pageSize=20" \
  -H "x-api-key: $REVIEWS_API_KEY"

ऑथेंटिकेशन

डैशबोर्ड में एक API key बनाएँ और हर रिक्वेस्ट के x-api-key हेडर में उसे भेजें। Keys rv_ से शुरू होती हैं।

Key सिर्फ़ एक बार, बनाते समय दिखाई जाती है: हम key नहीं, उसका hash सेव करते हैं। अगर यह खो जाए, तो डैशबोर्ड से इसे रोटेट करें; पुरानी key 5 मिनट के भीतर काम करना बंद कर देती है।

Key को सर्वर-साइड ही रखें। जिसके पास भी यह होगी, वह आपका कोटा खर्च कर सकता है।

GET /v1/reviews/{productId}

किसी प्रोडक्ट के रिव्यू का एक पेज लौटाता है, साथ में उसकी रेटिंग का सारांश भी।

Path पैरामीटर

नामटाइपविवरण
productId ज़रूरीstringAliExpress का न्यूमेरिक प्रोडक्ट id: aliexpress.com/item/<id>.html में मौजूद नंबर।

Query पैरामीटर

नामटाइपडिफ़ॉल्टप्लानविवरण
pageinteger1Freeपेज नंबर, 1–1000।
pageSizeinteger20Freeहर पेज पर रिव्यू: Free पर 20 तक, Pro और Max पर 100 तक।
filterstringallFreeनीचे दिए गए फ़िल्टर में से एक। कुछ वैल्यू के लिए ऊँचा प्लान चाहिए।
countrystringUSProखरीदार का देश, ISO 3166-1 alpha-2। तय करता है कि filter=local कौन-से रिव्यू लौटाएगा और local की गिनती क्या होगी।
langstringen_USProवह भाषा जिसमें रिव्यू का अनुवाद होता है। originalContent में खरीदार का टेक्स्ट रहता है।

अज्ञात पैरामीटर 400 लौटाते हैं। जो पैरामीटर आपके प्लान में शामिल नहीं है, वह 403 लौटाता है, भले ही उसकी वैल्यू डिफ़ॉल्ट हो।

उदाहरण रिक्वेस्ट

curl "https://api.aliexpress-reviews.com/v1/reviews/1005006123456789?filter=5&pageSize=20" \
  -H "x-api-key: $REVIEWS_API_KEY"

फ़िल्टर

फ़िल्टर वही हैं जो AliExpress प्रोडक्ट पेज पर दिखाता है, और उन्हें AliExpress ही लागू करता है। हर रिक्वेस्ट में एक filter भेजें; इन्हें मिलाया नहीं जा सकता।

वैल्यूप्लानलौटाता है
filter=allFreeसभी रिव्यू (डिफ़ॉल्ट)।
filter=5Freeसिर्फ़ 5-स्टार रिव्यू।
filter=4Freeसिर्फ़ 4-स्टार रिव्यू।
filter=3Freeसिर्फ़ 3-स्टार रिव्यू।
filter=2Freeसिर्फ़ 2-स्टार रिव्यू।
filter=1Freeसिर्फ़ 1-स्टार रिव्यू।
filter=additionalProअतिरिक्त (फ़ॉलो-अप) फ़ीडबैक वाले रिव्यू।
filter=localProcountry पैरामीटर में दिए गए देश के खरीदारों के रिव्यू।
filter=imageMaxफ़ोटो वाले रिव्यू।

रिस्पॉन्स का summary.filterCounts बताता है कि हर फ़िल्टर कितने रिव्यू लौटाएगा, ताकि आप बिना अतिरिक्त रिक्वेस्ट के अपने UI में खाली फ़िल्टर छिपा सकें।

भाषाएँ

lang (Pro) के साथ, content और additionalFeedback AliExpress द्वारा अनुवादित होकर आते हैं। originalContent में हमेशा खरीदार के अपने शब्द रहते हैं।

वैल्यूभाषा
en_USअंग्रेज़ी
es_ESस्पेनिश
fr_FRफ़्रेंच
de_DEजर्मन
it_ITइतालवी
pt_BRपुर्तगाली (ब्राज़ील)
nl_NLडच
pl_PLपोलिश

रिस्पॉन्स

{
  "productId": "1005006123456789",
  "filter": "all",
  "page": 1,
  "pageSize": 20,
  "total": 452,
  "totalPages": 23,
  "summary": {
    "averageRating": 4.4,
    "totalReviews": 452,
    "ratingDistribution": { "5": 323, "4": 54, "3": 33, "2": 12, "1": 30 },
    "filterCounts": { "all": 452, "image": 32, "additional": 6, "local": 63 }
  },
  "data": [
    {
      "id": "60012345678901234",
      "author": "J***n",
      "country": "ES",
      "rating": 5,
      "content": "Very good quality, arrived in 10 days",
      "originalContent": "Muy buena calidad, llegó en 10 días",
      "additionalFeedback": null,
      "date": "2026-08-09",
      "sku": "Color:Black",
      "helpfulVotes": 3,
      "images": ["https://..."],
      "thumbnails": ["https://..."]
    }
  ]
}

पेज फ़ील्ड

फ़ील्डटाइपविवरण
productIdstringमांगा गया प्रोडक्ट।
filterstringलागू किया गया फ़िल्टर।
page, pageSizeintegerलौटाया गया पेज और उसका मांगा गया साइज़।
totalintegerफ़िल्टर से मेल खाने वाले रिव्यू।
totalPagesintegerइस pageSize के साथ उपलब्ध पेज।
summary.averageRatingnumber | nullप्रोडक्ट के औसत स्टार, रिव्यू न होने पर null।
summary.totalReviewsintegerप्रोडक्ट के सभी रिव्यू, फ़िल्टर चाहे जो हो।
summary.ratingDistributionobjectहर स्टार के रिव्यू, keys "1"–"5"।
summary.filterCountsobjectहर फ़िल्टर के रिव्यू: all, image, additional, local (country पर निर्भर)।
dataReview[]इस पेज के रिव्यू।

रिव्यू फ़ील्ड

फ़ील्डटाइपविवरण
idstringAliExpress रिव्यू id।
authorstringखरीदार का नाम, AliExpress द्वारा मास्क किया हुआ (जैसे J***n)।
countrystringखरीदार का देश, ISO 3166-1 alpha-2।
ratingintegerस्टार, 1–5।
contentstringlang में अनुवादित रिव्यू टेक्स्ट।
originalContentstringरिव्यू टेक्स्ट, जैसा खरीदार ने लिखा।
additionalFeedbackstring | nullफ़ॉलो-अप फ़ीडबैक, अगर हो।
datestringरिव्यू की तारीख, YYYY-MM-DD।
skustring | nullखरीदार द्वारा खरीदा गया वेरिएंट (जैसे Color:Black)।
helpfulVotesintegerकितनी बार दूसरे खरीदारों ने इसे helpful बताया।
imagesstring[]फ़ुल-साइज़ फ़ोटो के URL। सिर्फ़ Max प्लान।
thumbnailsstring[]थंबनेल URL। सिर्फ़ Max प्लान।

Free और Pro पर images और thumbnails शामिल नहीं होते।

पेजिनेशन

page=1, 2, … तब तक रिक्वेस्ट करें जब तक page totalPages तक न पहुँच जाए। हर पेज आपके कोटा में एक रिक्वेस्ट है, इसलिए अपने प्लान में मिलने वाला सबसे बड़ा pageSize इस्तेमाल करें।

async function allReviews(productId, filter = 'all') {
  const reviews = [];
  for (let page = 1; ; page++) {
    const url = `https://api.aliexpress-reviews.com/v1/reviews/${productId}?filter=${filter}&page=${page}`;
    const res = await fetch(url, { headers: { 'x-api-key': process.env.REVIEWS_API_KEY } });
    const body = await res.json();
    reviews.push(...body.data);
    if (page >= body.totalPages) return reviews;
  }
}

रेट लिमिट

प्लानप्रति दिन रिक्वेस्टअधिकतम pageSize
Free10020
Pro1,000100
Max10,000100

कोटा 00:00 UTC पर रीसेट होता है। कोटा में गिना जाने वाला हर रिस्पॉन्स (200, 404, 429, 502) ये हेडर लाता है:

हेडरविवरण
x-ratelimit-limitआपका दैनिक कोटा।
x-ratelimit-remainingआज बची हुई रिक्वेस्ट।
x-ratelimit-resetअगले रीसेट का Unix समय।

400/401/403 के साथ अस्वीकार की गई रिक्वेस्ट गिनी नहीं जातीं। कोटा पार होने पर रीसेट तक आपको 429 मिलता है। इसके अलावा, सभी यूज़र्स के बीच साझा 50 रिक्वेस्ट प्रति सेकंड की एक ग्लोबल लिमिट भी है।

कैशिंग

हर पेज (प्रोडक्ट + पैरामीटर) 24 घंटे तक कैश किया जाता है, इसलिए नए रिव्यू को दिखने में एक दिन तक लग सकता है। कैश किए गए रिस्पॉन्स भी आपके कोटा में गिने जाते हैं।

एरर

एरर स्टैंडर्ड HTTP स्टेटस कोड और JSON बॉडी का उपयोग करते हैं:

{ "error": { "message": "filter=image requires the MAX plan" } }
स्टेटसमतलबकोटा में गिना जाता है
400अमान्य या अज्ञात पैरामीटर, या गलत फ़ॉर्मैट वाला प्रोडक्ट id।नहीं
401x-api-key हेडर मौजूद नहीं है।नहीं
403अमान्य API key, या कोई पैरामीटर या फ़िल्टर जो आपके प्लान में शामिल नहीं है।नहीं
404AliExpress पर उस id का कोई प्रोडक्ट नहीं है।हाँ
429दैनिक कोटा पार हो गया, या ग्लोबल रेट लिमिट पूरी हो गई।—
502AliExpress ने जवाब नहीं दिया। बाद में फिर कोशिश करें।हाँ

OpenAPI

पूरा स्पेसिफ़िकेशन /openapi.json (OpenAPI 3.0) पर है। इसे Postman, Insomnia या किसी client generator में इम्पोर्ट करें।