MessNoMore Data Tools › Translate Shopee, Lazada, TikTok Shop Listings: Title Limits
How do you translate Shopee, Lazada and TikTok Shop listings within the title limits?
Title limits differ by marketplace: the Shopee, Lazada & TikTok Shop Listing Translator Actor applies 120 characters on Shopee (a common Seller Centre figure; the Actor's documentation says Shopee publishes no official number), 255 on Lazada and 25 to 255 on TikTok Shop. When you translate a title into Malay, Indonesian, Thai or Vietnamese, keep brand names, sizes and model codes exactly as written and check the result against the limit. Sellers in Malaysia must also show the seller information listed in the CPETTR 2024 Schedule, and the unofficial Apify Actor Shopee, Lazada & TikTok Shop Listing Translator translates, trims and checks listings through an API.
What are the title and description limits on Shopee, Lazada and TikTok Shop?
These are the numbers the Actor applies, counted the way a reader sees characters, so Thai marks and Vietnamese accents count correctly.
| Marketplace | Title | Description | Source of the number |
|---|---|---|---|
| Shopee | 120 | 3,000 | Common Seller Centre figures; the Actor's documentation says no official limit is published |
| Lazada | 255 | 25,000 | Lazada Open Platform CreateProduct API |
| TikTok Shop | 25 to 255 | 10,000 | TikTok Shop Partner API |
Shopee is the one to check by hand: your own Seller Centre shows the number for your category. If it differs from 120, enter it as titleMaxLength (10 to 255); until then every Shopee result carries titleLimitVerified: false. The Lazada and TikTok Shop limits cannot be raised, and a TikTok Shop title under 25 characters gets a note asking for more product details.
Why does machine translation of a product title go wrong?
A title packs product type, key specs and brand into few words, so literal translation breaks in predictable ways:
- Wrong market vocabulary. Malaysian Malay and Indonesian differ in everyday words, such as "kereta" in Malaysia and "mobil" in Indonesia. The Actor keeps
msandidapart. - Changed protected terms. "750ml" must not become "750 mililiter", and a model code like "S24" or a brand name must survive. Sizes, capacities and model codes are protected automatically; add brand, model or ingredient names in
protectedTerms. Terms missing from the result are listed inmissingProtectedTerms(empty is good). - Keywords in the wrong order or language. The Actor puts the product type and key specs first, uses words local shoppers search for, and keeps English where shoppers commonly search in English, such as "power bank" or "serum".
- Text marketplaces reject. Emoji and hashtags in titles, and links, phone numbers and e-mail addresses anywhere, are removed, and the AI is told to drop promotional phrases such as "FREE SHIPPING" or "BEST SELLER".
If a translated title is still over the limit, the Actor removes words from the end. The first word (the product type) and the protected terms stay; if even those do not fit, the title is cut mid-phrase and a note says so. Thai, which has no spaces between words, is trimmed at word or phrase boundaries. A shortened title has titleTrimmed: true.
| Source title | Malay (Shopee run) | Thai (TikTok Shop run) | Vietnamese (TikTok Shop run) |
|---|---|---|---|
| Stainless Steel Water Bottle 750ml Double Wall Vacuum Insulated | Botol Air Stainless Steel 750ml Dinding Berganda Vacuum Insulated | ขวดน้ำสแตนเลส 750ml ฉนวนสุญญากาศ 2 ชั้น | Bình nước giữ nhiệt inox 750ml 2 lớp thành chân không |
Every version keeps "750ml", but read the output before publishing: in two sample runs on this title, one left "Vacuum Insulated" in English and the other wrote "Vakum Penebat". The notes field also flags claims that need proof, such as this bottle's 24-hour cold claim.
How do you translate listings to Malay, Thai or Vietnamese with an API?
Send listings, target languages and a marketplace in one request. Each listing needs sku and title; description, variations, price, currency, brand and protectedTerms are optional. targetLanguages takes ms, id, th and vi; marketplace is shopee, lazada or tiktokshop. For a whole catalogue, pass listingsCsvUrl, a public link to a UTF-8 CSV file or a Shopify product export.
curl -X POST "https://api.apify.com/v2/acts/messnomore~sea-listing-localizer/run-sync-get-dataset-items" -H "Authorization: Bearer YOUR_APIFY_TOKEN" -H "Content-Type: application/json" -d '{"listings":[{"sku":"BTL-750","title":"AcmeHome Stainless Steel Water Bottle 750ml","protectedTerms":["AcmeHome"]}],"targetLanguages":["ms","th"],"marketplace":"tiktokshop"}'
You get one result per listing per language. This is a real result, the Thai version on TikTok Shop:
{
"sku": "BTL-750",
"language": "th",
"marketplace": "tiktokshop",
"sourceTitle": "Stainless Steel Water Bottle 750ml Double Wall Vacuum Insulated",
"localizedTitle": "ขวดน้ำสแตนเลส 750ml ฉนวนสุญญากาศ 2 ชั้น",
"titleLength": 34,
"titleMaxLength": 255,
"localizedDescription": "เก็บความเย็นได้นาน 24 ชั่วโมง และเก็บความร้อนได้นาน 12 ชั่วโมง\n• ฝาป้องกันการรั่วซึม\n• ฝาไม่มี BPA\n• พอดีกับที่วางแก้วในรถยนต์ส่วนใหญ่",
"localizedVariations": [
{
"name": "สี",
"options": [
"ดำ",
"เงิน",
"ชมพูพาสเทล"
]
}
],
"complianceScore": null,
"cpettrMissing": null,
"cpettrRecommended": null,
"cpettrHints": null,
"notes": [
"Confirm the 24-hour cold and 12-hour hot retention claims with test data before publishing.",
"Source says 'BPA-free lid'; confirm the lid's BPA-free status is certified or documented."
],
"missingProtectedTerms": [],
"titleTrimmed": false,
"titleLimitVerified": true,
"descriptionLength": 109,
"descriptionTrimmed": false
}
The CPETTR fields are null because that check was off for this run. 100 results take about a minute.
What does Malaysia's CPETTR 2024 require sellers to disclose?
CPETTR is the Consumer Protection (Electronic Trade Transaction) Regulations 2024, P.U.(A) 449/2024, in force since 25 December 2024. The Actor's check follows its Schedule:
- Seller or company name (item 1); e-mail address and telephone number (item 3); address of the place of business (item 4)
- Main characteristics of the product (item 5); the Actor expects a description of at least 50 characters
- Full price, and delivery cost or delivery terms (item 6)
- Payment methods (item 7); terms and conditions, or at least the return and refund policy (item 8)
- Estimated delivery time (item 9); a Bahasa Malaysia version of the information (Regulation 4)
Not scored but suggested: your website and any safety or health certificate (both "if any", items 2 and 10), and your company registration number, which marketplaces must keep on record (Regulation 8(1)(c)). The Actor's documentation says enforcement of the Bahasa Malaysia rule was postponed in June 2025.
The Actor turns this into a complianceScore (0 to 100) per listing, plus cpettrMissing and cpettrHints. In the CPETTR example run both listings scored 100. To read the rules, find the gazette text of P.U.(A) 449/2024; for legal questions ask a qualified adviser or the Ministry of Domestic Trade and Cost of Living (KPDN). The check is not legal advice.
How much does it cost to translate a listing?
Pay-per-event: $0.02 per localized result (one listing in one language) plus $0.01 per run, with no charge for compute time. 50 products in Bahasa Malaysia and Thai make 100 results and cost $2.01; 20 listings in one language cost $0.41. Failed results are not charged, and maxResults (default 100) is a hard cap. Runs on the Apify free plan return up to 10 results. Apify Bronze, Silver and Gold subscribers get lower prices.
What does it not cover?
- Only Bahasa Malaysia, Bahasa Indonesia, Thai and Vietnamese, and only Shopee, Lazada and TikTok Shop.
- No scraping: it processes only the listings you provide.
- The output is titles, descriptions and variations; other columns in your file are ignored.
- The text is written by Anthropic's Claude AI, so review it before publishing. Your listings are sent to the Anthropic API for this.
- It is independent and unofficial, not affiliated with Shopee, Lazada, TikTok Shop or Shopify.
- CPETTR is Malaysian; if you do not sell there, set
checkCPETTRtofalse.
FAQ
What is the Lazada product title character limit?
The Shopee, Lazada & TikTok Shop Listing Translator Actor applies 255 characters for titles and 25,000 for descriptions on Lazada, taken from the Lazada Open Platform CreateProduct API. The Actor does not let you raise the Lazada limit.
How long can a TikTok Shop product title be?
The Actor applies 25 to 255 characters for titles and up to 10,000 for descriptions on TikTok Shop, based on the TikTok Shop Partner API. A title shorter than 25 characters gets a note asking you to add product details.
What is the Shopee product title limit?
According to the Actor's documentation, Shopee publishes no official limit, so the Actor uses 120 characters for titles and 3,000 for descriptions, the common Seller Centre figures. Check the number your Seller Centre shows for your category and set titleMaxLength (10 to 255) if it differs.
What must sellers disclose under Malaysia's CPETTR 2024?
The Actor's checklist follows the Schedule of P.U.(A) 449/2024: seller name, e-mail and telephone, business address, product description, full price and delivery cost, payment methods, terms and conditions, estimated delivery time, plus a Bahasa Malaysia version (Regulation 4, enforcement postponed in June 2025). It is a checklist, not legal advice.
Is there an API to translate Shopee listings into Malay, and what does it cost?
Yes. The Apify Actor Shopee, Lazada & TikTok Shop Listing Translator can be called through the Apify API with your listings, target languages and marketplace. It costs $0.02 per localized result plus $0.01 per run, and Apify Bronze, Silver and Gold subscribers get lower prices.
Does the tool scrape Shopee, Lazada or TikTok Shop?
No. It only processes the listings you send and does not visit marketplace websites or read other sellers' data. It is an independent tool and is not affiliated with those marketplaces.