Trendyol Scraper avatar

Trendyol Scraper

Pricing

from $1.00 / 1,000 product scrapeds

Go to Apify Store
Trendyol Scraper

Trendyol Scraper

[💰 $1.0 / 1K] Extract products and customer reviews from Trendyol — Turkey's largest marketplace. Search by keyword, paste category or seller pages, or supply direct product URLs. Reviews are opt-in and emitted as separate dataset rows.

Pricing

from $1.00 / 1,000 product scrapeds

Rating

0.0

(0)

Developer

SolidCode

SolidCode

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Pull products and customer reviews from Trendyol — Turkey's largest e-commerce marketplace — at scale, with brand, seller, pricing, discount, rating, favorite count, breadcrumb category path, variants, badges, customer images, reviewer level, verified-purchase flag, and seller responses on every row. Built for Turkish e-commerce sellers, cross-border dropshippers, brand managers, and market researchers who need a clean Trendyol catalog and review feed without wrestling with Turkish SPA pagination one tab at a time.

Why This Scraper?

  • Products and reviews in one run — opt into reviews per product (cap or unlimited) without spawning a second actor. One run, one dataset, two recordType rows: product and review.
  • Three Trendyol storefronts in one input — Turkey (TL), Azerbaijan (AZN), and the International store (USD/EUR). Flip a single dropdown to switch — currency, language, and /en/ path prefixes are handled for you.
  • Seven sort orders that match Trendyol's own UI — Best match, Newest, Price low-to-high, Price high-to-low, Best sellers, Most favorited, Most rated.
  • Six purpose-built filters — minimum star rating (3 / 4 / 4.5+), min and max price in the storefront's currency, free shipping, fast delivery, and discounted-only.
  • Mix any URL type in one list — search result pages (/sr?q=...), category pages (/<slug>-x-c<id>), seller / merchant pages (/magaza/...-m-<id>), and direct product URLs (/<brand>/<slug>-p-<id>). The actor auto-detects the URL shape.
  • Full Turkish UTF-8 preservedı, ş, ğ, ç, ö, ü in product names, category breadcrumbs, and review text are never ASCII-folded.
  • Split per-result pricing — $1.00 per 1,000 products plus $0.80 per 1,000 reviews. Reviews are off by default; turn them on only when you need them. No compute or platform-bandwidth surprises.
  • Per-source caps, not a single global limitmaxProductsPerSource defaults to 100, so a 10-URL run is bounded at 1,000 rows, never 50,000.
  • Variant roll-ups and full category breadcrumbs — every direct-product-URL row carries a variants[] array (attribute name, attribute value, price, in-stock, SKU) plus a categoryPath resolved all the way up to the storefront root.

Use Cases

Price & Discount Monitoring

  • Track competitor prices, strike-through originalPrice, and discountPercent across a category
  • Watch a seller's full catalog (/magaza/...) for repricing events
  • Compare the same product across Turkey, Azerbaijan, and the International storefront

Market & Trend Research

  • Map Turkish consumer demand by category — phones, beauty, fashion, home goods
  • Rank top brands and top sellers in any category using rating, reviewCount, and favoriteCount
  • Detect emerging best-sellers via the Best sellers / Most favorited / Most rated sort orders

Cross-Border Sourcing & Dropshipping

  • Build a product feed for resale on Etsy, eBay, Amazon, or Shopify
  • Pull product images, full category breadcrumbs, and brand names ready for catalog import
  • Filter for freeShippingOnly or fastDeliveryOnly to find sellers ready to ship internationally

Review Sentiment & Product Quality Tracking

  • Pull every review for a flagship product (including unlimited mode) with rating, text, reviewer level, verified-purchase flag, helpful count, customer images, and seller responses
  • Spot quality issues by mining 1-star reviews across a brand's catalog
  • Quantify trust signals — Trendyol Elite reviewers and verified-purchase ratios

Brand & Seller Outreach

  • Build seller contact lists from /magaza/ pages
  • Identify high-volume Trendyol-only brands for direct partnership
  • Audit how sellers respond to negative reviews via the sellerResponse field

Getting Started

The cheapest path — products only, no reviews:

{
"searchQueries": ["erkek spor ayakkabı"],
"maxProductsPerSource": 100
}

Products plus reviews with a cap

Enrich each product with up to 50 reviews:

{
"searchQueries": ["kahve makinesi", "iPhone 15"],
"maxProductsPerSource": 50,
"includeReviews": true,
"maxReviewsPerProduct": 50
}

Direct product URLs with a tight rating filter

Paste any Trendyol product URL and add minimum rating and a price band:

{
"startUrls": [
"https://www.trendyol.com/apple/iphone-15-128-gb-p-755253562",
"https://www.trendyol.com/samsung/galaxy-s24-256-gb-p-829145673"
],
"minRating": "4.5",
"minPrice": 30000,
"maxPrice": 80000,
"includeReviews": true,
"maxReviewsPerProduct": 100
}

Category sweep on the International storefront

Sort by best sellers, switch to the International store, capture EUR prices:

{
"startUrls": [
"https://www.trendyol.com/en/sr?q=coffee+maker"
],
"sort": "best_seller",
"country": "international",
"discountedOnly": true,
"maxProductsPerSource": 200
}

Input Reference

Sources

ParameterTypeDefaultDescription
searchQueriesstring[]["erkek spor ayakkabı"]Turkish or English search terms. Each keyword runs as its own search. Leave empty if you only use URLs below.
startUrlsstring[][]Trendyol URLs to scrape. Mix search pages, category pages, seller pages, and direct product URLs in one list — the URL shape is auto-detected.

Limits

ParameterTypeDefaultDescription
maxProductsPerSourceinteger100Maximum product rows per search keyword, category URL, or seller URL. Direct product URLs always return exactly one product and ignore this cap. Set to 0 for unlimited (Trendyol caps deep pagination around ~50 pages per search).
includeReviewsbooleanfalseWhen on, fetch customer reviews for every product returned and emit them as separate recordType: "review" rows. Off by default — reviews are billed at a separate per-row rate.
maxReviewsPerProductinteger50Maximum review rows per product. Ignored when includeReviews is off. Set to 0 to fetch every review Trendyol exposes (can be thousands on flagship items).

Sort & filter

ParameterTypeDefaultDescription
sortselectBest match (default)Best match (default), Newest first, Price: low to high, Price: high to low, Best sellers, Most favorited, or Most rated. Ignored on direct product URLs.
minPriceinteger(none)Only include products priced at or above this value, in the storefront's currency.
maxPriceinteger(none)Only include products priced at or below this value, in the storefront's currency.
minRatingselectAny ratingAny rating, 3 stars and up, 4 stars and up, or 4.5 stars and up.
freeShippingOnlybooleanfalseOnly include products eligible for free shipping.
fastDeliveryOnlybooleanfalseOnly include products tagged with Trendyol's fast-delivery / same-day badge.
discountedOnlybooleanfalseOnly include products currently on sale (showing a strike-through original price).

Localization

ParameterTypeDefaultDescription
countryselectTurkey (trendyol.com — TL)Storefront to target. Turkey (trendyol.com — TL), Azerbaijan (trendyol.az — AZN), or International (trendyol.com/en — USD/EUR). Determines currency, language, and which catalog is searched.

Output

Every row carries a recordType field — product or review — so you can filter or split the dataset cleanly downstream.

Product (recordType: "product")

{
"recordType": "product",
"productId": "755253562",
"productUrl": "https://www.trendyol.com/apple/iphone-15-128-gb-p-755253562",
"productName": "Apple iPhone 15 128 GB (Apple Türkiye Garantili)",
"brandName": "Apple",
"brandId": 110197,
"sellerName": "Apple Authorized Reseller",
"sellerId": "968413",
"price": 49999.0,
"originalPrice": 59999.0,
"discountPercent": 17,
"currency": "TRY",
"rating": 4.7,
"reviewCount": 3113,
"favoriteCount": 57000,
"inStock": true,
"imageUrl": "https://cdn.dsmcdn.com/ty1234/product/media/images/iphone-15.jpg",
"images": ["https://cdn.dsmcdn.com/ty1234/product/media/images/iphone-15.jpg"],
"categoryPath": ["Elektronik", "Telefon", "Cep Telefonu"],
"variants": [
{ "attributeName": "Renk", "attributeValue": "Siyah", "price": 49999.0, "inStock": true, "sku": "IPH15-128-BLK" }
],
"productCode": "MTP63TU/A",
"badges": ["FastDelivery", "FreeShipping"],
"sourceUrl": "https://www.trendyol.com/sr?q=iPhone+15",
"scrapedAt": "2026-05-16T10:30:00Z"
}

Core fields

FieldTypeDescription
recordTypestringAlways "product"
productIdstringTrendyol's internal product id (extracted from URL -p-<id>)
productUrlstringCanonical product detail URL
productNamestringFull product title
productCodestringMerchant SKU or model code when shown (direct-product-URL rows only)
inStockbooleanAt least one variant is buyable
imageUrlstringPrimary product image (CDN URL)
imagesstring[]All product image URLs
categoryPathstring[]Breadcrumb e.g. ["Erkek", "Ayakkabı", "Spor Ayakkabı"]
badgesstring[]Visible badges (e.g., ["FastDelivery", "FreeShipping", "Discounted"])
variantsobject[]Per-variant breakdown — [{ attributeName, attributeValue, price, inStock, sku }]. Populated only for direct-product-URL rows.
sourceUrlstringThe search / category / seller URL this row was discovered from
scrapedAtstringISO 8601 timestamp of extraction

Brand & seller

FieldTypeDescription
brandNamestringBrand name (e.g. "Nike", "Apple")
brandIdintegerTrendyol brand id when available
sellerNamestringMerchant / store name (direct-product-URL rows only)
sellerIdstringMerchant id

Price & popularity

FieldTypeDescription
pricenumberCurrent sale price
originalPricenumberStrike-through price when discounted
discountPercentinteger0–100 percent off
currencystringTRY, AZN, USD, or EUR depending on storefront
ratingnumberAverage customer rating 0.0–5.0
reviewCountintegerTotal reviews on the product
favoriteCountintegerHow many shoppers have favorited the product (from Trendyol's social-proof bar; populated for listing-sourced rows)

Direct product URL extras

These fields are only present on rows extracted from a direct product URL (startUrls containing ...-p-<id>):

FieldTypeDescription
slugDriftbooleantrue when Trendyol returned a different product id than the one in the input URL (the original may have been delisted). Use this to filter unexpected rows.
requestedProductIdstringThe product id that was in your input URL — for joining against productId when slug drift occurs.

Review (recordType: "review")

Emitted only when includeReviews: true. Capped at maxReviewsPerProduct per product.

{
"recordType": "review",
"reviewId": "412598834",
"productId": "755253562",
"productUrl": "https://www.trendyol.com/apple/iphone-15-128-gb-p-755253562",
"productName": "Apple iPhone 15 128 GB (Apple Türkiye Garantili)",
"rating": 5,
"reviewText": "Ürün hızlı geldi, kutusu sağlamdı. Renk fotoğraftaki gibi.",
"reviewDate": "2026-04-22",
"reviewerName": "M*** S.",
"reviewerLevel": "Trendyol Elite",
"isVerifiedPurchase": true,
"helpfulCount": 14,
"sellerResponse": "Memnuniyetiniz bizim için çok değerli, teşekkür ederiz.",
"images": ["https://cdn.dsmcdn.com/ty1234/review/images/iphone-15-buyer-1.jpg"],
"variantInfo": "Beden: 128 GB, Renk: Siyah",
"scrapedAt": "2026-05-16T10:30:05Z"
}
FieldTypeDescription
recordTypestringAlways "review"
reviewIdstringTrendyol's review id
productIdstringParent product id (denormalized for joins)
productUrlstringParent product URL
productNamestringParent product name (denormalized)
ratinginteger1–5 stars for this review
reviewTextstringCustomer comment (may be empty for star-only reviews)
reviewDatestringISO date the review was posted
reviewerNamestringDisplay name (often initials, e.g. "M*** S.")
reviewerLevelstringTrendyol's reviewer tier label (e.g. Trendyol Elite)
isVerifiedPurchasebooleanTrue when Trendyol marks the reviewer as a verified buyer
helpfulCountintegerHelpful / like count on the review
sellerResponsestringMerchant's reply to the review when present
imagesstring[]Customer-uploaded image URLs (common on apparel and electronics)
variantInfostringWhich variant the reviewer bought (e.g. "Beden: 42, Renk: Siyah")
scrapedAtstringISO 8601 timestamp of extraction

Tips for Best Results

  • Start small. Set maxProductsPerSource to 20–50 on your first run to confirm the data matches your needs, then scale up.
  • Use the most specific URL you have. Paste the exact Trendyol category URL from the site breadcrumb (/<slug>-x-c<id>) instead of a broad keyword — you'll get a tighter, more consistent catalog sweep.
  • Reviews are the cost driver. Leave includeReviews off when you're only price-tracking. Turn it on with a tight maxReviewsPerProduct (e.g. 20) when you need sentiment data without paying for every comment on a 3,000-review flagship.
  • Storefront determines currency. The Turkey store returns TRY, Azerbaijan returns AZN, and the International store returns USD or EUR depending on geo — pick the storefront that matches your analytics. The currency field is always populated so you never have to guess.
  • Sort matters for limited runs. With maxProductsPerSource: 50, sort: "best_seller" gives you the 50 most-bought items, while sort: "most_rated" gives you the 50 with the most review activity — very different lists.
  • Tight filters need a higher cap. Filters like minRating: "4.5" plus discountedOnly: true are applied to each result page after fetch — Trendyol may need to scan several pages before your cap fills. Raise maxProductsPerSource by 2–3× when stacking strict filters.
  • Mix every source type in one run. Two search keywords, three category URLs, and ten direct product URLs can all live in the same input — one billed start, one combined dataset.
  • Direct product URLs can drift. Trendyol occasionally reassigns an old product id to a different SKU. When that happens you'll see slugDrift: true and requestedProductId on the row plus a one-line note in the final status message — filter on slugDrift to quarantine those rows.

Pricing

$1.00 per 1,000 products plus $0.80 per 1,000 reviews. Reviews are opt-in via includeReviews and capped via maxReviewsPerProduct — you control review cost.

WorkloadProductsReviewsCost
Quick lookup1000$0.10
Small market scan1,0005,000 (avg 5/product)$5.00
Full category sweep10,000100,000 (avg 10/product)$90.00
Enterprise pull100,0002,500,000 (avg 25/product)$2,100.00

A "product" is any row with recordType: "product"; a "review" is any row with recordType: "review". Leave includeReviews off and you only pay the product rate — the small market scan above becomes 1,000 × $0.001 = $1.00. Platform fees (compute, storage) are billed by Apify, not by this actor, and have a small fixed startup cost per run — they amortize away at scale (50+ rows per run) but dominate on tiny runs.

Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

  • Zapier / Make / n8n — Workflow automation
  • Google Sheets — Direct spreadsheet export
  • Slack / Email — Notifications on new results
  • Webhooks — Trigger custom APIs on run completion
  • Apify API — Full programmatic access

This actor is designed for legitimate market research, competitive intelligence, lead generation, and catalog enrichment. Users are responsible for complying with applicable laws and Trendyol's terms of service, including making reasonable-rate requests and respecting any content usage rules for product images, descriptions, and customer reviews. Do not use extracted data for spam, harassment, defamation, or any illegal purpose. Be especially mindful when handling customer review content — treat reviewer names and uploaded images as personal data.