One Unified Call to Aggregate E-commerce Data: Practical Guide to Multi-Platform Product Search (Taobao, JD, Pinduoduo)
1. Background: Why Build Aggregated Search?
In price comparison apps, content-based e-commerce platforms, or affiliate marketing services, users typically have the following core needs:
Enter a keyword and see relevant products from all major platforms
Compare prices, sales volume, discounts, and platform reputation
One-stop interface for faster decision-making
However, integrating each platform individually brings challenges:
Different API structures (inconsistent fields, pagination rules)
Varying response times across platforms
Complex concurrency and resource management (threads, async logic, caching)
Hence, there is a need for a unified API to simplify integration, enhance performance, and improve user experience.
2. Design Goals
We aim to build a unified API like:
GET /api/search?keyword=Lenovo Laptop&platforms=jd,taobao,pdd
Which returns:
{"code": 0,
"data": {
"items": [
{
"sku_id": "J1234",
"title": "Lenovo Legion R7000",
"price": 6599,
"source": "jingdong"
},
{
"sku_id": "T4321",
"title": "Lenovo Xiaoxin Pro",
"price": 6299,
"source": "taobao"
}
]
}
}
✅ Supports querying multiple platforms simultaneously
✅ Unified response format (based on UnifiedGoodsModel)
✅ Specify platforms or use all by default
✅ Supports sorting, pagination, filtering
This approach ensures a better experience for both users and developers.
3. Aggregation Strategy Design
Option 1: Aggregation via Official APIs (High Control, High Effort)
You can access:
JD Union Open Platform API
Taobao Open Platform Search API
Pinduoduo Open Platform Product Query API
Then convert and merge results into a unified structure.
Pros:
Data comes directly from official sources, ensuring accuracy
Enables affiliate integration for monetization
Cons:
Complicated approval and access procedures
Field and pagination formats differ, increasing processing complexity
High resource usage for concurrency management
Option 2: Aggregation via LuckData (Quick & Reliable Integration)
LuckData offers a unified product search API for:
JD, Taobao, and Pinduoduo
Unified response format—no need for manual field conversion
Code samples in multiple languages (Python, Java, Go, Shell)
Fast responses, reliable uptime
Example usage:
GET https://luckdata.io/api/search?query=Lenovo Laptop&platforms=jd,taobao,pdd
Response:
{"code": 200,
"data": {
"items": [
{
"sku_id": "1001",
"title": "Lenovo Legion Y9000P",
"price": 7599,
"source": "jd"
},
{
"sku_id": "3002",
"title": "Lenovo Xiaoxin Air14",
"price": 5899,
"source": "taobao"
}
]
}
}
Using LuckData, you avoid dealing with API differences and can launch aggregated search functions rapidly.
4. Backend Implementation with Asynchronous Aggregation
If you prefer to retain full control by using official APIs, you can implement your own aggregation logic using async concurrency.
Example with Python aiohttp:
import asyncioimport aiohttp
async def fetch_jd(keyword):
async with aiohttp.ClientSession() as session:
async with session.get(f"https://api.jd.com/search?q={keyword}") as resp:
return await resp.json()
async def fetch_taobao(keyword):
async with aiohttp.ClientSession() as session:
async with session.get(f"https://api.taobao.com/search?q={keyword}") as resp:
return await resp.json()
async def aggregate_search(keyword):
jd_task = fetch_jd(keyword)
tb_task = fetch_taobao(keyword)
results = await asyncio.gather(jd_task, tb_task)
return standardize(results)
@app.get("/api/search")
async def search(keyword: str):
data = await aggregate_search(keyword)
return {"code": 0, "data": {"items": data}}
A function like standardize
should be implemented to normalize field structures.
5. Frontend Display Recommendations
To optimize UI/UX, consider:
Grouping results by platform (e.g., tabs for JD, Taobao, Pinduoduo)
Or blending results with sorting (e.g., by price or sales volume)
Clearly displaying product source (e.g., “from JD”)
Click-to-jump: either to the platform's product detail page or an internal one
Good design can greatly improve user engagement and conversion rates.
6. Advantages of LuckData
LuckData’s multi-platform search API is ideal for:
Rapid development of price comparison, affiliate, or content-based commerce platforms
Eliminating the need to manually integrate and standardize APIs from multiple platforms
Saving time on credential reviews and interface approvals
Built-in field standardization logic
Developer-friendly with language support for Python, Java, Go, Shell, and more
Especially for small teams or MVP stages, LuckData is a time-saving and scalable solution.
7. Conclusion
Aggregated search is a foundational capability for comparison and recommendation services
Official API integration offers flexibility but comes with high complexity
LuckData provides a simplified and efficient solution to build feature-rich services quickly
Start with LuckData to build your MVP, and expand to official APIs if needed later
With a single request, you can aggregate data from major e-commerce platforms and deliver a true one-stop search experience to your users.
Articles related to APIs :
Building a Unified API Data Layer: A Standardized Solution for Cross-Platform Integration
Enterprise-Level API Integration Architecture Practice: Unified Management of JD.com and Third-Party APIs Using Kong/Tyk Gateway
JD API Third-Party SDKs and Community Libraries: Selection Strategies and Best Practices
In-depth Guide to JD.com APIs: After-Sales Services and Consumer Rights Protection
For seamless and efficient access to the Jingdong API, please contact our team : support@luckdata.com