Trendyol Product Scraper - Prices, Ratings & Sellers avatar

Trendyol Product Scraper - Prices, Ratings & Sellers

Pricing

from $8.32 / 1,000 results

Go to Apify Store
Trendyol Product Scraper - Prices, Ratings & Sellers

Trendyol Product Scraper - Prices, Ratings & Sellers

Scrape Trendyol product search and listings: title, brand, price, original price, discount, rating, review count, seller, stock, variants, category and images. Filter by keyword, price, brand and sort. Export to JSON, CSV or Excel.

Pricing

from $8.32 / 1,000 results

Rating

0.0

(0)

Developer

Scrapers Lat

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

Trendyol Product Scraper - Prices, Ratings & Sellers

Trendyol Product Scraper - Prices, Ratings & Sellers

Here is one real result. Trendyol's storefront is behind a managed challenge and was serving gated/empty responses at the time this README was captured, so the run below returned the actor's honest informational record rather than a populated product (no fabricated sample is shown). Every per-product field the actor returns is documented in the Output reference below.

{
"error": "No products found for the given input on Trendyol. Try a different search term or check the URL. You were NOT charged for this run.",
"source": "Trendyol",
"observedAt": "2026-08-15T10:55:55.913Z"
}

The most complete Trendyol product scraper available. When the storefront clears, it returns every listing field the search exposes for each product, plus full specifications, all images, variants and the seller's legal name, city, tax and registration numbers when you enable details, and gives you keyword, price, brand and sort controls to target exactly the products you need.

📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples

Apify Coverage Output Billing

Table of contents

What it does

The actor searches Trendyol for each keyword (or reads the search/category/product URLs you pass), paginates through the matching products, and writes one normalized record per product to the run's dataset. Each listing record carries the product id, title, brand, current and original price, discount, currency, rating, review count, category, stock and images. With withDetails on (the default), each product's detail page is fetched to add full specifications, all images, variant count and sizes, and the seller's legal name, city, tax number and trade registration number.

Trendyol fronts its storefront with a managed challenge; the actor clears it through a hosted solver and stays HTTP-only. When the storefront returns no products for an input, the actor writes a single informational record and does not charge. Missing source values are returned as null; nothing is invented.

Quickstart

Open the actor, paste this into the input, and press Run. It searches best-selling phones and returns up to 10 with full details.

{
"searchQueries": ["telefon"],
"maxProducts": 10,
"withDetails": true,
"sortBy": "BEST_SELLER"
}

Provide at least one searchQueries term or a Trendyol URL in startUrls. Turn withDetails off for faster listing-only rows.

Input reference

FieldTypeRequiredDefaultDescription
searchQueriesstring[]conditional["telefon"]Search terms, for example telefon, elbise, laptop. Each runs its own paginated search. Required unless startUrls is given.
startUrlsstring[]conditional(empty)Trendyol search/category listing URLs or individual product URLs to scrape directly.
withDetailsbooleannotrueFetch each product's detail page for full specs, all images, variants/sizes and seller legal info. Off returns faster listing-only rows.
sortByenumnoRELEVANCERELEVANCE, BEST_SELLER, MOST_RATED, MOST_FAVOURITE, NEWEST, PRICE_LOW_TO_HIGH, PRICE_HIGH_TO_LOW.
minPriceintegerno(none)Keep only products at or above this price.
maxPriceintegerno(none)Keep only products at or below this price.
brandsstring[]no(any)Brand names to keep, case-insensitive, for example ["Samsung","Apple"].
maxProductsintegerno30Maximum products across all searches. Free plans are capped at 10.

Output reference

One dataset item per product. Types: integer, number, string, boolean, string[], or null when the source value is absent. Fields marked (details) are only populated when withDetails succeeds.

FieldTypeDescription
productIdintegerTrendyol product/content id.
titlestringProduct name.
brandstringBrand name.
pricenumberCurrent selling price in the storefront currency.
originalPricenumberOriginal (pre-discount) price.
discountPercentintegerDiscount percentage off the original price.
currencystringStorefront currency symbol/code.
ratingnumberAverage customer rating (0 to 5).
reviewCountintegerNumber of ratings/reviews.
inStockbooleanWhether the product is in stock.
categoryNamestringProduct category name.
imagestringPrimary image URL.
imagesstring[]All image URLs.
urlstringProduct page URL.
searchQuerystringSearch term that produced this record.
sellerNamestringSeller/merchant display name (details).
sellerOfficialNamestringSeller legal/registered company name (details).
sellerCitystringSeller city (details).
sellerTaxNumberstringSeller tax number (details).
sellerRegistrationNumberstringSeller trade registration number (details).
specsstringProduct specifications as name: value pairs (details).
variantCountintegerNumber of variants (details).
sizesstring[]Available sizes (details).
sourcestringAlways Trendyol.
observedAtstringISO 8601 timestamp of when the record was collected.
errorstringnull on success. On a no-product or failed run, a single item with a populated error field is written and not charged.

Example output record

The full per-product record includes the fields above (productId, title, brand, price, originalPrice, discountPercent, currency, rating, reviewCount, inStock, categoryName, image, images, url, and the seller*, specs, variantCount, sizes detail fields). At capture time the storefront was gated, so the actor returned this honest record instead of a populated product:

{
"error": "No products found for the given input on Trendyol. Try a different search term or check the URL. You were NOT charged for this run.",
"source": "Trendyol",
"observedAt": "2026-08-15T10:55:55.913Z"
}

Run via API and CLI

Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.

Run synchronously and get dataset items in one call:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~trendyol-products-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"searchQueries":["telefon"],"sortBy":"BEST_SELLER","maxProducts":25}'

Start a run asynchronously:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~trendyol-products-scraper/runs?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"searchQueries":["laptop"],"minPrice":10000,"brands":["Apple"],"maxProducts":100}'

Apify CLI:

apify call scrapers_lat/trendyol-products-scraper \
--input '{"searchQueries":["elbise"],"maxProducts":10}'

Fetch results

Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginate large datasets
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"

<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.

Billing and limits

  • Pay per result. You are charged per product returned (result event). See the pricing tab for the current per-result price.
  • Details add-on. When withDetails is on and a detail page is fetched successfully, an additive details charge is applied on top of the base result. It is never charged if the detail fetch fails.
  • No charge on failure. If a run finds no products or errors, the actor writes a single item with a populated error field and does not charge for it. Empty runs cost nothing.
  • Spend cap respected. Set maxTotalChargeUsd on the run; once reached, the actor stops emitting and charging further billable results.
  • Free Apify plans are capped at 10 products per run. Upgrade for higher maxProducts.

FAQ and troubleshooting

A run returned only an error record. Why? Trendyol serves its storefront behind a managed challenge and can return empty result sets for some solver sessions or during regional gating. Retry, change the search term, or pass an explicit startUrls product URL. No-product runs are not charged.

Do I get the seller's legal details? Yes, when withDetails is on and the detail page exposes them: legal company name, city, tax number and trade registration number.

Which currency are prices in? The storefront currency (Turkish Lira for the .com.tr storefront), returned in currency alongside the numeric price.

Can I scrape a single product? Yes. Put its product URL in startUrls; the actor builds the record and fills the detail fields.

Is this an official Trendyol tool? No. This actor is independent and has no affiliation with Trendyol. It reads only data that is publicly visible on the storefront. All trademarks belong to their owners.

More scrapers at scrapers.lat

Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.


Independent tool, not affiliated with Trendyol. Accesses only publicly available product data. All trademarks belong to their owners.