Amazon & Trendyol Product Price Scraper avatar

Amazon & Trendyol Product Price Scraper

Pricing

from $2.00 / 1,000 price & buybox trackeds

Go to Apify Store
Amazon & Trendyol Product Price Scraper

Amazon & Trendyol Product Price Scraper

Extract visible product prices, seller details, ratings and availability from public Amazon and Trendyol pages. Use structured snapshots for marketplace research. Blocked pages and missing fields can limit results.

Pricing

from $2.00 / 1,000 price & buybox trackeds

Rating

0.0

(0)

Developer

Scopras Data Labs

Scopras Data Labs

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

a day ago

Last modified

Share

Amazon & Trendyol Price and Buy Box Tracker

Track public Amazon and Trendyol product pages for price, seller, availability and Buy Box signals — and get the change since the last run, not just today's number.

Give it direct product URLs, or give it a search / listing URL and let it find the product links.

Trendyol note: Trendyol blocks data-center IPs. For Trendyol URLs set proxyGroups to ["RESIDENTIAL"], otherwise those pages come back as blocked (blocked pages are never billed). Amazon works with the default proxy.

{
"startUrls": [
{ "url": "https://www.amazon.com/dp/B0EXAMPLE" },
{ "url": "https://www.trendyol.com/marka/urun-adi-p-123456" }
],
"searchUrls": [
{ "url": "https://www.amazon.com/s?k=mechanical+keyboard" }
],
"marketplace": "auto",
"maxProducts": 50,
"includeUnchanged": false,
"useApifyProxy": true,
"proxyGroups": ["RESIDENTIAL"]
}
{
"marketplace": "trendyol",
"url": "https://www.trendyol.com/marka/urun-adi-p-123456",
"productId": "123456",
"title": "Marka Kablosuz Kulaklık",
"brand": "Marka",
"price": 1299.9,
"currency": "TRY",
"seller": "Marka Resmi Mağaza",
"buyBoxSeller": "Marka Resmi Mağaza",
"isBuyBoxWinner": true,
"availability": "InStock",
"rating": 4.4,
"reviewCount": 2841,
"offersObserved": 3,
"previousPrice": 1499.9,
"priceChange": -200,
"priceChangePercent": -13.34,
"status": "ok",
"checkedAt": "2026-08-28T09:00:00.000Z",
"error": null
}

What this does that a generic scraper does not

Every row carries its own history. previousPrice, priceChange and priceChangePercent are computed against the snapshot stored in the run's key-value store, so a scheduled run is a change feed, not a re-scrape. Point snapshotKeyValueStoreId at a named store to keep one history across runs.

Prices come out as numbers, in the right magnitude. "1.299,90" and "1,299.90" are parsed to the same amount. priceText keeps the original string so you can audit the parse.

A challenge page is never a price. Amazon and Trendyol return consent, captcha and bot-protection pages under load. Those become status: "blocked" and are never turned into a fabricated 0 or a stale number.

Proxy is on by default. Both marketplaces block most datacenter IPs. A direct request is tried first; if it is empty or challenged and useApifyProxy is on, the page is retried through Apify Proxy with rotation. RESIDENTIAL is the most reliable group for marketplace pages.

Discovery is bounded. Search / listing URLs contribute the product links found on the page, capped by maxProducts. The run never wanders past the cap.

Input

FieldWhat it does
startUrlsDirect Amazon / Trendyol product URLs
searchUrlsSearch or listing URLs; product links on them are added, up to maxProducts
marketplaceauto, amazon or trendyol — filter seeds to one marketplace
maxProductsHard cap on unique product pages fetched (1–500)
requestTimeoutSecsPer-request timeout (5–120)
includeUnchangedKeep rows with no price / seller / Buy Box change
currencyOptional currency-code label; blank keeps the marketplace currency
snapshotKeyValueStoreIdNamed KV store for cross-run price history; blank uses the shared default
useApifyProxyRetry blocked pages through Apify Proxy (recommended on)
proxyGroupsOptional proxy groups such as RESIDENTIAL

Output

One row per product: identity, price / currency / priceText, seller / buyBoxSeller / isBuyBoxWinner, availability, rating, reviewCount, offersObserved, and the previousPrice / priceChange / priceChangePercent delta. Only pages that were read successfully become dataset rows. Blocked, unreadable or unsupported URLs are not added to the dataset; they are listed with a reason under failures (and rejected inputs under skippedInputs) in the SUMMARY record, so a run is always auditable. A failed page never overwrites the last good price in the history store. Only public amazon.* and trendyol.com URLs are accepted; duplicates of the same product are fetched once.

Limits, stated plainly

  • No JavaScript rendering. Prices drawn purely client-side with no markup come back thin; status says not-found rather than guessing.
  • Buy Box is a signal, not a scrape of the offer listing. buyBoxSeller mirrors the seller shown on the product page; offersObserved counts offer-bearing JSON-LD blocks.
  • Discovery only sees links on the page given. It does not paginate a search result set.
  • Use this Actor lawfully and respect each marketplace's terms, robots rules, rate limits and applicable competition / data-protection law.

Built alongside Scopras, an audit tool that grades a store's product data against what AI shopping agents need.