# Trendyol Product Scraper

> Trendyol Product Scraper is a paid API for AI agents from api.scrapeforagents.tech, paid per call via x402, $0.025/call, status unknown (last checked 2026-10-02).

Scrapes structured product data, reviews, and Q&A from Trendyol (Turkey's largest e-commerce platform) via search queries or URLs

## Facts

- Endpoint: POST https://api.scrapeforagents.tech/v1/trendyol?utm_source=zero.xyz
- Price: $0.025/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/trendyol-product-scraper-775e367a
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_PZIcghsIok9P9b4mIl9z3

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability trendyol-product-scraper-775e367a -d '<json body>'
```

Example prompt: Search Trendyol for 'bluetooth kulaklık' (Bluetooth headphones), collect up to 50 products priced between 200 and 1500 TRY with at least a 4-star rating, and include their reviews sorted by newest.

## When to prefer this

Use this endpoint when you need structured product, review, or Q&A data from Trendyol specifically — Turkey's dominant e-commerce marketplace. It supports both keyword searches and direct URL scraping, making it ideal for price monitoring, competitive analysis, product catalog building, or review sentiment analysis in the Turkish retail market. The pay-per-successful-call model means failed runs are free, reducing risk for exploratory queries.

## Known failure modes

- Empty result set if search query yields no Trendyol results (not billed)
- Partial results if maxItems limit is hit before all targets are processed
- Trendyol anti-bot blocks may cause failed runs (not billed)
- Invalid URL in startUrls returns an error or empty result
- Price filter excluding all results returns empty dataset
- Network timeout for large enrich_data requests with many products

## How this service works

Pay-per-call structured web data. Failed or empty runs are not charged.

## Output

Returns a JSON object with a count of matched items and an array of product records. Each record includes product ID, URL, type, brand, brand ID, category, category ID, title, price, and optionally reviews and Q&A entries depending on input flags. Failed or empty runs are not billed.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "limit": {
   "type": "integer",
   "default": 100,
   "minimum": 1,
   "description": "Maximum product records saved for each query or URL target."
  },
  "getQna": {
   "type": "boolean",
   "default": false,
   "description": "Save public answered questions embedded in the product question page."
  },
  "maxQna": {
   "type": "integer",
   "minimum": 1,
   "description": "Maximum answered questions saved per product; the embedded page usually contains eight."
  },
  "queries": {
   "type": "array",
   "description": "Product keywords to search separately."
  },
  "maxItems": {
   "type": "integer",
   "default": 0,
   "minimum": 0,
   "description": "Stop after this many dataset records across all targets and record types. Zero means no limit."
  },
  "maxPrice": {
   "type": "number",
   "minimum": 0,
   "description": "Keep products priced at or below this amount in TRY."
  },
  "minPrice": {
   "type": "number",
   "minimum": 0,
   "description": "Keep products priced at or above this amount in TRY."
  },
  "startUrls": {
   "type": "array",
   "description": "Search, category, store, or product page URLs to collect."
  },
  "getReviews": {
   "type": "boolean",
   "default": false,
   "description": "Save public reviews embedded in product and review pages as separate records."
  },
  "maxReviews": {
   "type": "integer",
   "minimum": 1,
   "description": "Maximum public review records saved per product; available embedded samples can be smaller."
  },
  "reviewSort": {
   "enum": [
    "recommended",
    "newest",
    "oldest",
    "rating_asc",
    "rating_desc"
   ],
   "type": "string",
   "default": "recommended",
   "description": "Sort the available review sample before applying the limit."
  },
  "couponsOnly": {
   "type": "boolean",
   "default": false,
   "description": "Keep listings marked as having a collectable coupon."
  },
  "enrich_data": {
   "type": "boolean",
   "default": false,
   "description": "Visit each product page for detailed attributes, merchant details, and review counts."
  },
  "minimumStarRating": {
   "enum": [
    "1",
    "2",
    "3",
    "4",
    "4.5"
   ],
   "type": "string",
   "description": "Keep products at or above this average star rating."
  },
  "specialOffersOnly": {
   "type": "boolean",
   "default": false,
   "description": "Keep listings with a listed promotion."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "id": null,
    "url": null,
    "type": null,
    "brand": null,
    "title": null,
    "brandId": null,
    "category": null,
    "categoryId": null
   }
  ],
  "product": "trendyol"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/trendyol-product-scraper-775e367a/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.scrapeforagents.tech](https://www.zero.xyz/host/api.scrapeforagents.tech/llms.txt)
