How to export Trendyol product prices and reviews to CSV or Excel
For a spreadsheet of public Trendyol products, start with a category, search or product URL, collect a limited set of results, then download the dataset from Apify. Keep product prices and individual reviews in separate tables so that each row has a clear meaning.
Choose the public pages and the columns you need
Atesen Software's Trendyol Scraper accepts Trendyol.com category, brand, store, search and product URLs through startUrls, or search words through searchQueries. A listing URL keeps its existing filters and sort order. Use public pages only; do not supply account credentials, cookies or private account information. This workflow covers the Turkish Trendyol.com storefront.
For a few products, you can copy their visible names, URLs and prices into a spreadsheet manually. The Actor is an option when you need structured results from a listing or several public product pages. Running it uses Apify's paid event model. Check the current Store pricing and your run's maximum charge setting before starting; this guide does not promise a free run.
- Prices: keep
productId,name,url,price,sellingPrice,originalPrice,currencyandscrapedAt. - Product details: enable
includeProductDetailsonly if you need seller offers, attributes, barcodes or variants. This adds a chargeable event per product. - Individual reviews: enable
includeReviewsand setmaxReviewsPerProduct. A product'sratingCountis an aggregate count, not the number of review rows you downloaded.
1. Enter a small, bounded input
Open the Actor in Apify Console and choose the JSON input editor. This is an illustrative configuration, not evidence of a completed run. It requests up to five products for one keyword and up to three reviews per product, ordered newest first. Limits are upper bounds; fewer results can be returned.
{
"searchQueries": ["kahve makinesi"],
"maxProductsPerSource": 5,
"includeProductDetails": false,
"includeReviews": true,
"maxReviewsPerProduct": 3,
"reviewSort": "NEWEST",
"autoProxyFallback": false,
"changesOnly": false
}
For known pages, replace searchQueries with startUrls, using entries such as {"url": "https://www.trendyol.com/fritoz-x-c1055"}. The product limit applies per source, so adding more URLs or keywords increases the possible total. Keep changesOnly off for a normal export; that mode deliberately omits unchanged products.
Review the limits and run options before selecting Start. No Actor run was launched to write this guide.
2. Check what the run actually collected
Open the finished run's Output and inspect both Table and JSON views. Also open its key-value store and read RUN_SUMMARY for counts, failed pages and the stop reason. A completed run can still contain partial results.
- Status rows: rows with
type: "status"describe problems such asunsupported_url,not_found,blockedorfailed. Keep them out of the product table and retain their messages separately for diagnosis. - Missing reviews: inspect
reviewsErrorwhen review requests are refused or rate-limited. An empty review result does not establish that the product has no reviews. - Challenges: if Trendyol presents an access challenge or the run reports blocked pages, stop and inspect the failure. The example leaves automatic proxy fallback disabled. This guide provides no login or challenge-bypass procedure.
Do not treat a capped, interrupted or blocked export as the complete catalogue or a complete review history. Product pages can disappear, fields can be unavailable, and Trendyol can change its responses.
3. Download the product price table
- From the run, open its dataset. Check the Products view against a few JSON records and keep
reviewsunexpanded so that each product occupies one row. Excludetype = statusrows and, for a current-price sheet, monitoring records withchangeType = removed. - Select Export, then choose CSV or Excel (XLSX). Select the price columns listed above and use the export preview to check the rows before downloading. A Console view may show only a subset of the available fields. Keep the raw JSON separately if you need fields outside that view.
- Keep
productIdandurlfor matching rows later. Save the input and collection time with the workbook so the source and scope remain clear.
price represents the displayed price, including a cart promotion when supplied by the source; sellingPrice is the seller price before cart promotions. originalPrice is the crossed-out reference price and can be null. These are collected snapshots, not checkout-price or discount guarantees.
When product details provide a price, the Actor replaces the listing price fields together. A missing reference price or discount becomes null, and listing-only promotion labels are cleared. When a detail price is unavailable, the listing snapshot is retained. Leave missing prices blank in Excel rather than replacing them with zero.
4. Download reviews as a separate table
Inspect JSON before choosing the review export. Build 1.0.14 documents one dataset item per product, with individual reviews nested in the product's reviews[] array when requested. Reviews are not separate recordType: "review" dataset records. Check your selected build's JSON and documentation before applying these steps to another build.
- Select the Actor's Reviews (expanded; may include products without reviews) view, then export CSV or Excel (XLSX). This view unwinds
reviews, merging each review's fields into its parent product row. The review field names below are top-level columns only after expansion. - Filter
reviewIdto nonblank values before saving a review-only sheet: expanded exports can retain products with missing or nullreviewsas rows with blank review columns. Confirm one review per row in the export preview. If needed, download JSON without a view or unwind and expandreviews[]in a spreadsheet query tool; missing, null or empty arrays contribute zero review rows. - Keep
productId,reviewId,reviewRating,reviewText,reviewDate,reviewLikes,reviewSellerNameandreviewVariantwhen available. Join reviews to products usingproductId.
Do not count repeated product prices in a review table as additional products. The review cap applies per product and the newest-first option controls ordering; neither guarantees a full historical export. The current input schema says reviewer names, height and weight are not collected.
5. Open and check the spreadsheet
XLSX avoids CSV delimiter choices. For CSV, use Excel's Data → From Text/CSV import, select UTF-8, and check the preview for Turkish characters and decimal separators. Import IDs as text and prices as numbers using the appropriate locale. Treat public review text as untrusted data: import text columns as text and do not execute formula-like cell contents.
Compare a few spreadsheet rows with the dataset, check for blank prices and review errors, and record the product and review row counts separately. Keep the original JSON if you need nested seller offers or attributes later. Product descriptions and a separate price for each size are outside the documented output.
Open the existing Trendyol Actor
Disclosure: Atesen Software publishes this guide and the Actor. Trendyol is a trademark of its owner; this guide and Actor are independent and are not endorsed by Trendyol.
Source check: 24 October 2026, released build 1.0.14 README, input and dataset definitions. These definitions document nested reviews and separate product-price and expanded-review exports. Export steps follow Apify's dataset documentation. Collection success and completeness have not been verified by a new run for this guide.
Review the current input and pricing before you start.