Co APIshopee.co.id ↗
Access Shopee Indonesia product listings, official shop profiles, trending searches, and shop reliability metrics via a structured JSON API with 7 endpoints.
What is the Co API?
This API exposes 7 endpoints covering Shopee Indonesia (shopee.co.id), returning product search results, shop profiles, trending search queries, and reliability metrics. The get_official_shops endpoint lets you paginate through Shopee Mall sellers filtered by category, while get_trending_search surfaces currently popular query terms alongside associated item IDs, shop IDs, and thumbnail images — no authentication required on your end.
curl -X GET 'https://api.parse.bot/scraper/f3391696-7ff1-4aab-bbea-3668f25ddf1f/search_products' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace shopee-co-id-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Shopee Indonesia SDK — browse mall categories, shops, and trending searches."""
from parse_apis.shopee_indonesia_api import Shopee, ShopNotFound
shopee = Shopee()
# List all official shop categories
for cat in shopee.categories.list(limit=5):
print(cat.name, cat.category_id)
# Get shops in the Electronics category
electronics = shopee.category(category_id=11044258)
shop = electronics.shops(limit=1).first()
# Drill into one shop's info and reliability
if shop:
info = shop.info()
print(info.name, info.rating_star, info.follower_count, info.shop_location)
reliability = shop.reliability()
print(reliability.shop_name, reliability.chat_response_rate, reliability.cancellation_rate_pct)
print(reliability.badges, reliability.joined_days)
# Typed error handling on a bad shop ID
try:
bad_shop = shopee.officialshop(shopid=9999999999)
bad_shop.info()
except ShopNotFound as exc:
print(f"Shop not found: {exc.shopid}")
# Trending searches — discover popular products
for query in shopee.trendingqueries.list(limit=3):
print(query.text, query.shop_ids)
print("exercised: categories.list / category.shops / shop.info / shop.reliability / trendingqueries.list")
Search for products by keyword. NOTE: Highly protected by Shopee's anti-bot (90309999); may return blocked results.
| Param | Type | Description |
|---|---|---|
| limit | integer | Number of items to return |
| queryrequired | string | Search keyword |
| offset | integer | Offset for pagination (newest) |
{
"type": "object",
"fields": {
"data": "object",
"status": "string"
},
"sample": {
"data": {
"items": [
{
"name": "Example Product",
"price": 100000,
"itemid": 42973411764
}
]
},
"status": "success"
}
}About the Co API
Products and Search
The search_products endpoint accepts a required query string and optional limit and offset integers for pagination, returning a data object and a status string. Note that this endpoint — along with get_product_detail, which takes a required itemid and shopid — is flagged as highly protected by Shopee's anti-bot layer (error code 90309999). Expect blocked or empty results when Shopee's defenses are active; plan retry logic or fallback behavior accordingly.
Official Shops and Categories
get_official_shop_categories returns a flat array of category objects, each containing category_id, name, and an optional image URL. Feed those category_id values into get_official_shops to retrieve paginated Shopee Mall sellers. Each shop object includes shopid, shop_name, username, logo, logo_pc, brand_name, entity_id, userid, ctime, and shop_type, plus a total field telling you how many shops exist in that category for accurate offset-based pagination.
Shop Profiles and Reliability
get_shop_info returns a general profile for any shop by numeric shopid: display name, cover, country, description, item_count, rating_good, rating_bad, and ctime (Unix timestamp). The shop_reliability endpoint goes further, returning badges (possible values: official_shop, shopee_verified, preferred_plus), is_official, vacation status, response and cancellation metrics as decimals, a captured_at ISO 8601 timestamp, and provider metadata — data shaped for affiliate or creator decision workflows.
Trending Searches
get_trending_search requires no input parameters and returns an array of query objects, each containing the search text, associated item_ids and shop_ids, thumbnail images, a hint string, and tracking metadata. A has_more boolean indicates whether the result set is truncated.
The Co API is a managed, monitored endpoint for shopee.co.id — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when shopee.co.id changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official shopee.co.id API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Monitor trending product categories on Shopee Indonesia using
get_trending_searchitem IDs and query text. - Build a Shopee Mall brand directory by paginating
get_official_shopsacross all categories returned byget_official_shop_categories. - Score seller trustworthiness for an affiliate tool using
shop_reliabilitybadges, cancellation rate, andis_officialflag. - Display seller profile pages combining
get_shop_infodescription,item_count, and rating fields. - Track shop vacation status and response rate changes over time using the
captured_attimestamp inshop_reliability. - Seed a product recommendation engine with trending
item_idspulled fromget_trending_searchresults. - Filter Shopee Mall shops by product vertical using
category_idvalues fromget_official_shop_categories.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Shopee have an official developer API?+
What does the `shop_reliability` endpoint return that `get_shop_info` does not?+
shop_reliability adds badges (with values like official_shop, shopee_verified, and preferred_plus), a vacation boolean, a captured_at ISO 8601 timestamp, cancellation and response metrics as decimals, and the is_official flag. get_shop_info covers the general profile: display name, description, rating counts, cover image, and creation timestamp.Are product reviews or seller review text exposed by any endpoint?+
rating_good, rating_bad) and reliability badges, but individual review text, reviewer profiles, and star breakdowns are not returned by any endpoint. You can fork this API on Parse and revise it to add a reviews endpoint.How reliable is the `search_products` endpoint?+
search_products and get_product_detail are explicitly flagged as highly protected by Shopee's anti-bot system (error code 90309999). Responses may return blocked or empty data rather than product results. The other five endpoints — shop info, trending searches, official shops, categories, and reliability — are not flagged with this limitation.