Trendyol Scraper: Products & Reviews
Pricing
from $0.60 / 1,000 products
Trendyol Scraper: Products & Reviews
Collect public Trendyol products from searches, categories, stores, and product URLs. Export prices, ratings, sellers, product details, reviews, and answered Q&A.
Pricing
from $0.60 / 1,000 products
Rating
0.0
(0)
Developer
Maxime Dupré
Maintained by CommunityActor stats
0
Bookmarked
109
Total users
28
Monthly active users
14 hours
Issues response
7 days ago
Last modified
Categories
Share
🛍️ Collect public Trendyol product data
Trendyol Scraper helps ecommerce teams, sellers, analysts, and developers collect public Trendyol data. Get products, prices, brands, ratings, sellers, categories, stock signs, promotions, reviews, and answered Q&A without copying pages by hand.
Use it for:
- Save current and original prices with Trendyol Price Monitoring for checks across repeat runs.
- Compare products, sellers, discounts, ratings, and search positions with Trendyol Competitor Analysis.
- Build product tables from searches, categories, stores, or product URLs with Trendyol Product Catalog Export.
- Study seller names, IDs, scores, products, and promotion signs with Trendyol Seller Research.
- Collect ratings, review text, dates, public reviewer details, and customer media with Trendyol Review Scraping.
- Collect answered buyer questions, seller answers, and shown dates with Trendyol Product Q&A Export.
- Compare products across the Turkey, Azerbaijan, and International storefronts with Trendyol Assortment Analysis.
📦 Trendyol product, review, and Q&A data
Each dataset row has a recordType of product, review, or qna.
Product rows include IDs, links, names, brands, prices, discounts, currency, ratings, review counts, seller and category data, stock signs, images, shipping details, badges, promotions, attributes, variants, storefront, and the first discovery source.
Review rows link to a product. They can include a review ID, rating, text, shown date, public reviewer name, purchase status, helpful count, bought variant, and customer media.
Q&A rows link to a product. They can include the question, answer, shown dates, public asker details, and seller details. Optional values are left out when Trendyol does not show them.
🚀 Run a Trendyol product collection
- Choose Search terms, Search result URLs, Category/collection URLs, Seller/store URLs, Product URLs, or Campaigns and flash sales.
- Add searches or public Trendyol URLs for that Target.
- For search terms, choose Turkey, Azerbaijan, or International.
- For discovery sources, set a product limit, sort order, and any filters you need.
- Turn on reviews or answered Q&A if needed, then set their limits.
- Click Start.
No Trendyol login is needed. When inputs find the same product, the Actor saves it once and keeps only its first matching source context.
⚙️ Input
The chosen target sets which source field is used. Fields for other Targets are ignored.
| Field | Type | What it does |
|---|---|---|
target | string | Chooses search terms, search result URLs, category or collection URLs, seller or store URLs, product URLs, or Campaigns and flash sales. |
searchQueries | string array | Sets the searches used by the search Target. |
storefront | string | Sets turkey, azerbaijan, or international for search terms. |
searchUrls | object array | Sets public search result URLs for search_urls. Each object has a url. |
searchUrls[].url | string | Sets one public Trendyol search result URL. |
categoryUrls | object array | Sets public category or collection URLs for category_urls. Each object has a url. |
categoryUrls[].url | string | Sets one public Trendyol category or collection URL. |
storeUrls | object array | Sets public seller or store URLs for store_urls. Each object has a url. |
storeUrls[].url | string | Sets one public Trendyol seller or store URL. |
productUrls | object array | Sets direct public product URLs for product_urls. Each object has a url. |
productUrls[].url | string | Sets one public Trendyol product URL. |
productIds | string array | Sets public Trendyol product IDs for the product_urls Target. |
maxProductsPerSource | integer | Sets the most products saved from each discovery source. Leave it empty to return all available results until the source is exhausted. It is ignored for Product URLs and Campaigns and flash sales. |
sort | string | Sets relevance, newest, price, best seller, most favorited, or most rated order where the source supports it. |
minPrice | number | Keeps products at or above this shown price. |
maxPrice | number | Keeps products at or below this shown price. |
minRating | number | Keeps products at or above this shown rating. |
maxRating | number | Keeps products at or below this shown rating. |
discountedOnly | boolean | Keeps products with a shown discount or original price. |
inStockOnly | boolean | Keeps products shown as available. |
freeShippingOnly | boolean | Keeps products with shown free shipping. |
fastDeliveryOnly | boolean | Keeps products with shown fast delivery. |
couponOnly | boolean | Keeps products with a shown coupon. |
offerOnly | boolean | Keeps products with a shown offer or campaign. |
newReleaseOnly | boolean | Keeps products marked as new releases. |
influencerOnly | boolean | Keeps products with a shown influencer link. |
lowestPriceOnly | boolean | Keeps products with a shown lowest-price mark. |
reviews | object | Sets optional review collection. |
reviews.enabled | boolean | Saves shown reviews as linked rows. |
reviews.maxPerProduct | integer | Sets the most reviews per product. Leave it empty to return all available results until the source is exhausted. |
reviews.order | string | Uses Trendyol's default, highest-rating-first, or lowest-rating-first review order. |
questionsAndAnswers | object | Sets optional answered Q&A collection. |
questionsAndAnswers.enabled | boolean | Saves shown answered questions as linked rows. |
questionsAndAnswers.maxPerProduct | integer | Sets the most answered questions per product. Leave it empty to return all available results until the source is exhausted. |
This is the public input from a successful default-input run:
{"target": "search","searchQueries": ["spor ayakkabi"],"storefront": "turkey","maxProductsPerSource": 2,"sort": "relevance","discountedOnly": false,"inStockOnly": false,"freeShippingOnly": false,"fastDeliveryOnly": false,"couponOnly": false,"offerOnly": false,"newReleaseOnly": false,"influencerOnly": false,"lowestPriceOnly": false,"reviews": {"enabled": false,"order": "default"},"questionsAndAnswers": {"enabled": false}}
🧾 Output
Results are saved to the default Apify dataset. Export them as JSON, CSV, or Excel, or get them through the Apify API. Optional fields are left out when Trendyol does not show them.
Output link
| Field | Type | What it does |
|---|---|---|
results | string | Opens saved product, review, and answered Q&A rows in the default dataset. |
Product rows
| Field | Type | What it does |
|---|---|---|
recordType | string | Is product. |
productId | string | Identifies the Trendyol product. |
productCode | string | Gives the product code shown by Trendyol. |
productUrl | string | Links to the public product page. |
name | string | Gives the shown product name. |
brand | string | Gives the shown brand. |
brandId | string | Gives the Trendyol brand ID. |
price | number | Gives the current shown price. |
originalPrice | number | Gives the price before the shown discount. |
discountPercent | number | Gives the shown discount percentage. |
currency | string | Gives the shown ISO 4217 currency code. |
rating | number | Gives the average product rating. |
reviewCount | integer | Gives the shown review count. |
favoriteCount | integer | Gives the shown favorite count. |
orderCount | string | Gives the shown public order-count signal. |
sellerId | string | Gives the Trendyol seller ID. |
sellerName | string | Gives the shown seller name. |
sellerUrl | string | Links to the public seller page. |
sellerScore | number | Gives the public seller score. |
sellerLocation | string | Gives the shown seller location. |
sellerBusinessName | string | Gives the shown official business name. |
sellerBusinessDetails | string array | Gives other public seller business facts. |
merchantId | string | Links the listing to its seller. |
listingId | string | Identifies the seller's offer. |
categoryId | string | Gives the Trendyol category ID. |
categoryName | string | Gives the shown category. |
categoryUrl | string | Links to the public category page. |
categoryHierarchy | string array | Gives category names from broadest to most exact. |
inStock | boolean | Shows whether the product is in stock. |
freeShipping | boolean | Shows whether free shipping is shown. |
fastDelivery | boolean | Shows whether fast delivery is shown. |
hasCoupon | boolean | Shows whether a coupon is shown. |
hasOffer | boolean | Shows whether an offer or campaign is shown. |
newRelease | boolean | Shows whether Trendyol marks the product as new. |
influencerPick | boolean | Shows whether an influencer label is shown. |
lowestPrice | boolean | Shows whether a lowest-price label is shown. |
images | string array | Gives product image URLs. |
badges | string array | Gives other product badges. |
shipping | string array | Gives shown shipping or delivery messages. |
fulfilment | string array | Gives shown fulfilment messages. |
stockLimit | integer | Gives the shown number of units left. |
saleLimit | integer | Gives the shown per-customer purchase limit. |
couponDetails | string array | Gives shown coupon messages. |
promotions | object array | Gives the promotions shown for the product. |
promotions[].text | string | Gives the text for one promotion. |
promotions[].type | string | Gives the type of one promotion when shown. |
description | string | Gives the shown product description. |
attributes | object array | Gives product facts as name and value pairs. |
attributes[].name | string | Gives the name of one product fact. |
attributes[].value | string | Gives the value of one product fact. |
variants | object array | Gives the product choices shown by Trendyol. |
variants[].variantId | string | Gives one product-choice ID when shown. |
variants[].name | string | Gives the name of one product choice. |
variants[].value | string | Gives the value of one product choice. |
variants[].price | number | Gives the price of one product choice. |
variants[].inStock | boolean | Shows whether one product choice is in stock. |
variants[].imageUrl | string | Gives the image URL for one product choice. |
sizeChartUrl | string | Links to the public size chart when shown. |
storefront | string | Gives the Trendyol storefront. |
sourceContext | object | Gives the first saved discovery source. |
sourceContext.type | string | Gives the kind of submitted value that first found the product. |
sourceContext.query | string | Gives the search term when a search found the product. |
sourceContext.url | string | Gives the public source URL when one was submitted or generated. |
sourceContext.position | integer | Gives the product's position in that source. |
A full product row from the current beta build:
{"recordType": "product","productId": "241528489","productUrl": "https://www.trendyol.com/riccon/beyaz-beyaz-kadin-sneaker-0012255-p-241528489","name": "Beyaz Beyaz Kadın Sneaker 0012255","productCode": "LNRCNKM255","brand": "Riccon","brandId": "93397","price": 660,"originalPrice": 704,"discountPercent": 6,"currency": "TRY","rating": 4.237467639444575,"reviewCount": 2596,"favoriteCount": 127071,"sellerId": "180000","sellerName": "Riccon","sellerUrl": "https://www.trendyol.com/riccon-x-b110359","sellerScore": 8.9,"sellerLocation": "İzmir, TÜRKİYE","sellerBusinessName": "LİNDON AYAKKABI İÇ VE DIŞ TİCARET LİMİTED ŞİRKETİ","sellerBusinessDetails": ["İzmir","TÜRKİYE","Mahalle/Semt:EGEMENLİK MAH. Cadde/Sokak:6106/4 SK. No:34"],"merchantId": "180000","categoryId": "975","categoryName": "Sneaker","categoryUrl": "https://www.trendyol.com/kadin-ayakkabi-x-g1-c114","categoryHierarchy": ["Ayakkabı","Spor Ayakkabı","Sneaker"],"inStock": true,"freeShipping": true,"fastDelivery": true,"hasCoupon": true,"hasOffer": true,"newRelease": false,"influencerPick": false,"lowestPrice": true,"images": ["https://cdn.dsmcdn.com/ty1645/prod/QC/20250306/17/f66af729-f992-36c4-8ebe-aa8f97dabf20/1_org_zoom.jpg","https://cdn.dsmcdn.com/sfweb-pdp/images/product-placeholder-v2.jpeg","https://cdn.dsmcdn.com/ty1644/prod/QC/20250306/17/c5349104-eed5-35c6-9584-ce083daa875c/1_org_zoom.jpg","https://cdn.dsmcdn.com/ty1646/prod/QC/20250306/17/c8146858-fca3-380a-a2ff-260d5c4d5a84/1_org_zoom.jpg","https://cdn.dsmcdn.com/ty1644/prod/QC/20250306/17/d287ca5e-5f6b-35c7-9bd5-f1090a98e5cc/1_org_zoom.jpg","https://cdn.dsmcdn.com/ty1645/prod/QC/20250306/17/c87d9566-3f5c-3d1f-8863-d2401338c7cd/1_org_zoom.jpg","https://cdn.dsmcdn.com/ty1645/prod/QC/20250306/17/511e1f18-9be0-3dda-83d5-3c0db620057b/1_org_zoom.jpg","https://cdn.dsmcdn.com/ty1646/prod/QC/20250306/17/53bb6c6d-a2b3-320e-8c76-41137d085b5e/1_org_zoom.jpg","https://cdn.dsmcdn.com/ty1644/prod/QC/20250306/17/71efff3b-2f77-3063-90ee-9fef83172267/1_org_zoom.jpg"],"badges": ["Çok Avantajlı Ürün","Hesaplı Ürünler","Son 10 Günün En Düşük Fiyatı"],"shipping": ["350 TL ve Üzeri Kargo Bedava (Satıcı Karşılar)"],"fulfilment": ["mp"],"stockLimit": 0,"saleLimit": 10,"couponDetails": ["660 TL"],"orderCount": "500+","promotions": [{"text": "Sepette %40 İndirim"},{"text": "Trendyol Plus'a Özel Fiyat"},{"text": "2 Adet ve Üzeri %10 İndirim"},{"text": "350 TL ve Üzeri Kargo Bedava (Satıcı Karşılar)"}],"description": "Beyaz Beyaz Kadın Sneaker 0012255 yorumlarını inceleyin, Trendyol'a özel indirimli fiyata satın alın 🧡","attributes": [{"name": "Bağlama Şekli","value": "Bağcıklı"},{"name": "Materyal","value": "Suni Deri"},{"name": "Taban Tipi","value": "Poliüretan İç Taban"},{"name": "Koleksiyon","value": "Basic"},{"name": "Dış Materyal","value": "Suni Deri"},{"name": "Renk","value": "Beyaz"},{"name": "İç Astar & İç Taban Materyali","value": "Suni Deri"},{"name": "Alt Taban Materyali","value": "Poli"},{"name": "Topuk Boyu","value": "Orta Topuklu (5-9 cm)"},{"name": "Persona","value": "Cool & Comfort"},{"name": "Ek Özellik","value": "Ortopedik Taban"},{"name": "Sürdürülebilirlik Detayı","value": "Hayır"},{"name": "Topuk Tipi","value": "Düz Topuklu"},{"name": "Materyal Bileşeni","value": "70% Suni Deri, 30% Poliüretan"},{"name": "Ortam","value": "Sportswear"},{"name": "Yıkama Talimatı","value": "T101"},{"name": "Desen","value": "Düz"},{"name": "Kumaş Tipi","value": "Dokuma"},{"name": "Ürün Detayı","value": "Suni Deri"},{"name": "Menşei","value": "UM"},{"name": "Yıkama Talimatları","value": "Temiz bir bezle silin"}],"variants": [{"variantId": "LNRCNKM25560236","name": "Variant","value": "36","price": 660,"inStock": true},{"variantId": "LNRCNKM25560237","name": "Variant","value": "37","price": 660,"inStock": true},{"variantId": "LNRCNKM25560238","name": "Variant","value": "38","price": 660,"inStock": true},{"variantId": "LNRCNKM25560239","name": "Variant","value": "39","price": 660,"inStock": true},{"variantId": "LNRCNKM25560240","name": "Variant","value": "40","price": 660,"inStock": true}],"sizeChartUrl": "https://cdn.dsmcdn.com//ty1724/product/charts/categories/975/brands/93397/tfiesylk.png","storefront": "turkey","sourceContext": {"type": "productUrl","url": "https://www.trendyol.com/riccon/beyaz-beyaz-kadin-sneaker-0012255-p-241528489","position": 1}}
Review rows
| Field | Type | What it does |
|---|---|---|
recordType | string | Is review. |
reviewId | string | Gives the Trendyol review ID. |
productId | string | Gives the Trendyol ID of the linked product. |
productUrl | string | Links to the public page for the linked product. |
productName | string | Gives the shown name of the linked product. |
storefront | string | Gives the Trendyol storefront. |
rating | number | Gives the review rating. |
text | string | Gives the review text. |
reviewDate | string | Gives the timing shown for the review. |
reviewerName | string | Gives the public reviewer name. |
verifiedPurchase | boolean | Shows Trendyol's verified-purchase mark. |
helpfulCount | integer | Gives the shown helpful-vote count. |
reviewerDetails | string array | Gives other public reviewer details. |
variant | string | Gives the bought product choice. |
mediaUrls | string array | Gives customer photo or video URLs. |
{"recordType": "review","reviewId": "572771455","productId": "241528489","productUrl": "https://www.trendyol.com/riccon/beyaz-beyaz-kadin-sneaker-0012255-p-241528489","productName": "Beyaz Beyaz Kadın Sneaker 0012255","rating": 5,"text": "Gayet güzel nişanımda kullanmak için alıp süsledim","reviewDate": "2025-09-25T21:29:49.317Z","reviewerName": "Ç** A**","verifiedPurchase": true,"mediaUrls": ["https://cdn.dsmcdn.com/mnresize/-/820/prod-product-review-media-migrated_1755700289924/img/2018925/2027898/2044847/241528489/63187268-1758835787177.jpeg"],"storefront": "turkey"}
Answered Q&A rows
| Field | Type | What it does |
|---|---|---|
recordType | string | Is qna. |
qnaId | string | Gives the Trendyol answered-question ID. |
productId, productUrl, productName | string | Link the Q&A to its product. |
storefront | string | Gives the Trendyol storefront. |
questionText, questionDate, askerName | string | Give the question, shown timing, and public asker. |
answerText, answerDate | string | Give the answer and shown timing. |
sellerId, sellerName | string | Identify the seller who answered. |
{"recordType": "qna","qnaId": "230768518","productId": "241528489","productUrl": "https://www.trendyol.com/riccon/beyaz-beyaz-kadin-sneaker-0012255-p-241528489","productName": "Beyaz Beyaz Kadın Sneaker 0012255","questionText": "36 kaç cm?","questionDate": "2024-06-11T17:07:13.058Z","askerName": "**** ****","answerText": "Merhaba efendim, 24 cm'dir.","answerDate": "2 dakika içinde cevaplandı.","sellerId": "180000","sellerName": "Riccon","storefront": "turkey"}
💳 Pricing
This Actor uses pay-per-event pricing. A start charge applies when a run starts, and product, review, and answered Q&A events are charged only after the matching row is saved. Reviews and Q&A are off by default, and product details are included with each saved product. See the Pricing tab for current rates and tiers. Apify platform charges may also apply.
🔌 Integrations
Start runs and get dataset rows with the Apify API. Use Apify Schedules for repeat runs and Webhooks to alert another service. You can also send dataset exports to tools in the Apify Console.
❓ FAQ
What happens when several inputs find the same product?
The product is saved once per run. It keeps the first matching discovery source. Later matches are ignored and do not change the saved row.
Why did filters return fewer products than my limit?
The limit is a maximum. A page may have fewer matching products, and filters can remove products that do not show the needed signs.
Can I collect reviews without collecting product listings?
Yes. Add public product URLs or Product IDs with reviews enabled to collect review rows without first collecting product listings. Answered Q&A is collected for saved products.
Can I collect one direct product page?
Yes. Choose Product URLs and add a public product URL, or add Product IDs.
Which Trendyol storefronts are supported?
Search-term runs support Turkey, Azerbaijan, and International. Submitted URLs set their own public Trendyol surface.
Is this the official Trendyol API?
No. The Actor reads data shown on public Trendyol pages. It does not need Trendyol API keys.
Can I use a Trendyol scraper library instead?
A library may fit a custom app, but you must run and maintain it. This Actor gives you Apify datasets, schedules, Webhooks, and API access without building that setup.
Does it keep price history or send alerts?
No. Each run returns data shown at that time. Use Schedules and your own storage or workflow to build price history or alerts.
📝 Changelog
v0.4 (16-09-2026)
- Added campaign discovery and Product IDs for direct product runs.
- Added more seller, category, stock, promotion, order, and review details to output rows.
- Output progress stays available during normal runs and when a run changes lifecycle state.
v0.2
- Initial release.
🆘 Support
For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡
🔗 Related Actors
- MercadoLibre Search Scraper: compare marketplace products, prices, sellers, shipping, ratings, and search positions.
- Google Shopping Ads Scraper: study paid Shopping products, merchants, prices, and positions by keyword and market.
- Allegro Scraper for Prices, Sellers, and Specs: collect Allegro listings, prices, sellers, delivery details, and product data.
- John Lewis Product Scraper: collect public product and variant data from a UK retailer.
- Toolstation Scraper: collect public trade and DIY products, prices, stock signs, and specifications.
Made with ❤️ by Maxime Dupré