Trendyol Scraper: Products, Prices & Reviews (No login) avatar

Trendyol Scraper: Products, Prices & Reviews (No login)

Pricing

from $0.65 / 1,000 products

Go to Apify Store
Trendyol Scraper: Products, Prices & Reviews (No login)

Trendyol Scraper: Products, Prices & Reviews (No login)

Scrape Trendyol.com search results, product pages and customer reviews. No login. Prices in TRY with basket discount, seller, rating, stock, size and variant of each review. Clear not-found and error rows.

Pricing

from $0.65 / 1,000 products

Rating

0.0

(0)

Developer

Cliqto Media

Cliqto Media

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Categories

Share

Trendyol Scraper gets products, prices and customer reviews from Trendyol.com, the largest online marketplace in Turkey. Add a keyword, a search URL or product URLs, and get a clean table with price in TRY, basket discount, seller, rating, stock and reviews. No login and no cookies are needed.

Start with one Turkish keyword, for example kulaklık (headphones), and 20 results. This run takes about 5 seconds and costs $0.028 on the Free plan.

Trendyol Scraper: search Trendyol by keyword or product URL and get products with price, discount, rating and seller, plus customer reviews with size and variant

Table of contents

What it does

The Actor reads the public Trendyol website. It has three modes:

ModeYou addYou get
searchkeywords or Trendyol search URLsone row per product in the search results, in the same order as on the site
productproduct URLs or product IDsone row per product, with data from the product page
reviewsproduct URLs or product IDsone row per customer review

It works without a Trendyol account. It does not need a Turkish IP address: it uses the Apify datacenter proxy by default.

Good fit

  • Check prices and discounts of your products and your competitors on Trendyol.
  • Find which products and sellers appear first for a keyword, including paid (ad) listings.
  • Read what buyers say about a product, with the size and variant they bought.

Not a fit

  • Other Trendyol countries (only trendyol.com, prices in TRY).
  • Questions and answers (Q&A), seller pages and short ty.gl links are not supported.
  • Personal data: the Actor does not return reviewer names, body measurements or the legal details of sellers.

What data you get

Products: product ID, name, brand, category, price, basket price, old (strikethrough) price, discount percent, promotions, seller ID, rating, number of ratings, stock, free shipping, ad flag, variant, URL and images.

With product pages (product mode, or includeDetails in search) you also get: seller name, seller score, full category path, number of reviews, number of favourites, all attributes and all variants with stock.

Reviews: review ID, star rating, text, date, size and variant bought, fit feedback, helpful votes, verified-buyer flag, seller, photo URLs and language.

Every row has source, sourceUrl and fetchedAt, so you always know where and when the data was read.

Quick start

  1. Open the Input tab.
  2. Keep Mode = search.
  3. In Queries, keep kulaklık or add your own keyword.
  4. Keep Max items = 20.
  5. Click Start.
  6. Open the Output tab and check the Products view: name, price, discountedPrice, rating.

Expected result: 20 product rows for the keyword, in the same order as on trendyol.com.

Input

FieldTypeDefaultAllowed valuesWhat it does
modestringsearchsearch, product, reviewsWhat to collect.
queriesarray of stringsempty (prefill kulaklık)up to 20search mode: keywords or Trendyol search URLs (https://www.trendyol.com/sr?q=...). From a search URL the Actor takes only the search words (q=); other URL filters are not used.
productUrlsarray of stringsemptyup to 100product and reviews modes: product URLs (...-p-123456789) or numeric product IDs.
maxItemsinteger100 (prefill 20)1–1000search: products per query. reviews: reviews per product. product mode always returns one row per URL.
sortstringrelevancerelevance, price_asc, price_desc, newest, best_seller, most_favourite, most_ratedOrder of search results.
includeDetailsbooleanfalsetrue / falsesearch mode: also open each product page for seller name, attributes, variants and counts. Slower, same price per product.
skipSponsoredbooleanfalsetrue / falsesearch mode: leave out paid (ad) listings. Ads always have isSponsored: true.
reviewSortstringrelevancerelevance, newestOrder of reviews.
proxyConfigurationobjectApify proxy onApify proxy settingsChange only if you see blocked errors.

Good to know:

  • The same keyword in another letter case (Kulaklık and kulaklık) is read and paid only once. The same product twice is read only once.
  • A value that is not a Trendyol product (another website, a URL without an ID) gets a free error row. The other values still run.
  • With includeDetails: true the Actor uses 512 MB of memory instead of 256 MB and is slower (about 300 products in 2–3 minutes).

Input examples

Search with a sort order

{
"mode": "search",
"queries": ["kulaklık", "https://www.trendyol.com/sr?q=laptop"],
"maxItems": 100,
"sort": "price_asc",
"skipSponsored": true
}

Up to 100 products for each query, cheapest first, without ads.

Product pages

{
"mode": "product",
"productUrls": [
"https://www.trendyol.com/tarcin/air-pro-2-anc-gurultu-engelleyici-bluetooth-kulaklik-ios-android-tum-telefonlar-ile-uyumlu-kulaklik-p-819066262",
"946802869"
]
}

One row per product with seller name, seller score, category path, attributes and variants.

Newest reviews of a product

{
"mode": "reviews",
"productUrls": ["946802869"],
"maxItems": 20,
"reviewSort": "newest"
}

The 20 newest reviews, with size and variant.

Output

The dataset has two views: Products and Reviews. You can export it as JSON, CSV, Excel or HTML.

Product row example

From the quick start run (search, kulaklık, 20 items). The image list is shortened.

{
"recordType": "product",
"status": "complete",
"errorMessage": null,
"query": "kulaklık",
"position": 4,
"input": null,
"productId": "666158167",
"name": "Pro 5 Plus Kablosuz Bluetooth Kulaklık Bluetooth 5.3 TWS iOS Android Uyumlu HD Stereo Ses Dokunmatik Kılıf Hediyeli Şarj Kutulu",
"brand": "TrkTech",
"category": "Kulak içi TWS Bluetooth Kulaklık",
"categoryPath": null,
"price": 479.9,
"discountedPrice": null,
"originalPrice": 519.9,
"discountPercentage": 8,
"currency": "TRY",
"promotions": [],
"seller": null,
"sellerId": "260497",
"sellerScore": null,
"rating": 3.76,
"ratingCount": 28612,
"reviewCount": null,
"favoriteCount": null,
"inStock": true,
"freeShipping": true,
"isSponsored": true,
"variant": "Tek Ebat",
"variants": null,
"attributes": null,
"url": "https://www.trendyol.com/trktech/pro-5-plus-kablosuz-bluetooth-kulaklik-bluetooth-5-3-tws-ios-android-uyumlu-hd-stereo-ses-dokunmatik-kilif-hediyeli-sarj-kutulu-p-666158167",
"image": "https://cdn.dsmcdn.com/mnresize/400/-/ty1910/prod/QC_ENRICHMENT/20260728/10/9ec2e259-2706-3ae9-874d-68678b5a420a/1_org_zoom.jpg",
"images": ["https://cdn.dsmcdn.com/mnresize/400/-/ty1910/prod/QC_ENRICHMENT/20260728/10/9ec2e259-2706-3ae9-874d-68678b5a420a/1_org_zoom.jpg"],
"detailsIncluded": false,
"source": "trendyol.com",
"sourceUrl": "https://apigw.trendyol.com/discovery-sfint-search-service/api/search/products/?channelId=1&culture=tr-TR&countryCode=TR&storefrontId=1&language=tr&pageSize=36&pi=1&q=kulakl%C4%B1k&qt=kulakl%C4%B1k&st=kulakl%C4%B1k&os=1",
"fetchedAt": "2026-10-14T15:05:47.817Z"
}

seller, categoryPath, reviewCount, favoriteCount, variants and attributes are null here because the run did not open product pages. Use product mode or includeDetails: true to fill them.

Review row example

From the newest-reviews example above.

{
"recordType": "review",
"status": "complete",
"errorMessage": null,
"input": "946802869",
"productId": "946802869",
"productUrl": "https://www.trendyol.com/x/y-p-946802869",
"reviewId": "672788584",
"rating": 4,
"text": "guzel bir tisort ise yarar",
"date": "2026-10-14T03:40:54.974Z",
"lastModifiedAt": "2026-10-14T03:41:14.532Z",
"size": "M",
"variantAttribute": "Beden",
"variant": "M",
"fit": null,
"seller": "TEE NOVA",
"sellerId": "1146443",
"likesCount": 0,
"trusted": true,
"photos": [],
"language": "tr",
"source": "trendyol.com",
"sourceUrl": "https://apigw.trendyol.com/discovery-storefront-trproductgw-service/api/review-read/product-reviews/detailed?contentId=946802869&page=0&pageSize=50&order=DESC&orderBy=CreatedDate&channelId=1&countryCode=TR&culture=tr-TR&storefrontId=1&language=tr",
"fetchedAt": "2026-10-14T15:06:55.037Z"
}

productUrl is a short link to the product. Trendyol redirects it to the full product page.

All output fields

null means "the site does not show this value" or "this mode does not read it". It never means zero.

FieldTypeRowsMeaning
recordTypestringallproduct or review.
statusstringallcomplete; partial (search data only, the product page could not be read); not_found (no product with this ID, free); error (bad input or source failure, free).
errorMessagestring or nullallWhy a row is partial, not_found or error.
querystring or nullproductSearch query that found the product.
positioninteger or nullproductPlace in the search results, starting at 1.
inputstring or nullallYour product URL or ID as you gave it (product and reviews modes).
productIdstring or nullallTrendyol product ID.
name, brand, categorystring or nullproductProduct name, brand and category.
categoryPathstring or nullproductFull category path, for example Elektronik > Giyilebilir Teknoloji > Kulaklıklar > .... Product pages only.
pricenumber or nullproductSelling price in TRY.
discountedPricenumber or nullproductLower basket or campaign price in TRY, when the site shows one.
originalPricenumber or nullproductOld (strikethrough) price in TRY, when the site shows one.
discountPercentagenumber or nullproductDiscount from the highest shown price to the lowest one, in percent. null when there is no discount.
currencystring or nullproductTRY.
promotionsarrayproductPromotion labels, for example 300 TL'ye %10 İndirim.
sellerstring or nullbothSeller name. In search mode only with includeDetails. For reviews: where the buyer bought the item.
sellerIdstring or nullbothSeller ID.
sellerScorenumber or nullproductSeller score from 0 to 10. Product pages only.
ratingnumber or nullbothAverage rating 1–5 for a product; stars for a review.
ratingCountinteger or nullproductNumber of ratings.
reviewCount, favoriteCountinteger or nullproductNumber of written reviews and of favourites. Product pages only.
inStock, freeShippingboolean or nullproductCan be bought now; free delivery.
isSponsoredboolean or nullproducttrue for paid (ad) listings in search results.
variantstring or nullbothSelected size or colour; for reviews, the variant the buyer bought.
variantsarray or nullproductAll variants with stock: [{"value": "M", "inStock": true}]. Product pages only.
attributesobject or nullproductProduct attributes, name → value. Product pages only.
url, image, imagesstring / arrayproductProduct page URL, main image and all images.
detailsIncludedbooleanproducttrue if the product page was read.
productUrlstring or nullreviewLink to the product.
reviewId, textstring or nullreviewReview ID and text.
date, lastModifiedAtstring or nullreviewReview date and last edit date (ISO 8601, UTC).
size, variantAttributestring or nullreviewSize bought and the variant type, for example Beden (size) or Renk (colour).
fitstring or nullreviewBuyer's size-fit feedback, when given.
likesCountinteger or nullreviewHow many users found the review helpful.
trustedboolean or nullreviewtrue if Trendyol marks the buyer as verified.
photosarrayreviewPhoto URLs in the review.
languagestring or nullreviewReview language, for example tr.
source, sourceUrl, fetchedAtstringalltrendyol.com, the exact URL the row came from, and when it was read (ISO 8601, UTC).

Run summary

Each run also saves RUN_SUMMARY in the key-value store. It shows the result for each query or product (complete, no_results, not_found or error), row counts, charged counts and request statistics. Open it from the Output tab or with the API.

Pricing

You pay per event (pay-per-event). Platform usage is included in the price.

EventWhenFree planBronzeSilverGold and higher
Actor startonce per run$0.01$0.01$0.01$0.01
Productone product row saved$0.0009$0.00082$0.00073$0.00065
Reviewone review row saved$0.00065$0.00055$0.00047$0.00045

Free rows: not_found and error rows cost nothing. A run where nothing is found costs only the start event ($0.01). Product pages with includeDetails cost the same as normal product rows.

Examples on the Free plan:

RunRowsCostTime
1 keyword, 20 products (quick start)20$0.028about 5 s
1 keyword, 100 products100$0.10under 20 s
1 keyword, 1,000 products1,000$0.91about 20 s
100 reviews of one product100$0.075under 20 s
1,000 reviews of one product1,000$0.66about 40 s
20 keywords with no results0$0.01about 45 s
100 products × 1,000 reviews100,000$65about 70 min

Times come from our test runs; Trendyol's speed changes during the day. Reviews are read at about 25 per second.

To limit the cost, use Max items and the Maximum cost per run option in the run settings. When the limit is reached, the Actor stops and keeps the rows it already saved.

Use cases

JobMode and inputKey fields
Price check for your productsproduct, your product URLsprice, discountedPrice, originalPrice, inStock, seller
Keyword and ad trackingsearch, your main keywordsposition, isSponsored, brand, sellerId, rating
Category price researchsearch, a product-type keyword, sort: price_ascprice, discountPercentage, ratingCount
Review analysisreviews, reviewSort: newestrating, text, size, fit, date
Size and fit problemsreviews for clothes or shoessize, variant, fit, rating

Scheduling and monitoring

Create a task with your input and add an Apify schedule, for example every morning. Each run gives a new dataset with fetchedAt, so you can compare prices and positions over time. Use reviewSort: newest with a small maxItems to get only the latest reviews.

API, export and AI agents (MCP)

  • Export: download the dataset as JSON, CSV, Excel or HTML from the Output tab.
  • API: start the Actor and read the dataset with the Apify API. The API tab shows ready code for Python, JavaScript and cURL.
  • Integrations: send results to Google Sheets, Slack, Make, Zapier or a webhook after each run.

Use with AI agents (MCP)

Connect this Actor to Claude, Cursor or another MCP client with the Apify MCP server:

https://mcp.apify.com?tools=cliqtomedia/trendyol-scraper

Smallest useful input:

{ "mode": "search", "queries": ["kulaklık"], "maxItems": 20 }

Main fields: name, price (TRY), discountedPrice (basket price), rating, url. A run with 20 products takes about 5 seconds and costs $0.028 on the Free plan. Limits: 20 queries or 100 products per run, 1,000 items per query or product.

Limits and partial results

  • Up to 20 queries per run and up to 1,000 products per query (20,000 products in about 13 minutes).
  • Up to 100 product URLs per run, and up to 1,000 reviews per product. 100,000 reviews take about 70 minutes; the default run timeout is 2 hours.
  • Search results can change between runs: Trendyol personalises and updates its listings.
  • discountedPrice is the basket price that Trendyol shows to all visitors. Coupons and personal prices are not included.
  • If a query or a product fails because of a source error, the rows already saved stay in the dataset, the failed item gets a free error row, and the run ends with status Failed so you notice it. RUN_SUMMARY shows which item failed.
  • With includeDetails, a product whose page could not be read keeps its search data with status: partial.

Troubleshooting

No rows for a keyword. Check RUN_SUMMARY: no_results means Trendyol has no products for this keyword. Try Turkish words (kulaklık, not headphones) or copy the search URL from trendyol.com.

A product row says not_found. The product was removed from Trendyol or the ID is wrong. This row is free.

An error row. Read errorMessage. INVALID_INPUT means the value is not a Trendyol product URL or ID. Other errors come from the source; run the same input again later.

The run failed with a blocked or rate-limit message. Trendyol limited the requests. Run again later. Keep the default Apify proxy or try another proxy group in Proxy configuration.

FAQ

Do I need a Trendyol account or cookies? No. The Actor reads only public pages.

Which prices do I get? price is the selling price, discountedPrice is the lower basket price (if any), and originalPrice is the old strikethrough price (if any). All in TRY.

Why is seller empty in search? The search page shows only the seller ID. Turn on includeDetails or use product mode to get the seller name.

Are reviewer names included? No. To protect privacy, the Actor does not return reviewer names.

Is the data fresh? Yes. Each run reads Trendyol live. fetchedAt shows the time.

Support

For a bug or a feature request, open an issue in the Issues tab. Add the run ID, the mode and the error message. Do not share tokens or other private data.